Ein Algorithmus zur Berechnung

von Ganzheitsbasen in algebraischen Funktionenkörpern

Dissertation zur Erlangung des Grades

Doktor der Naturwissenschaften - Dr. rer. nat. -

vorgelegt beim

Fachbereich Mathematik und Informatik der Universität Duisburg-Essen

von Diplom-Mathematikerin

Elena Mattig aus Bikin (Rußland)

Vorsitzender: Prof. Dr. Karl-Josef Witsch, Universität Essen

Erster Gutachter: Prof. Dr. Henning Stichtenoth,

Universität Essen

Zweiter Gutachter: Prof. Dr. Tom Høholdt, Technical University of Denmark

Tag der mündlichen Prüfung: 25.07.2003

Danksagung

Zu allererst möchte ich mich ganz herzlich bei meinem Betreuer Henning Stichtenoth bedanken für seine ständige Bereitschaft zur Hilfe und zur Beratung, für seine große Geduld und Unterstützung während meiner gesamten Promotionszeit.

Des weiteren möchte ich mich bei Professor Peter Roquette und seiner Frau Erika dafür bedanken, dass es durch ihre Anstrengungen und Mühe für mich möglich geworden ist, in diesem Land meine Doktorarbeit zu schreiben.

Ich bedanke mich bei S. I. Aleschnikov, der mein Interesse an dieser Wissenschaft entstehen ließ und mich in ihr unterrichtet hat.

Ich danke meinen Eltern und meiner Freundin Steffi, die mich in schwierigen Zeiten stets aufgemuntert und gefördert haben.

Inbesondere danke ich meinem geliebten Ehemann Dirk, der die ganze Zeit und in jeder Hinsicht zu mir gestanden hat.

Inhaltsverzeichnis

1 Einleitung 2

2 Grundlagen 5 2.1 Algebraische Funktionenkörper 5 2.2 Erweiterungen algebraischer Funktionenkörper 9 2.3 Türme algebraischer Funktionenkörper 12

3 Basen für die Vektorräume L(rP′_{∞}) 13 3.1 Vorbereitungen 13 3.2 Ganzheitsbasen für Holomorphieringe in einer endlichen separablen

Funktionenkörpererweiterung 14 3.3 Ein Ganzheitskriterium 15 3.4 Ganzheitsbasen für F′/𝔽_{q}(x) 15 3.5 Ganzheitsbasen für F′/𝔽_{q}(x) mit modulo m paarweise inkongruenten

Polordnungen an der Stelle P′_{∞} 27 3.6 Basis des Vektorraums L(rP′_{∞}) 32 3.7 T -Mengen 32 3.8 Ablauf der Algorithmen 3.4.6 und 3.5.3 über 𝔽_{p} 34 3.9 Ein Algorithmus zur Berechnung einer Basis von L(rP′_{∞}) 36

4 Ganzheitsbasen in einem Turm (F_{n})_{n≥0} algebraischer Funktionenkörper und Basen für die Vektorräume L (rP_{∞}^{(n)}) 37 4.1 Vorbereitungen 37 4.2 Eine Basis für F_{n}/F_{0} nach Punkt (2) in Abschnitt 3.1 42 4.3 Die Zahl Q nach Punkt (4) in Abschnitt 3.1 43 4.4 Anwendung von Algorithmus 3.9.1, seine Komplexität und Implemen-

tierung in der Programmiersprache von Maple 7 45 4.4.1 Grundlegende Komplexitätsabschätzungen 45 4.4.2 Vorbereitungen zum Programm 46 4.4.3 Berechnung der Basis {w_{1}, …, w_{m}} für F_{n}/F_{0} 48 4.4.4 Berechnung der Zahl Q = p^{a} 50 4.4.5 Berechnung der Basisdarstellungen von w_{1}^{Q}, …, w_{m}^{Q} 51 4.4.6 Berechnung der Polynome D_{1}, …, D_{m} 63 4.4.7 Berechnung der Mengen T_{1}, …, Tm̄ und ein Disjunktionstest

für die Indexmengen J_{1}, …, Jm̄ 64 4.4.8 Berechnung einer Ganzheitsbasis für F_{n}/F_{0} 66 4.4.9 Berechnung einer Ganzheitsbasis für F_{n}/F_{0} mit modulo m

paarweise inkongruenten Polordnungen an der Stelle P_{∞}^{(n)} 73 4.4.10 Berechnung einer Basis von L (rP_{∞}^{(n)}) 75 4.4.11 Die Komplexität des Algorithmus 3.9.1 in Abhängigkeit von

der Anzahl der rationalen Stellen von F_{n}/𝔽_{p^{2}} 76 4.4.12 Ein Beispiel 76

5 Kummersche Erweiterungen 𝔽_{q}(x, y)/𝔽_{q}(x) mit vielen rationalen Stellen für Char 𝔽_{q} = 2 83

Literatur 90

1 Einleitung

Aus der Kodierungstheorie ist bekannt, dass die Gilbert-Varshamov Schranke (GV-Schranke) die Existenz langer Codes garantiert, deren Güte mindestens diese Schranke erreicht. Man weiß zwar von der Existenz von langen alternanten Codes, die die GV-Schranke erreichen, aber man kennt keine explizite Beschreibung dieser Codes. Im Jahr 1980 hat Goppa [Gop] mit Hilfe der Theorie der algebraischen Kurven eine neue Familie von Codes konstruiert, die heutzutage als algebraisch-geometrische Codes (AG-Codes) bekannt sind. Die Güte eines AG-Codes hängt ab von dem Quotienten N/g der zwei Parameter, die zu einer algebraischen Kurve C über 𝔽_{q}, bzw. zu einem Funktionenkörper F/𝔽_{q} gehören. N = N(C) ist die Anzahl der rationalen Punkte auf der Kurve C, bzw. der rationalen Stellen des Funktionenkörpers F/𝔽_{q}, und g ist das Geschlecht der Kurve C, bzw. des Funktionenkörpers F/𝔽_{q}. Gute lange AG-Codes bekommt man, wenn N/g groß ist. Die Drinfeld-Vlădut Schranke (DV-Schranke) gibt allerdings eine obere Abschätzung für diesen Quotienten: sei N_{q}(g) := max{ N(C) | C ist eine Kurve über 𝔽_{q} vom Geschlecht g}, dann gilt

lim sup_{g→∞} \frac{N_{q}(g)}{g} ≤ \sqrt{q} − 1.

Im Jahr 1982 haben Tsfasman, Vlădut und Zink [Tsf-Vla-Zin] die Existenz von Kurven bewiesen, die als modulare Kurven bekannt sind, und deren Quotienten N/g die DV-Schranke asymptotisch erreichen, falls q ein Quadrat ist. Konstruiert man auf solchen Kurven AG-Codes, so haben diese eine große Länge und eine Güte, die in einem gewissen Bereich die GV-Schranke übersteigt. Dies war ein Ergebnis, das man bis zum damaligen Zeitpunkt in der Kodierungstheorie für unerreichbar gehalten hatte. Da Tsfasman, Vlădut und Zink nur die Existenz von solchen Kurven bewiesen hatten, aber keine explizite Darstellung von ihnen angegeben hatten, entstand die Herausforderung, nach expliziten Darstellungen von Kurven zu suchen, auf denen solche Codes konstruiert werden können.

In den Jahren 1995 und 1996 haben Garcia und Stichtenoth [Gar-Sti 1], [Gar-Sti 2] einen wesentlichen Schritt geleistet, indem sie eine explizite Beschreibung zweier Sequenzen von algebraischen Kurven (bzw. Türmen algebraischer Funktionenkörper) angegeben haben, die die DV-Schranke erreichen. Da man für eine explizite Beschreibung eines auf einer dieser Kurven konstruierten AG-Codes eine Basis des Vektorraums L(rP_{∞}) braucht, der sämtliche Funktionen mit genau einem Pol im unendlichen Punkt P_{∞} und mit Polordnungen nicht größer als r enthält, entstand die Frage, wie man nun diesen Vektorraum L(rP_{∞}) beschreibt.

Zu diesem Thema sind folgende Arbeiten veröffentlicht worden. Für den in [Gar-Sti 1] konstruierten Turm von Funktionenkörpern (F_{n})_{n≥0} (dieser wird auch erster Garcia-Stichtenoth Turm (GS-Turm) genannt) wurden explizit die Vektorräume L (rP^{(n)}), wobei P^{(n)} eine geeignete rationale Stelle von F_{n}/𝔽_{q^{2}} ist, für F_{0}, F_{1}, F_{2} in [Vos-Høh] und für F_{3} über 𝔽_{16} in [Hac] gefunden. In [Pel-Sti-Tor] haben Pellikaan, Stichtenoth und Torres die Dimension des Vektorraums L(rQ) bei einer gewissen Wahl der Stelle Q für den in [Gar-Sti 2] beschriebenen Turm von Funktionenkörpern (dieser wird auch zweiter GS-Turm genannt) gefunden. Shany und Be’ery [Sha-Bee] und Aleshnikov, Deolalikar, Kumar und Stichtenoth [Ale-Deo-Kum-Sti] haben nicht zu große Oberräume V ⊇ L (rP_{∞}^{(n)}), P_{∞}^{(n)} ∈ ℙ_{F_{n}}, jeweils für den ersten GS-Turm (F_{n})_{n≥0} und für den zweiten GS-Turm (F_{n})_{n≥0} konstruiert. Dafür wurden ähnliche Methoden wie in der algebraischen Zahlentheorie und Eigenschaften von Ganzheitsbasen verwendet. In [Shu-Ale-Kum-Sti-Deo] ist ein Algorithmus zur Berechnung einer Basis des Vektorraums ⋃_{r=0}^{q^{n+1}−q^{⌊n/2⌋+1}+q^{n}} L (rP_{∞}^{(n)}) für den zweiten GS-Turm

(F_{n})_{n≥0} (über 𝔽_{q^{2}}) mit der Komplexität O ((Nlog_{q}N)^{3}), wobei N die Länge des Codes ist, angegeben worden. Leonard [Leo] präsentiert einen iterativen Algorithmus zur Berechnung einer Basis des Rings aller Funktionen aus F_{n} mit genau einem Pol an der unendlichen Stelle P_{∞}^{(n)} für beide GS-Türme (F_{n})_{n≥0}. In [Ale] ist zwar keine Basis für L (rP_{∞}^{(n)}) für den zweiten GS-Turm explizit berechnet worden, aber es ist eine Methode zu ihrer Berechnung angegeben worden, die Eigenschaften von Basen gewisser Holomorphieringe aus F_{n} anwendet.

Die Suche nach expliziten Darstellungen von Kurven, bzw. von Funktionenkörpern, deren Quotienten N/g die DV-Schranke erreichen, ging weiter. Im Jahr 1997 haben Garcia, Stichtenoth und Thomas [Gar-Sti-Tho] andere Beispiele von asymptotisch guten Türmen von Funktionenkörpern veröffentlicht. Explizit konstruierte asymptotisch optimale Türme von modularen Kurven hat Elkies im Jahr 1997 in [Elk] präsentiert. Im Jahr 2001 haben Garcia, Stichtenoth und Rück [Gar-Sti-Rüc] noch einen asymptotisch optimalen Turm von Funktionenkörpern konstruiert. Genau so wie für [Gar-Sti 1], [Gar-Sti 2] braucht man für eine explizite Beschreibung eines auf einem der Türme [Gar-Sti-Rüc] oder [Gar-Sti-Tho] konstruierten AG-Codes eine Basis des Vektorraums L (rP_{∞}^{(n)}).

In meiner Arbeit betrachte ich spezielle Fälle von Funktionenkörpererweiterungen, für die ich ein Verfahren entwickle, mit dem eine Basis des Vektorraums L (rP), der sämtliche Funktionen mit Polen nur an der Stelle P und Polordnungen nicht größer als r enthält, berechnet werden kann.

Sei F′/F eine endliche separable Funktionenkörpererweiterung mit dem gleichen Konstantenkörper K. Sei S ⊆ ℙ_{F} eine Menge von Stellen des Funktionenkörpers F/K. Wir definieren die folgenden Holomorphieringe bezüglich dieser Menge S:

O := {z ∈ F | v_{P} (z) ≥ 0 für alle P ∈ S},
O′ := {z ∈ F′ | v_{P′}(z) ≥ 0 für alle P′ ∈ S′},

wobei S′ := {P′ ∈ ℙ_{F′} | P′|P, P ∈ S}. Dann ist der Ring O′ der ganze Abschluss des Ringes O in F′. Falls O ein Hauptidealring ist, existiert eine Basis für O′ über O, die eine Ganzheitsbasis für O′/O genannt wird. Eines der wichtigsten Hilfsmittel meiner Arbeit ist ein neues Kriterium für die Eigenschaft “ein Element aus F′ liegt in O′“. Damit kann man alle Elemente aus O′ beschreiben und eine Basis für O′/O finden.

Ich habe einen Algorithmus zur Berechnung von Ganzheitsbasen für O′/O im folgenden Fall entwickelt. Zuerst setze ich voraus, dass F = 𝔽_{q}(x) ist für ein x ∈ F, welches transzendent über 𝔽_{q} ist. Dann besitzt x genau einen Pol, der mit P_{∞} bezeichnet wird. Daher kann ich S = ℙ_{F} \ {P_{∞}} betrachten. Dann ist O = 𝔽_{q}[x] und damit ein Hauptidealring. Jede Ganzheitsbasis für O′/O wird in diesem Fall auch eine Ganzheitsbasis für F′/F genannt. Falls P_{∞} voll verzweigt in F′/F ist, läuft der Algorithmus auf zwei lineare Gleichungssysteme hinaus, deren Lösungen explizit eine Ganzheitsbasis für F′/F bestimmen. Da in diesem Fall

O′ = ⋃_{r≥0}^{∞} L (rP′_{∞})

gilt, wobei mit P′_{∞} ∈ ℙ_{F′} die einzige Stelle über P_{∞} bezeichnet wird, können Basen für die Vektorräume L (rP′_{∞}) mit Hilfe von Ganzheitsbasen für F′/F bestimmt werden.

Diesen Algorithmus habe ich in der Programmiersprache von Maple 7 für den in [Gar-Sti-Rüc] konstruierten Turm algebraischer Funktionenkörper (F_{n})_{n≥0} implementiert. Mittels dieses Programms können Basen für die Vektorräume L (rP_{∞}^{(n)}) berechnet werden. Die Komplexität dieses Algorithmus ist mit

O (N(F_{n})^{19} · log^{5}N(F_{n}) + r) abgeschätzt, wobei N(F_{n}) die Anzahl der rationalen Stellen von F_{n}/𝔽_{p^{2}} ist.

Zusätzlich gebe ich ein paar Kummersche Funktionenkörpererweiterungen für Charakteristik gleich 2 mit vielen rationalen Stellen an, von denen zwei eine bessere als bislang bekannte Anzahl der rationalen Stellen liefern.

2 Grundlagen

Einige Definitionen und Ergebnisse aus [Sti] werden in dieser Arbeit häufig benutzt. Wir geben die wichtigsten hier an, um das Lesen der Arbeit zu erleichtern.

2.1 Algebraische Funktionenkörper

In diesem Abschnitt führen wir grundlegende Begriffe und Ergebnisse aus der Funktionenkörpertheorie ein.

Sei K ein Körper und K̄ sein algebraischer Abschluß.

Definition 2.1.1 Ein algebraischer Funktionenkörper F/K einer Variablen über K (oder einfach algebraischer Funktionenkörper) ist eine Erweiterung F ⊇ K, so dass [F : K(x)] < ∞ für ein x ∈ F, welches transzendent über K ist. Die Menge K̃ := {z ∈ F | z ist algebraisch über K} ist ein Unterkörper von F und heißt Konstantenkörper von F/K. Falls K̃ = K, heißt K voller Konstantenkörper von F/K. Falls F = K(x), heißt F/K rationaler Funktionenkörper.

Sei F/K ein algebraischer Funktionenkörper. Wir werden von nun an der Einfachheit halber stets annehmen, dass K der volle Konstantenkörper von F/K ist.

Definition 2.1.2 Ein Bewertungsring des Funktionenkörpers F/K ist ein Ring O ⊆ F, so dass

(1) K ⫋ O ⫋ F, und

(2) z ∈ O oder z^{−1} ∈ O für alle z ∈ F. Die Menge O^{∗} := {z ∈ O | es existiert w ∈ O mit zw = 1} heißt die Einheitengruppe von O.

Proposition 2.1.3 Sei O ein Bewertungsring des Funktionenkörpers F/K. Dann gilt:

(1) O ist ein lokaler Ring, d.h. O besitzt genau ein maximales Ideal P = O \O^{∗}.

(2) O ist ein Hauptidealring.

Definition 2.1.4 Das maximale Ideal eines Bewertungsringes O ⊂ F heißt Stelle des Funktionenkörpers F/K. Die Menge

ℙ_{F} := {P | P ist eine Stelle von F/K}

ist die Menge aller Stellen von F/K. Wir bezeichnen mit O_{P} den eindeutig bestimmten Bewertungsring von F/K, dessen maximales Ideal P ist.

Sei P ∈ ℙ_{F} eine Stelle von F/K.

Definition 2.1.5 Ein Element t ∈ P mit P = tO_{P} heißt ein Primelement von P. F_{P} := O_{P} /P heißt der Restklassenkörper von P. Wir schreiben:

x(P) := x + P ∈ F_{P} , falls x ∈ O_{P} ,
x(P) := ∞,  falls x ∈ F \ O_{P} .

Der Grad der Stelle P ist definiert als deg P := [F_{P} : K]. Die Stelle P heißt rationale Stelle, falls deg P = 1.

Bemerkung 2.1.6 Falls P ∈ ℙ_{F} eine rationale Stelle ist, folgt F_{P} = K. Insbesondere, falls K algebraisch abgeschlossen ist, sind alle Stellen von F/K rational.

Für die weiteren Beschreibungen von Bewertungsringen und Stellen von Funktionenkörpern brauchen wir den Begriff der diskreten Bewertung.

Definition 2.1.7 Eine diskrete Bewertung von F/K ist eine Funktion v : F → ℤ ∪ {∞} mit den folgenden Eigenschaften:

(1) v(x) = ∞ ⟺ x = 0,

(2) v(xy) = v(x) + v(y) für alle x, y ∈ F,

(3) v(x + y) ≥ min{v(x), v(y)} für alle x, y ∈ F,

(4) v(a) = 0 für alle 0 ≠ a ∈ K,

(5) Es existiert ein z ∈ F mit v(z) = 1.

Lemma 2.1.8 Sei v eine diskrete Bewertung von F/K und x, y ∈ F mit v(x) ≠ v(y). Dann gilt v(x + y) = min{v(x), v(y)}.

Definition 2.1.9 Für P ∈ ℙ_{F} bezeichnen wir mit v_{P} die wie folgt definierte Funktion: wir wählen ein Primelement t ∈ P. Dann hat jedes 0 ≠ z ∈ F eine eindeutige Darstellung z = t^{n}u mit u ∈ O_{P}^{∗} und n ∈ ℤ. Wir definieren

v_{P} (z) := n und v_{P} (0) := ∞.

Theorem 2.1.10 Sei F/K ein Funktionenkörper. Für jede Stelle P ∈ ℙ_{F} ist die Funktion v_{P} eine diskrete Bewertung von F/K. Außerdem gilt:

O_{P} = {z ∈ F | v_{P} (z) ≥ 0},
O_{P}^{∗} = {z ∈ F | v_{P} (z) = 0},
P = {z ∈ F | v_{P} (z) > 0}.

Ein Element t ∈ F ist ein Primelement von P dann und nur dann, wenn v_{P} (t) = 1.

Definition 2.1.11 Sei z ∈ F. P ist eine Nullstelle von z dann und nur dann, wenn v_{P} (z) > 0. P ist ein Pol von z dann und nur dann, wenn v_{P} (z) < 0. Falls P ein Pol von z ist, dann heißt die Zahl n = −v_{P} (z) Polordnung von z an der Stelle P.

Lemma 2.1.12 Sei z ∈ F transzendent über K. Dann besitzt z mindestens eine Nullstelle und mindestens einen Pol. Daher gilt insbesondere ℙ_{F} ≠ ∅.

Wir werden häufig mit einem rationalen Funktionenkörper arbeiten, deshalb geben wir hierfür einige Begriffe und Definitionen an.

Definition 2.1.13 Sei K(x)/K ein rationaler Funktionenkörper. Ist ein beliebiges normiertes irreduzibles Polynom p(x) ∈ K[x] gegeben, so betrachten wir den Bewertungsring

O_{p(x)} := \{\frac{f(x)}{g(x)} | f(x), g(x) ∈ K[x], p(x) ∤ g(x)\}

von K(x)/K mit seinem maximalen Ideal

P_{p(x)} = \{\frac{f(x)}{g(x)} | f(x), g(x) ∈ K[x], p(x) | f(x), p(x) ∤ g(x)\} .

Es existiert ein weiterer Bewertungsring von K(x)/K, nämlich

O_{∞} := \{\frac{f(x)}{g(x)} | f(x), g(x) ∈ K[x], deg f(x) ≤ deg g(x)\}

mit seinem maximalen Ideal

P_{∞} = \{\frac{f(x)}{g(x)} | f(x), g(x) ∈ K[x], deg f(x) < deg g(x)\} .

P_{∞} heißt die unendliche Stelle von K(x)/K.

Theorem 2.1.14 Es existieren keine anderen Stellen von K(x)/K außer den Stellen P_{p(x)} und P_{∞}, die per Definition 2.1.13 definiert sind.

Im folgenden führen wir einige weitere Begriffe ein.

Definition 2.1.15 Die von allen Stellen des Funktionenkörpers F/K erzeugte frei abelsche Gruppe D_{F} heißt die Divisorengruppe von F/K. Ein Divisor ist also eine formale Summe

D = ∑_{P ∈ℙ_{F}} n_{P} P mit n_{P} ∈ ℤ, fast alle n_{P} = 0.

Für Q ∈ ℙ_{F} definieren wir v_{Q}(D) := n_{Q}. Der Träger des Divisors D ist definiert als

supp D := {P ∈ ℙ_{F} | v_{P} (D) ≠ 0}.

Der Grad des Divisors D ist definiert als

deg D := ∑_{P ∈supp D} v_{P} (D)deg P.

Eine partielle Ordnung auf D_{F} ist definiert durch

D_{1} ≤ D_{2} :⟺ v_{P} (D_{1}) ≤ v_{P} (D_{2}) für alle P ∈ ℙ_{F} .

Definition 2.1.16 Sei 0 ≠ x ∈ F. Sei Z_{1} die Menge aller Pole und Z_{2} die Menge aller Nullstellen von x in ℙ_{F}. Dann definieren wir

(x)_{∞} := ∑_{P ∈Z_{1}}(−v_{P} (x))P als Poldivisor von x,

(x)_{0} := ∑_{P ∈Z_{2}} v_{P} (x)P als Nulldivisor von x,
(x) := (x)_{0} − (x)_{∞} als Hauptdivisor von x.

Definition 2.1.17 Für einen Divisor A ∈ D_{F} sind der mit ihm assoziierte K-Vektorraum L(A) und seine Dimension wie folgt definiert:

L(A) := {x ∈ F | (x) ≥ −A} ∪ {0},
dim A := dim_{K} L(A).

Nach Definition von L(A) gilt also:

Lemma 2.1.18 Sei A ∈ D_{F}. Dann gilt:

x ∈ L(A) ⟺ v_{P} (x) ≥ −v_{P} (A) für alle P ∈ ℙ_{F} .

Definition 2.1.19 Das Geschlecht von F/K ist definiert als

g := max{deg A − dim A + 1 | A ∈ D_{F} }.

Definition 2.1.20 Eine Zahl n ∈ ℕ ∪ {0} heißt Polzahl von P dann und nur dann, falls ein x ∈ F mit (x)_{∞} = nP existiert. Falls n ∈ ℕ keine Polzahl von P ist, heißt sie Fehlzahl von P.

Theorem 2.1.21 Sei F/K vom Geschlecht g > 0 und P eine rationale Stelle. Dann existieren genau g Fehlzahlen i_{1} < … < i_{g} von P, und es gilt

i_{1} = 1 und i_{g} ≤ 2g − 1.

Der Hauptteil dieser Arbeit basiert auf dem sogenannten Ganzheitskriterium (Proposition 3.3.1), für das folgende Definitionen und Ergebnisse eine wichtige Rolle spielen.

Definition 2.1.22 Für ∅ ≠ S ⫋ ℙ_{F} sei

O_{S} := {z ∈ F | v_{P} (z) ≥ 0 für alle P ∈ S}

der Durchschnitt aller Bewertungsringe O_{P} mit P ∈ S. O_{S} heißt ein Holomorphiering von F/K.

Definition 2.1.23 Sei R ⊂ F ein Ring. Ein Element z ∈ F heißt ganz über R, falls ein normiertes Polynom f(X) ∈ R[X] mit f(z) = 0 existiert. Die Menge

ic_{F} (R) := {z ∈ F | z ist ganz über R}

heißt der ganze Abschluß von R in F. Falls F der Quotientenkörper von R ist und ic_{F} (R) = R gilt, heißt R ganz abgeschlossen.

Proposition 2.1.24 Sei O_{S} ein Holomorphiering von F/K. Dann gilt:

(1) F ist der Quotientenkörper von O_{S}.

(2) O_{S} ist ganz abgeschlossen.

Proposition 2.1.25 Falls ∅ ≠ S ⫋ ℙ_{F} endlich ist, ist O_{S} ein Hauptidealring. Sei P ∈ ℙ_{F} und S = ℙ_{F} \ {P }, dann gilt O_{S} = ⋃_{r≥0}^{∞} L(rP).

2.2 Erweiterungen algebraischer Funktionenkörper

In diesem Abschnitt werden grundlegende Begriffe und Ergebnisse über Körpererweiterungen von Funktionenkörpern eingeführt.

Sei F/K ein Funktionenkörper, wobei K der volle Konstantenkörper von F/K ist. Sei K′ ⊇ K eine algebraische Erweiterung.

Definition 2.2.1 Ein algebraischer Funktionenkörper F′/K′ heißt eine algebraische Funktionenkörpererweiterung von F/K, falls F′ ⊇ F eine algebraische Körpererweiterung ist mit K′ ⊇ K. Wir bezeichnen sie im folgenden mit F′/F. Die algebraische Funktionenkörpererweiterung F′/F heißt endlich, falls [F′ : F] < ∞.

Definition 2.2.2 Eine algebraische Funktionenkörpererweiterung F′/F heißt eine Konstantenkörpererweiterung, wenn F′ = F K′, das Kompositum von F und K′ ist.

Sei F′/F eine algebraische Funktionenkörpererweiterung. Sei P′ ∈ ℙ_{F′} und P ∈ ℙ_{F}.

Definition 2.2.3 Die Stelle P′ liegt über P, falls P′ ⊇ P. Mit anderen Worten, P′ ist eine Fortsetzung von P, und wir schreiben P′|P.

Proposition 2.2.4 Für jede Stelle P′ ∈ ℙ_{F′} existiert genau eine Stelle P ∈ ℙ_{F}, so dass P′|P. Umgekehrt besitzt jede Stelle P ∈ ℙ_{F} mindestens eine, aber nur endlich viele Fortsetzungen P′ ∈ ℙ_{F′}.

Proposition 2.2.5 Die drei folgenden Aussagen sind äquivalent:

(1) P′|P.

(2) O_{P} ⊆ O_{P′}.

(3) Es existiert ein e ∈ ℕ mit e ≥ 1, so dass v_{P′}(x) = e·v_{P} (x) für alle 0 ≠ x ∈ F. Insbesondere gilt für P′|P:

P = P′ ∩ F und O_{P} = O_{P′} ∩ F.

Definition 2.2.6 Sei e wie in Proposition 2.2.5. Die Zahl e(P′|P) := e mit

v_{P′}(x) = e(P′|P) · v_{P} (x)

für alle 0 ≠ x ∈ F heißt der Verzweigungsindex von P′ über P. Die Zahl f(P′|P) := [F′_{P′} : F_{P}] heißt der relative Grad von P′ über P.

Definition 2.2.7 Die Fortsetzung P′|P heißt

(1) verzweigt, falls e(P′|P) > 1 ist.

(2) unverzweigt, falls e(P′|P) = 1 ist.

Die Stelle P heißt

(3) verzweigt in F′/F, falls eine Stelle P′ ∈ ℙ_{F′} existiert, die über P liegt, so dass P′|P verzweigt ist.

(4) voll verzweigt in F′/F, falls genau eine Stelle P′ ∈ ℙ_{F′} existiert, die über P liegt, und e(P′|P) = [F′ : F].

(5) voll zerlegt in F′/F, falls die Anzahl der Fortsetzungen von P gleich [F′ : F] ist.

Im Allgemeinen hängen der Verzweigungsindex und der relative Grad von P′|P nicht nur von P ab, sondern auch von der Wahl der Fortsetzung P′ von P in F′. Allerdings hat man im Fall einer galoisschen Erweiterung folgendes:

Theorem 2.2.8 Sei F′/F galoissch. Seien P_{1}, …, P_{n} ∈ ℙ_{F′} alle Stellen, die über P ∈ ℙ_{F} liegen. Dann gilt:

(1) e(P_{i}|P) = e(P_{j}|P) und f(P_{i}|P) = f(P_{j}|P) für i, j = 1, …, n. Wir setzen

e(P) := e(P_{i}|P) und f(P) := f(P_{i}|P)

und nennen e(P) den Verzweigungsindex und f(P) den relativen Grad von P in F′/F.

(2) e(P) · f(P) · n = [F′ : F].

Proposition 2.2.9 Sei F′′/K′′ eine algebraische Erweiterung von F′/K′, und liege P′′ ∈ ℙ_{F′′} über P′. Dann gilt:

e(P′′|P) = e(P′′|P′) · e(P′|P),
f(P′′|P) = f(P′′|P′) · f(P′|P).

Proposition 2.2.10 Sei K vollkommen und F′ = F K′ eine algebraische Konstantenkörpererweiterung von F/K. Dann gilt:

(1) [F : K(x)] = [F′ : K′(x)] für alle x ∈ F \ K.

(2) K′ ist der volle Konstantenkörper von F′.

(3) P′|P ist unverzweigt in F′/F für alle P ∈ ℙ_{F} und für alle P′ ∈ ℙ_{F′} mit P′|P.

(4) F′/K′ hat das gleiche Geschlecht wie F/K.

Proposition 2.2.11 (Abhyankar‘s Lemma) Sei F′/F eine endliche separable Funktionenkörpererweiterung und F′ = F_{1}F_{2} das Kompositum zweier Zwischenkörper F ⊆ F_{1}, F_{2} ⊆ F′. Sei P′ ∈ ℙ_{F′} eine Fortsetzung von P ∈ ℙ_{F}, und wir setzen P_{i} := P′ ∩ F_{i} für i = 1, 2. Falls mindestens einer der Verzweigungsindizes e(P_{1}|P) oder e(P_{2}|P) teilerfremd zur Charakteristik von F ist, gilt

e(P′|P) = kgV (e(P_{1}|P), e(P_{2}|P)).

Die nächsten Propositionen und das folgende Theorem bilden den Ausgangspunkt für eine Methode, um Ganzheitsbasen zu finden, die als Fundament für diese Arbeit dient.

Proposition 2.2.12 Sei M/L eine endliche separable Körpererweiterung und {z_{1}, …, z_{n}} eine Basis von M/L. Dann existieren eindeutig bestimmte Elemente z_{1}^{∗}, …, z_{n}^{∗} ∈ M, so dass

T r_{M/L}(z_{i}z_{j}^{∗}) = δ_{ij}

gilt, wobei T r_{M/L} : M → L die Spurabbildung und δ_{ij} das Kroneckersymbol sind. Die Menge {z_{1}^{∗}, …, z_{n}^{∗}} ist eine Basis von M/L und heißt die duale Basis von {z_{1}, …, z_{n}} (bezüglich der Spurabbildung).

Theorem 2.2.13 Sei R ⊂ F ein ganz abgeschlossener Ring mit dem Quotientenkörper F und F′/F eine endliche separable Funktionenkörpererweiterung vom Grad n. Sei R′ := ic_{F′}(R). Dann gelten folgende Aussagen:

(1) Für jede Basis {x_{1}, …, x_{n}} für F′/F existieren Elemente a_{i} ∈ R \ {0} für i = 1, …, n, so dass a_{1}x_{1}, …, a_{n}x_{n} ∈ R′. Daher existieren Basen für F′/F mit Elementen aus R′.

(2) Falls {z_{1}, …, z_{n}} ⊆ R′ eine Basis für F′/F und {z_{1}^{∗}, …, z_{n}^{∗}} ihre duale Basis ist, gilt:

∑_{i=1}^{n} Rz_{i} ⊆ R′ ⊆ ∑_{i=1}^{n} Rz_{i}^{∗}.

(3) Sei R ein Hauptidealring. Dann existiert eine Basis {u_{1}, …, u_{n}} für F′/F, so dass R′ = ∑_{i=1}^{n} Ru_{i} gilt.

Proposition 2.2.14 Sei F′/F eine endliche separable Funktionenkörpererweiterung vom Grad n und P ∈ ℙ_{F}. Dann ist der ganze Abschluß von O_{P} in F′

ic_{F′}(O_{P}) = ⋂_{P′|P} O_{P′},

und es existiert eine Basis {u_{1}, …, u_{n}} für F′/F, so dass

ic_{F′}(O_{P}) = ∑_{i=1}^{n} O_{P} u_{i}.

Definition 2.2.15 Die in Proposition 2.2.14 beschriebene Basis heißt eine Ganzheitsbasis für ic_{F′}(O_{P}) über O_{P} und heißt eine lokale Ganzheitsbasis für F′/F an der Stelle P.

Lemma 2.2.16 Sei F′/F eine endliche separable Funktionenkörpererweiterung vom Grad n und ∅ ≠ S ⫋ ℙ_{F}. Dann ist {u_{1}, …, u_{n}} eine Ganzheitsbasis für ic_{F′} (⋂_{P ∈S} O_{P} ) über ⋂_{P ∈S} O_{P} genau dann, wenn sie eine Ganzheitsbasis für ic_{F′}(O_{P}) über O_{P} für alle P ∈ S ist.

Im Kapitel 5 werden Funktionenkörpererweiterungen mit vielen rationalen Stellen angegeben, deren Struktur in der nächsten Proposition beschrieben wird.

Proposition 2.2.17 Sei F/K ein algebraischer Funktionenkörper, wobei K eine primitive n-te Einheitswurzel enthält (mit n > 1 und ggT (n, Char K) = 1). Sei u ∈ F mit

u ≠ w^{d} für alle w ∈ F und alle d | n, d > 1.

Weiterhin sei

F′ := F (y) mit y^{n} = u.

Die Funktionenkörpererweiterung F′/F heißt Kummersche Erweiterung von F. Es gilt:

(1) Das Polynom X^{n} − u ist das Minimalpolynom von y über F, und die Erweiterung F′/F ist galoissch vom Grad n.

(2) Sei P ∈ ℙ_{F} und P′ ∈ ℙ_{F′} mit P′|P. Dann gilt:

e(P′|P) = \frac{n}{r_{P}} mit r_{P} := ggT (n, v_{P} (u)) > 0.

(3) Sei K′ der Konstantenkörper von F′ und g (bzw. g′) das Geschlecht von F/K (bzw. von F′/K′). Dann gilt:

g′ = 1 + \frac{n}{[K′ : K]} (g − 1 + \frac{1}{2} ∑_{P ∈ℙ_{F}} (1 − \frac{r_{P}}{n} ) deg P ) .

Folgerung 2.2.18 Sei F/K ein Funktionenkörper und sei F′ = F (y) mit y^{n} = u ∈ F, wobei n ≢ 0 mod Char K, und K enthält eine primitive n-te Einheitswurzel. Existiert eine Stelle Q ∈ ℙ_{F} mit ggT (v_{Q}(u), n) = 1, dann ist K der volle Konstantenkörper von F′, und es gilt:

g′ = 1 + n(g − 1) + \frac{1}{2} ∑_{P ∈ℙ_{F}} (n − r_{P})deg P.

2.3 Türme algebraischer Funktionenkörper

Eine andere Art von Funktionenkörpererweiterungen ist ein Turm. Die folgenden Definitionen, sowie einige Beispiele für Türme kann man in [Gar-Sti 1], [Gar-Sti 2], [Gar-Sti-Rüc], [Gar-Sti-Tho] und [Tho] finden.

Sei K ein Körper.

Definition 2.3.1 Eine Folge F = (F_{0}, F_{1}, …) von Funktionenkörpern F_{i}/K heißt ein Funktionenkörperturm über K, falls

(1) F_{0} ⊆ F_{1} ⊆ … ⊆ F_{n} ⊆ …

(2) F_{n}/F_{n−1} ist separabel vom Grad [F_{n} : F_{n−1}] > 1 für alle n > 0.

(3) g(F_{n}) > 1 für ein n ≥ 0.

Sei F ein Funktionenkörperturm über K und P ∈ ℙ_{F_{0}}.

Definition 2.3.2 Die Stelle P heißt

(1) unverzweigt in F, falls P in keiner Erweiterung F_{n}/F_{0} verzweigt ist.

(2) verzweigt in F, falls ein n ∈ ℕ exisitert, so dass P in F_{n}/F_{0} verzweigt ist.

(3) voll verzweigt in F, falls P in jeder Erweiterung F_{n}/F_{0} voll verzweigt ist.

Definition 2.3.3 Der Verzweigungsort von F ist die Menge

V (F) := {P ∈ ℙ_{F_{0}} | P ist verzweigt in F}.

3 Basen für die Vektorräume L (rP′_{∞})

In diesem Kapitel wird ein Algorithmus entwickelt, mittels dessen Ganzheitsbasen für endliche separable Funktionenkörpererweiterungen F′/𝔽_{q}(x) vom Grad m, wobei die unendliche Stelle P_{∞} ∈ ℙ_{𝔽_{q}(x)} voll verzweigt in F′/𝔽_{q}(x) ist, explizit berechnet werden können. Hat eine Ganzheitsbasis für F′/𝔽_{q}(x) modulo m paarweise inkongruente Polordnungen an der Stelle P′_{∞} ∈ ℙ_{F′} mit P′_{∞}|P_{∞}, so ist der Vektorraum L (rP′_{∞}) leicht zu beschreiben.

3.1 Vorbereitungen

Sei F′/F eine endliche separable Funktionenkörpererweiterung vom Grad m mit gleichem perfektem Konstantenkörper K. Sei ∅ ≠ S ⫋ ℙ_{F} eine Menge von Stellen des Funktionenkörpers F/K.

(1) Wir fixieren die folgenden Holomorphieringe bezüglich der Menge S:

O := {z ∈ F | v_{P} (z) ≥ 0 für alle P ∈ S} = ⋂_{P ∈S} O_{P} ⊆ F,

O′ := {z ∈ F′ | v_{P′}(z) ≥ 0 für alle P′ ∈ S′} = ⋂_{P′∈S′} O_{P′} ⊆ F′,

wobei S′ := {P′ ∈ ℙ_{F′} | P′|P, P ∈ S}. Nach 2.2.14 gilt O′ = ic_{F′}(O).

(2) Wir wählen eine Basis {w_{1}, …, w_{m}} für F′/F mit der Eigenschaft

O′ ⊆ ∑_{i=1}^{m} Ow_{i}.

Solche Basen existieren tatsächlich, dies folgt aus Theorem 2.2.13(2). Wir nehmen an, dass

v_{P′}(w_{i}) < 0

für mindestens ein i ∈ {1, …, m} und für eine Stelle P′ ∈ S′ gilt.^{1}

(3) Wir definieren die Menge M:

M := ∑_{i=1}^{m} Ow_{i} ⊇ O′.

Nach Konstruktion ist M ein endlich erzeugter O-Modul.

(4) Wir wählen eine Zahl Q ∈ ℕ mit v_{P′}(w_{i}) > −Q für i = 1, …, m und für alle P′ ∈ S′. Da alle w_{i} ≠ 0, gibt es nur endlich viele Stellen P′ ∈ S′, die Pol eines der Elemente w_{1}, …, w_{m} sind. Wählen wir Q größer als alle diese Polordnungen, so hat Q offenbar die gewünschte Eigenschaft.

1Sonst wäre w_{i} ∈ O′ für i = 1, …, m, und damit würde dann ∑_{i=1}^{m} Ow_{i} ⊆ O′ folgen. Dies würde bedeuten O′ = ∑_{i=1}^{m} Ow_{i}, und damit hätten wir gleich eine Ganzheitsbasis für F′/F als Basis {w_{1}, …, w_{m}} gefunden.

Ganzheitsbasen in endlichen separablen Funktionenkörpererweiterungen 14

3.2 Ganzheitsbasen für Holomorphieringe in einer endlichen separablen Funktionenkörpererweiterung

Als ein Hilfsmittel für den oben erwähnten Algorithmus zur Berechnung von Ganzheitsbasen für F′/𝔽_{q}(x) benötigen wir den Beweis von Theorem 2.2.13(3). Daher geben wir diesen hier nochmal an.

Seien w_{1}, …, w_{m} und M wie in Abschnitt 3.1 gegeben.

Theorem 3.2.1 Sei O ein Hauptidealring. Dann existiert eine Basis {u_{1}, …, u_{m}} für F′/F mit der Eigenschaft

O′ = ∑_{i=1}^{m} Ou_{i}.

Beweis. Für 1 ≤ k ≤ m definieren wir:

R_{k} := O′ ∩ ∑_{i=1}^{k} Ow_{i}.  (1)

Wir werden u_{1}, …, u_{m} ∈ O′ finden, so dass R_{k} = ∑_{i=1}^{k} Ou_{i} für k = 1, …, m gilt. Daraus folgt dann

∑_{i=1}^{m} Ou_{i} = R_{m} = O′ ∩ M = O′.

Wir zeigen dies durch Induktion nach k.

Für k = 1 gilt R_{1} = O′ ∩Ow_{1}. Sei I_{1} := {a ∈ F | aw_{1} ∈ O′}. Es ist klar, dass I_{1} ein Ideal in O ist, und da O ein Hauptidealring ist, existiert ein c_{(1,1)} ∈ O mit < c_{(1,1)} >= I_{1}. Wir setzen u_{1} := c_{(1,1)}w_{1}, und damit ist R_{1} = Ou_{1}.

Mit der Induktionsannahme für k − 1 gilt für k ≥ 2: u_{1}, …, u_{k−1} sind schon gefunden worden, und R_{k−1} = ∑_{i=1}^{k−1} Ou_{i}.

Wir zeigen den Schritt k − 1 → k. Sei

I_{k} := {a_{k} ∈ F | es existieren a_{1}, …, a_{k−1} ∈ O, so dass ∑_{i=1}^{k} a_{i}w_{i} ∈ O′}.

Dann ist I_{k} auch ein Ideal in O, und damit ist I_{k} =< c_{(k,k)} > für ein c_{(k,k)} ∈ O. Wir wählen ein u_{k} ∈ O′, so dass

u_{k} = ∑_{i=1}^{k} c_{(i,k)}w_{i}

für gewisse c_{(i,k)} ∈ O für i = 1, …, k − 1. Wegen (1) folgt ∑_{i=1}^{k} Ou_{i} ⊆ R_{k}.

Nun zeigen wir die inverse Inklusion. Sei w ∈ R_{k}. Dann gilt w = ∑_{i=1}^{k} d_{i}w_{i} mit d_{i} ∈ O. Damit ist d_{k} ∈ I_{k} und d_{k} = dc_{(k,k)} mit d ∈ O. Daraus folgt aber:

w − du_{k} ∈ O′ ∩ ∑_{i=1}^{k−1} Ow_{i} = R_{k−1} = ∑_{i=1}^{k−1} Ou_{i}.

15 Basen für die Vektorräume L (rP′_{∞})

Damit haben wir w ∈ ∑_{i=1}^{k} Ou_{i}.

Wir haben gezeigt, dass O′ = ∑_{i=1}^{m} Ou_{i}. Da O′ nach Theorem 2.2.13(1) eine Basis für F′/F enthält, sind die Elemente u_{1}, …, u_{m} linear unabhängig über F und bilden daher eine Basis für F′/F.

□

3.3 Ein Ganzheitskriterium

Nach dem Beweis von Theorem 3.2.1 wissen wir: beschreiben wir die Ideale I_{k} ⊲ O für k = 1, …, m, und finden wir ihre Erzeuger c_{(k,k)}, so bestimmen wir Ganzheitsbasiselemente u_{1} und u_{k} für k = 2, …, m bei einer gewissen Wahl von c_{(i,k)} für i = 1, …, k − 1. Nach Konstruktion von I_{k} gilt:

∑_{i=1}^{k} a_{i}w_{i} ∈ O′

für jedes a_{k} ∈ I_{k} und für gewisse a_{i} ∈ O für i = 1, …, k−1, falls k ≥ 2 ist. Daher stellt sich die Frage, wann überhaupt ein Element aus dem Funktionenkörper F′ in O′ liegt.

Seien w_{1}, …, w_{m}, M und Q wie in Abschnitt 3.1 gegeben.

Proposition 3.3.1 Sei z ∈ F′. Dann gilt: z ∈ O′ ⟺ z ∈ M und z^{Q} ∈ M.

Beweis. ⟹ z ∈ O′ ⇒ z^{Q} ∈ O′, da O′ ein Ring ist, und es gilt z ∈ M und z^{Q} ∈ M, da O′ ⊆ M ist. ⟸ Nach Konstruktion von M hat z^{Q} die Gestalt

z^{Q} = ∑_{i=1}^{m} r_{i}w_{i}

mit r_{i} ∈ O für i = 1, …, m. Dann gilt für alle P′ ∈ S′ :

v_{P′} (z^{Q}) = v_{P′} (∑_{i=1}^{m} r_{i}w_{i}) ≥ min_{i}{v_{P′}(r_{i}w_{i})} ≥ min_{i}{v_{P′}(w_{i})} > −Q.

Andererseits gilt

v_{P′} (z^{Q}) = Qv_{P′}(z).

Daraus folgt Qv_{P′}(z) > −Q ⟹ v_{P′}(z) ≥ 0 für alle P′ ∈ S′. Damit ist z ∈ O′.

□

3.4 Ganzheitsbasen für F′/𝔽_{q}(x)

Gelten die Voraussetzungen aus Abschnitt 3.1. Sei F = 𝔽_{q}(x), wobei 𝔽_{q} der endliche Körper mit q = p^{n} Elementen und Char 𝔽_{q} = p ist. Dann besitzt x genau einen Pol in 𝔽_{q}(x), den wir mit P_{∞} bezeichnen. Sei P_{∞} voll verzweigt in F′/𝔽_{q}(x). Sei P′_{∞} ∈ ℙ_{F′} mit P′_{∞}|P_{∞}. Sei S = ℙ_{𝔽_{q}(x)} \ {P_{∞}}, und damit ist S′ = ℙ_{F′} \ {P′_{∞}}. Eine Ganzheitsbasis für O′/O wird in diesem Fall eine (globale) Ganzheitsbasis für F′/𝔽_{q}(x) genannt.

Ganzheitsbasen für F′/𝔽_{q}(x) 16

Da wir jetzt mit einem rationalen Funktionenkörper arbeiten, wird jedes maximale Ideal in einem Bewertungsring (außer O_{∞}) von 𝔽_{q}(x) erzeugt durch ein normiertes, irreduzibles Polynom aus 𝔽_{q}[x]. Daher hat jede Stelle (außer P_{∞}) von 𝔽_{q}(x)/𝔽_{q} diese Gestalt, d.h. P = (p(x)) für ein normiertes, irreduzibles Polynom p(x) ∈ 𝔽_{q}[x]. Nach Theorem 2.1.14 existiert eine 1:1 Beziehung zwischen den Stellen in S und den normierten, irreduziblen Polynomen aus 𝔽_{q}[x].

Damit sieht der Holomorphiering O in diesem Fall wie folgt aus:

O = \{\frac{f(x)}{g(x)} | f(x), g(x) ∈ 𝔽_{q}[x], p(x) ∤ g(x) für alle P = (p(x)) ∈ S\} = 𝔽_{q}[x].

Seien w_{1}, …, w_{m}, Q und M wie in Abschnitt 3.1 gegeben.

Da {w_{1}, …, w_{m}} eine Basis für F′/𝔽_{q}(x) ist, gilt für i = 1, …, m:

w_{i}^{Q} = ∑_{j=1}^{m} b_{ij}w_{j},  (2)

mit

b_{ij} = \frac{b′_{ij}}{d_{ij}} ∈ 𝔽_{q}(x),  (3)

wobei b′_{ij}, d_{ij} ∈ 𝔽_{q}[x] teilerfremd sind.

Bemerkung 3.4.1 Falls für alle i, j = 1, …, m d_{ij} = 1 gilt, folgt, dass die Basis {w_{1}, …, w_{m}} eine Ganzheitsbasis für F′/𝔽_{q}(x) ist. Wegen (2) gilt nämlich w_{i}^{Q} ∈ M für i = 1, …, m, und nach Proposition 3.3.1 ist dann w_{i} ∈ O′ für i = 1, …, m. Damit folgt M ⊆ O′, und nach Konstruktion von M ist O′ ⊆ M, so dass

O′ = M = ∑_{i=1}^{m} Ow_{i}.

Für die folgenden Berechnungen nehmen wir daher an, dass ein Tupel (i, j) ∈ {1, …, m}^{2} existiert mit d_{ij} ≠ 1.

Wir setzen für i = 1, …, m

d_{i} := kgV (d_{i1}, …, d_{im}).

Das Polynom d_{i} läßt sich (bis auf die Reihenfolge der Faktoren) eindeutig als Produkt von Potenzen irreduzibler Polynome schreiben. Seien f_{1i}, …, f_{t_{i}i} für ein t_{i} ∈ ℕ die irreduziblen Polynome aus 𝔽_{q}[x], so dass

d_{i} = ∏_{s=1}^{t_{i}} f_{si}^{g_{si}}

für gewisse g_{si} ∈ ℕ gilt. Wir wählen l_{si} ∈ ℕ, so dass (l_{si} − 1)Q < g_{si} ≤ l_{si}Q. Dann definieren wir für i = 1, …, m

D_{i} := ∏_{s=1}^{t_{i}} f_{si}^{l_{si}}.  (4)

Wir bemerken, dass für i = 1, …, m das Polynom D_{i} das normierte Polynom vom kleinsten Grad ist, für das d_{i} | D_{i}^{Q} gilt.

Sei weiter für k = 1, …, m: I_{k} ⊲ O, c_{(k,k)} ∈ O wie im Beweis von Theorem 3.2.1 definiert, insbesondere gilt < c_{(k,k)} >= I_{k}.

Lemma 3.4.2 D_{k} ∈ I_{k} für k = 1, …, m.

Beweis. Nach Konstruktion gilt D_{k} ∈ O für k = 1, …, m. Für k = 1 müssen wir nur D_{1}w_{1} ∈ O′ zeigen. Für k ≥ 2 müssen wir aber nach der Definition von I_{k} zeigen, dass h_{1}, …, h_{k−1} ∈ O existieren, so dass

∑_{i=1}^{k−1} h_{i}w_{i} + D_{k}w_{k} ∈ O′.

Es genügt jedoch zu zeigen, dass für k = 1, …, m

D_{k}w_{k} ∈ O′,

da wir dann im Fall k ≥ 2

h_{1} = … = h_{k−1} = 0

wählen können. Sei k ∈ {1, …, m}. Nach Konstruktion ist

D_{k}w_{k} ∈ M,

d.h. nach Proposition 3.3.1 genügt es, (D_{k}w_{k})^{Q} ∈ M zu beweisen. Wir betrachten also

D_{k}^{Q}w_{k}^{Q} = ∑_{j=1}^{m} (D_{k}^{Q}b_{kj}) w_{j} = ∑_{j=1}^{m} (D_{k}^{Q} \frac{b′_{kj}}{d_{kj}} ) w_{j}.

Da d_{k} | D_{k}^{Q} und d_{kj} | d_{k} für alle j = 1, …, m gilt, folgt d_{kj} | D_{k}^{Q} für j = 1, …, m. Dann gilt

D_{k}^{Q} \frac{b′_{kj}}{d_{kj}} ∈ 𝔽_{q}[x] = O,

und damit

∑_{j=1}^{m} (D_{k}^{Q} \frac{b′_{kj}}{d_{kj}} ) w_{j} ∈ M.

□

Folgerung 3.4.3 Für 1 ≤ k ≤ m gilt c_{(k,k)} | D_{k}.

Lemma 3.4.4 Für jedes k ∈ {2, …, m} gilt: für 0 ≠ a ∈ I_{k} existieren Elemente a_{i} ∈ O mit ^{2}

deg a_{i} < deg c_{(i,i)}

für i = 1, …, k − 1, so dass

∑_{i=1}^{k−1} a_{i}w_{i} + aw_{k} ∈ O′.

Beweis. Wir fixieren ein k ∈ {2, …, m}. Wir wählen ein 0 ≠ a ∈ I_{k}. Nach Definition von I_{k} existieren ã_{i} ∈ O, so dass

z := ∑_{i=1}^{k−1} ã_{i}w_{i} + aw_{k} ∈ O′.

Gelte deg ã_{i} ≥ deg c_{(i,i)} für ein i ∈ {1, …, k − 1}.

Wir wählen den größten Index j ∈ {1, …, k − 1}, für den gilt:

deg ã_{j} ≥ deg c_{(j,j)}.

Falls j < k − 1, folgt damit für i = j + 1, …, k − 1 :

deg ã_{i} < deg c_{(i,i)}.

Wir setzen a_{i} := ã_{i} für i = j + 1, …, k − 1.

Nach dem Euklidischen Algorithmus existieren eindeutig bestimmte Polynome h_{1}, h_{2} ∈ 𝔽_{q}[x] mit 0 ≤ deg h_{2} < deg c_{(j,j)}, so dass

ã_{j} = h_{1}c_{(j,j)} + h_{2}.

Damit schreiben wir z wie folgt:

z = ∑_{i=1}^{j−1} ã_{i}w_{i} + (h_{1}c_{(j,j)} + h_{2}) w_{j} + ∑_{i=j+1}^{k−1} a_{i}w_{i} + aw_{k}.

Nach Definition von I_{j} existieren ā_{i} ∈ O für i = 1, …, j − 1, so dass

∑_{i=1}^{j−1} ā_{i}w_{i} + c_{(j,j)}w_{j} ∈ O′.

Da h_{1} ∈ O, gilt

z −h_{1} (∑_{i=1}^{j−1} ā_{i}w_{i} + c_{(j,j)}w_{j}) = ∑_{i=1}^{j−1}(ã_{i} −h_{1}ā_{i})w_{i} +h_{2}w_{j} + ∑_{i=j+1}^{k−1} a_{i}w_{i} +aw_{k} ∈ O′.

Wir setzen a_{j} := h_{2}. Damit gilt deg a_{j} < deg c_{(j,j)}.

Falls für ein j̄ ∈ {1, …, j −1} deg (ãj̄−h_{1}āj̄) ≥ deg c_{(j̄,j̄)} gilt, führen wir das gleiche Verfahren nochmals durch. So bekommen wir nach höchstens j̄ Schritten die gesuchten a_{i} für i = 1, …, k − 1.

□

2Für 0 = f ∈ 𝔽_{q}[x] ist definiert: deg f = −∞.

Lemma 3.4.5 Für jedes k ∈ {2, …, m} existieren eindeutig bestimmte (bezüglich der Basis {w_{1}, …, w_{m}}) Elemente c_{(i,k)} ∈ O mit

deg c_{(i,k)} < deg c_{(i,i)}

für i = 1, …, k − 1, so dass

∑_{i=1}^{k} c_{(i,k)}w_{i} ∈ O′.

Beweis. Wir fixieren ein k ∈ {2, …, m}. Nach Lemma 3.4.4 existieren für c_{(k,k)} ∈ I_{k} Elemente c_{(i,k)} ∈ O mit deg c_{(i,k)} < deg c_{(i,i)} für i = 1, …, k − 1, so dass

z := ∑_{i=1}^{k} c_{(i,k)}w_{i} ∈ O′.

Existieren nun c′_{(i,k)} ∈ O mit deg c′_{(i,k)} < deg c_{(i,i)} für i = 1, …, k − 1, so dass

c′_{(i,k)} ≠ c_{(i,k)}

für ein i ∈ {1, …, k − 1}, und es gilt

z′ := ∑_{i=1}^{k−1} c′_{(i,k)}w_{i} + c_{(k,k)}w_{k} ∈ O′.

Damit folgt:

z − z′ = ∑_{i=1}^{k−1} (c_{(i,k)} − c′_{(i,k)}) w_{i} ∈ O′.

Wir wählen den größten Index j ∈ {1, …, k − 1}, für den gilt:

c′_{(j,k)} ≠ c_{(j,k)}.

Damit schreiben wir z − z′ wie folgt:

z − z′ = ∑_{i=1}^{j} (c_{(i,k)} − c′_{(i,k)}) w_{i} ∈ O′.

Dann gilt: für (c_{(j,k)} − c′_{(j,k)}) ∈ O existieren Elemente (c_{(i,k)} − c′_{(i,k)}) ∈ O für i = 1, …, j − 1, so dass

∑_{i=1}^{j−1} (c_{(i,k)} − c′_{(i,k)}) w_{i} + (c_{(j,k)} − c′_{(j,k)}) w_{j} ∈ O′.

Nach Definition von I_{j} folgt

(c_{(j,k)} − c′_{(j,k)}) ∈ I_{j}.

Dann gilt

c_{(j,j)} | (c_{(j,k)} − c′_{(j,k)}) .

Ganzheitsbasen für F′/𝔽_{q}(x) 20

Nach der Voraussetzung gilt aber

deg (c_{(j,k)} − c′_{(j,k)}) ≤ max {deg c_{(j,k)}, deg c′_{(j,k)}} < deg c_{(j,j)}, ein Widerspruch. Damit ist c′_{(i,k)} = c_{(i,k)} für i = 1, …, k − 1.

□

Sei weiter für k = 1, …, m: c_{(i,k)} ∈ O für i = 1, …, k − 1 wie in Lemma 3.4.5 definiert.

Algorithmus 3.4.6 Berechnung einer Ganzheitsbasis für F′/𝔽_{q}(x). Seien w_{1}, …, w_{m} gegeben. Der Algorithmus berechnet für k = 1, …, m per Induktion nach k das k-te Ganzheitsbasiselement

u_{k} = ∑_{i=1}^{k} c_{(i,k)}w_{i}

mit < c_{(k,k)} >= I_{k} und mit c_{(i,k)} ∈ O für i = 1, …, k − 1 (k ≥ 2). Schritt 1. Berechnung von u_{1}. Sei k = 1. Nach Definition von c_{(1,1)} gilt

deg c_{(1,1)} = min {deg a | 0 ≠ a ∈ I_{1}} .  (5)

Nach Proposition 3.3.1, (2) und (3) gilt:

c_{(1,1)}w_{1} ∈ O′ ⟺ c_{(1,1)}^{Q}w_{1}^{Q} ∈ M ⟺ c_{(1,1)}^{Q} \frac{b′_{1j}}{d_{1j}} ∈ O für j = 1, …, m ⟺

d_{1j} | c_{(1,1)}^{Q} für j = 1, …, m ⟺ kgV (d_{11}, …, d_{1m}) | c_{(1,1)}^{Q}.  (6)

Da D_{1} ∈ I_{1} (nach (4) für i = 1 definiert) das normierte Polynom vom kleinsten Grad ist, für das gilt

kgV (d_{11}, …, d_{1m}) | D_{1}^{Q},  (7)

folgt mit (5), (6) und (7):

c_{(1,1)} = D_{1}.

Damit ist u_{1} = c_{(1,1)}w_{1} ∈ O′ bestimmt. Schritt 2. Berechnung von u_{k} für ein k ∈ {2, …, m}. Nach der Induktionsannahme für k − 1 sind c_{(i,i)} für i = 1, …, k − 1 bekannt. Schritt 2.1. Definition einer Menge M ⊆ M mit u_{k} ∈ M. Wir setzen

\begin{matrix}l_{i} := deg c_{(i,i)} − 1, für i = 1, …, k − 1, \\ l_{k} := deg D_{k}. \end{matrix}

Damit definieren wir die Menge M ⊆ M als

M := {∑_{i=1}^{k} a_{i}w_{i} ∈ F′ | a_{i} ∈ O mit deg a_{i} ≤ l_{i} für i = 1, …, k} .

[figure: Nach Definition von u_{k}, Folgerung 3.4.3; und Lemma 3.4.5 folgt u_{k} ∈ M ∩ O′.; F′; M; O′; M; u_{k}]

Schritt 2.2. Beschreibung aller Elemente aus M ∩ O′.

Wir setzen

\begin{matrix}l_{0} := 0, \\ l := ∑_{i=1}^{k} (l_{i} + 1) \end{matrix}

und definieren die folgende Funktion für i = 1, …, k und für s = 0, …, l_{i}

ϕ(i, s) := ∑_{j=0}^{i−1}(l_{j} + 1) + s.

Der Wertebereich von ϕ ist gleich {1, …, l}. Damit können wir eine Bijektion zwischen 𝔽_{q}^{l} und M wie folgt definieren:

1. Jedes e = (e_{1}^{∗}, …, e_{l}^{∗}) ∈ 𝔽_{q}^{l} definiert für i = 1, …, k Polynome

a_{i} := ∑_{s=0}^{l_{i}} e_{ϕ(i,s)}^{∗}x^{s} ∈ 𝔽_{q}[x],

so dass

z_{e} := ∑_{i=1}^{k} a_{i}w_{i} ∈ M.

2. Für jedes z ∈ M mit der Darstellung

z = ∑_{i=1}^{k} a_{i}w_{i},

wobei

a_{i} = ∑_{s=0}^{l_{i}} e_{is}^{×}x^{s} ∈ 𝔽_{q}[x]

mit e_{is}^{×} ∈ 𝔽_{q} für i = 1, …, k und für s = 0, …, deg a_{i}, und e_{is}^{×} := 0 für s > deg a_{i}, existiert genau ein

e_{z} = (e_{1}^{∗}, …, e_{l}^{∗}) ∈ 𝔽_{q}^{l},

so dass

e_{ϕ(i,s)}^{∗} = e_{is}^{×} für i = 1, …, k und für s = 0, …, l_{i}.

Wir definieren einen Unterraum E ⊆ 𝔽_{q}^{l} wie folgt:

E := {e ∈ 𝔽_{q}^{l} | z_{e} ∈ M ∩ O′} .

Sei d := dim_{𝔽_{q}}E und {v_{1}, …, v_{d}} eine Basis von E. Dann existiert für jedes z ∈ M ∩ O′ genau eine Folge λ_{1}^{∗}, …, λ_{d}^{∗} ∈ 𝔽_{q}, so dass

e_{z} = ∑_{t=1}^{d} λ_{t}^{∗}v_{t}.

Daher folgt: finden wir eine Basis von E, beschreiben wir damit die Menge M ∩ O′.

Wir starten mit einem Tupel von Unbestimmten (e_{1}, …, e_{l}) und setzen

\begin{matrix}a_{i}(e_{1}, …, e_{l}, x) := ∑_{s=0}^{l_{i}} e_{ϕ(i,s)}x^{s} für i = 1, …, k, \\ z(e_{1}, …, e_{l}) := ∑_{i=1}^{k} a_{i}(e_{1}, …, e_{l}, x)w_{i}. \end{matrix}  (8)

Nach Proposition 3.3.1 gilt für jedes z ∈ M:

z ∈ O′ ⟺ z ∈ M und z^{Q} ∈ M.

Daher betrachten wir z(e_{1}, …, e_{l})^{Q}:

z(e_{1}, …, e_{l})^{Q} = (∑_{i=1}^{k} a_{i}(e_{1}, …, e_{l}, x)w_{i})^{Q}

= (∑_{i=1}^{k} (∑_{s=0}^{l_{i}} e_{ϕ(i,s)}x^{s}) w_{i})^{Q} .

Wir bemerken, dass wir ein n_{1} ∈ ℕ so wählen können, dass Q ≤ q^{n_{1}} ist. Damit erfüllt auch q^{n_{1}} den Punkt (4) im Abschnitt 3.1, und es gilt demnach das Ganzheitskriterium aus Proposition 3.3.1: z ∈ O′ ⟺ z ∈ M und z^{q^{n_{1}}} ∈ M. Daher wählen wir für folgende Berechnungen o.E.

Q = q^{n_{1}}.

Da Char F′ = p, folgt:

z(e_{1}, …, e_{l})^{Q} = ∑_{i=1}^{k} (∑_{s=0}^{l_{i}} e_{ϕ(i,s)}^{Q}x^{sQ}) w_{i}^{Q}.

Nach (2) (Seite 16) gilt:

z(e_{1}, …, e_{l})^{Q} = ∑_{i=1}^{k} (∑_{s=0}^{l_{i}} e_{ϕ(i,s)}^{Q}x^{sQ}) ∑_{j=1}^{m} b_{ij}w_{j}

= ∑_{j=1}^{m} (∑_{i=1}^{k} ∑_{s=0}^{l_{i}} e_{ϕ(i,s)}^{Q}x^{sQ}b_{ij}) w_{j}.

Da es vorausgesetzt ist, dass e_{1}, …, e_{l} ihre Werte aus 𝔽_{q} annehmen werden, folgt e_{i}^{Q} = e_{i} für i = 1, …, l. Damit gilt:

\begin{aligned}z(e_{1}, …, e_{l})^{Q} & = & ∑_{j=1}^{m} (∑_{i=1}^{k} ∑_{s=0}^{l_{i}} e_{ϕ(i,s)}x^{sQ}b_{ij}) w_{j} \\ & = & ∑_{j=1}^{m} (\frac{∑_{i=1}^{k} ∑_{s=0}^{l_{i}} e_{ϕ(i,s)}x^{sQ}bij^{′′}}{kgV (d_{1j}, …, d_{kj})} ) w_{j}, \end{aligned}  (9)

wobei bij^{′′} := b_{ij} · kgV (d_{1j}, …, d_{kj}) ∈ 𝔽_{q}[x] mit b_{ij} für i, j = 1, …, m wie in (3)

(Seite 16) definiert.

Sind e_{i} = e_{i}^{∗} ∈ 𝔽_{q} für i = 1, …, l und gilt (e_{1}^{∗}, …, e_{l}^{∗}) ∈ E, folgt

z(e_{1}^{∗}, …, e_{l}^{∗}) ∈ O′ ⟺ z(e_{1}^{∗}, …, e_{l}^{∗})^{Q} ∈ M ⟺

(\frac{∑_{i=1}^{k} ∑_{s=0}^{l_{i}} e_{ϕ(i,s)}^{∗}x^{sQ}bij^{′′}}{kgV (d_{1j}, …, d_{kj})} ) ∈ 𝔽_{q}[x] für j = 1, …, m.

Daher müssen wir feststellen, unter welchen Voraussetzungen für j = 1, …, m gilt:

(\frac{∑_{i=1}^{k} ∑_{s=0}^{l_{i}} e_{ϕ(i,s)}x^{sQ}bij^{′′}}{kgV (d_{1j}, …, d_{kj})} ) ∈ 𝔽_{q}(e_{1}, …, e_{l})[x].^{3}  (10)

Wir setzen für j = 1, …, m:

Z_{j} := ∑_{i=1}^{k} ∑_{s=0}^{l_{i}} e_{ϕ(i,s)}x^{sQ}bij^{′′} ∈ 𝔽_{q}(e_{1}, …, e_{l})[x],
N_{j} := kgV (d_{1j}, …, d_{kj}) ∈ 𝔽_{q}[x].

Da 𝔽_{q}[x] ⊂ 𝔽_{q}(e_{1}, …, e_{l})[x] und deg Z_{j} ≥ deg N_{j},^{4} existieren nach dem Euklidischen Algorithmus Polynome Q_{j}, R_{j} ∈ 𝔽_{q}(e_{1}, …, e_{l})[x], so dass gilt: Z_{j} = Q_{j}N_{j} + R_{j} und deg R_{j} < deg N_{j}. Ist R_{j} = 0 für j = 1, …, m, folgt (10). Daher werden wir die Division von Z_{j} durch N_{j} für j = 1, …, m durchführen und dabei zeigen, dass die Bedingungen R_{j} = 0 für j = 1, …, m auf ein lineares Gleichungssystem über 𝔽_{q} mit den Unbestimmten e_{1}, …, e_{l} hinauslaufen.

Sei j ∈ {1, …, m}. Wir bezeichnen die Menge aller 𝔽_{q}-linearen Ausdrücke in den Unbestimmten e_{1}, …, e_{l} mit

Ē := {∑_{i=1}^{l} γ_{i}e_{i} | γ_{i} ∈ 𝔽_{q}, für i = 1, …, l} .

Sei h_{j}^{(0)} := max{Q · l_{i} + deg bij^{′′} | i = 1, …, k}. Dann gilt:

Z_{j} = ∑_{t=0}^{h_{j}^{(0)}} α_{jt}^{(0)}x^{t}

für gewisse α_{jt}^{(0)} ∈ Ē für t = 0, …, h_{j}^{(0)}.

3𝔽_{q}(e_{1}, …, e_{l}) ist der Körper der rationalen Funktionen in den Unbestimmten e_{1}, …, e_{l}.

4Gilt wegen {0} ⫋ M ∩ O′.

Sei s_{j}^{(0)} := h_{j}^{(0)} − deg N_{j}. Dann definieren wir

Z_{j}^{(1)} := Z_{j} − α_{jh_{j}^{(0)}}^{(0)}x^{s_{j}^{(0)}}N_{j},

und es gilt

Z_{j}^{(1)} := ∑_{t=0}^{h_{j}^{(1)}} α_{jt}^{(1)}x^{t}

für ein h_{j}^{(1)} < h_{j}^{(0)} (N_{j} ist normiert), für ein α_{jh_{j}^{(1)}}^{(1)} ≠ 0 und für gewisse α_{jt}^{(1)} ∈ Ē

für t = 0, …, h_{j}^{(1)}.

Ist h_{j}^{(1)} ≥ deg N_{j}, sei s_{j}^{(1)} := h_{j}^{(1)} − deg(N_{j}). Dann definieren wir

Z_{j}^{(2)} := Z_{j}^{(1)} − α_{jh_{j}^{(1)}}^{(1)}x^{s_{j}^{(1)}}N_{j},

und es gilt

Z_{j}^{(2)} := ∑_{t=0}^{h_{j}^{(2)}} α_{jt}^{(2)}x^{t}

für ein h_{j}^{(2)} < h_{j}^{(1)} (N_{j} ist normiert), für ein α_{jh_{j}^{(2)}}^{(2)} ≠ 0 und für gewisse α_{jt}^{(2)} ∈ Ē

für t = 0, …, h_{j}^{(2)}.

Ist wieder h_{j}^{(2)} ≥ deg N_{j}, so fahren wir analog weiter fort. Dann existiert ein r_{j} ≤ h_{j}^{(0)} − deg N_{j} + 1, so dass gilt:

Z_{j} = N_{j} ∑_{t=0}^{r_{j}−1} α_{jh_{j}^{(t)}}^{(t)}x^{s_{j}^{(t)}} + ∑_{t=0}^{h_{j}^{(r_{j})}} α_{jt}^{(r_{j})}x^{t}

mit h_{j}^{(r_{j})} < deg N_{j} und für gewisse α_{jt}^{(r_{j})} ∈ Ē für t = 0, …, h_{j}^{(r_{j})} und α_{jh_{j}^{(r_{j})}}^{(r_{j})} ≠ 0. Wir setzen

R_{j} := ∑_{t=0}^{h_{j}^{(r_{j})}} α_{jt}^{(r_{j})}x^{t}.

Dann gilt:

(10) ist erfüllt ⟺ R_{j} = 0 für j = 1, …, m.  (11)

Da α_{jt}^{(r_{j})} ∈ Ē für j = 1, …, m und für t = 0, …, h_{j}^{(r_{j})}, gilt

α_{jt}^{(r_{j})} = ∑_{i=1}^{l} γ_{jti}e_{i}

für gewisse γ_{jti} ∈ 𝔽_{q} für j = 1, …, m, für t = 0, …, h_{j}^{(r_{j})} und für i = 1, …, l. Nach (11) folgt

(10) ist erfüllt ⟺ ∑_{i=1}^{l} γ_{jti}e_{i} = 0 für j = 1, …, m und für t = 0, … h_{j}^{(r_{j})}.

Wir betrachten diese Bedingungen als Gleichungen über 𝔽_{q} mit den Unbestimmten e_{1}, …, e_{l}:

∑_{i=1}^{l} γ_{10i}e_{i} = 0 ; ⋮ ; ∑_{i=1}^{l} γ_{1h_{1}^{(r_{1})}i}e_{i} = 0 ; ⋮ ; ∑_{i=1}^{l} γ_{m0i}e_{i} = 0 ; ⋮ ; ∑_{i=1}^{l} γ_{mh_{m}^{(rm)}i}e_{i} = 0  (12)

Zusammen bilden diese Gleichungen ein homogenes lineares Gleichungssystem über 𝔽_{q} mit den Unbestimmten e_{1}, …, e_{l}. Hat das Gleichungssystem nur die triviale Lösung, so folgt E = {(0, …, 0)}, und damit gilt M ∩ O′ = {0}, was 0 ≠ u_{k} ∈ M ∩ O′ widerspricht. Daher besitzt das System mehrere Lösungen.

Mit dem Gaußschen Algorithmus können wir eine 𝔽_{q}-Basis {v_{1}, …, v_{d}} von E bestimmen, wobei v_{t} = (v_{1t}, …, v_{lt}) für t = 1, …, d sind. Dann ist der Vektorraum E gleich

E = \{(e_{1}, …, e_{l}) ∈ 𝔽_{q}^{l} | \begin{matrix}es existieren λ_{1}^{∗}, …, λ_{d}^{∗} ∈ 𝔽_{q}, so dass \\ e_{i} = ∑_{t=1}^{d} λ_{t}^{∗}v_{it} für i = 1, …, l \end{matrix} \} ,

und wir können die Menge M ∩ O′ wie folgt beschreiben:

M ∩ O′ = \{ z ∈ F′ | \begin{matrix}es existiert ein (e_{1}^{∗}, …, e_{l}^{∗}) ∈ E, so \\ dass z = ∑_{i=1}^{k} (∑_{s=0}^{l_{i}} e_{ϕ(i,s)}^{∗}x^{s}) w_{i} \end{matrix} \} .  (13)

Schritt 2.3. Berechnung von c_{(k,k)} ∈ 𝔽_{q}[x] mit < c_{(k,k)} >= I_{k}.

Sei 𝔽_{q}(λ_{1}, …, λ_{d}) der Körper der rationalen Funktionen in den Unbestimmten λ_{1}, …, λ_{d}. Dann definieren wir für i = 1, …, k

a_{i}(λ_{1}, …, λ_{d}, x) := ∑_{s=0}^{l_{i}} (∑_{t=1}^{d} λ_{t}v_{ϕ(i,s)t}) x^{s} ∈ 𝔽_{q}(λ_{1}, …, λ_{d})[x]. (14)

Seien λ_{1}^{∗}, …, λ_{d}^{∗} ∈ 𝔽_{q} und λ_{t} = λ_{t}^{∗} für t = 1, …, d. Dann gilt nach (14) a_{i}(λ_{1}^{∗}, …, λ_{d}^{∗}, x) ∈ 𝔽_{q}[x], und nach (13) und Definition von I_{k} (Theorem 3.2.1) für k = 1, …, m

a_{k}(λ_{1}^{∗}, …, λ_{d}^{∗}, x) ∈ I_{k}.  (15)

Behauptung. Es gilt

c_{(k,k)} | a_{k}(λ_{1}, …, λ_{d}, x),^{5}

5Die Teilbarkeit wird hier in 𝔽_{q}(λ_{1}, …, λ_{d})[x] betrachtet.

wobei c_{(k,k)} das normierte Polynom vom größten Grad aus 𝔽_{q}[x] mit dieser Eigenschaft ist. Beweis. Da deg a_{k}(λ_{1}, …, λ_{d}, x) ≥ deg c_{(k,k)} gilt, kann die Division von a_{k}(λ_{1}, …, λ_{d}, x) durch c_{(k,k)} durchgeführt werden. Sei der Rest dieser Division ungleich 0. Dann folgt analog zur Division^{6} in (10), dass dieser Rest ein Polynom in 𝔽_{q}(λ_{1}, …, λ_{d})[x] ist, dessen Koeffizienten lineare Ausdrücke über 𝔽_{q} in den Unbestimmten λ_{1}, …, λ_{d} sind. Wir bezeichnen daher diesen Rest mit r(λ_{1}, …, λ_{d}, x). Dann existieren λ_{1}^{∗}, …, λ_{d}^{∗} ∈ 𝔽_{q}, so dass bei λ_{t} = λ_{t}^{∗} für t = 1, …, d gilt: r(λ_{1}^{∗}, …, λ_{d}^{∗}, x) ≠ 0. Damit folgt c_{(k,k)} ∤ a_{k}(λ_{1}^{∗}, …, λ_{d}^{∗}, x), was ein Widerspruch zu (15) ist.

Existiert ein normiertes Polynom h ∈ 𝔽_{q}[x] mit deg h > deg c_{(k,k)} und gilt dabei h | a_{k}(λ_{1}, …, λ_{d}, x), so folgt bei jeder Wahl λ_{t} = λ_{t}^{∗} ∈ 𝔽_{q} für t = 1, …, d: h | a_{k}(λ_{1}^{∗}, …, λ_{d}^{∗}, x). Da aber durch a_{k}(λ_{1}, …, λ_{d}, x) alle Polynome mit den Graden kleiner oder gleich l_{k} = deg D_{k} aus I_{k} ⊲ 𝔽_{q}[x] beschrieben sind, folgt ein Widerspruch zu < c_{(k,k)} > = I_{k}. ⊲

Daher kann das Polynom c_{(k,k)} wie folgt berechnet werden:

c_{(k,k)} = ggT_{𝔽_{q}(λ_{1},...,λ_{d})[x]}(a_{k}(λ_{1}, …, λ_{d}, x), D_{k}).  (16)

Schritt 2.4. Berechnung von c_{(i,k)} ∈ 𝔽_{q}[x] für i = 1, …, k − 1.

Da c_{(i,k)} für i = 1, …, k − 1 nach Lemma 3.4.5 eindeutig bestimmt sind, existieren eindeutig bestimmte λ_{1}^{×}, …, λ_{d}^{×} ∈ 𝔽_{q}, so dass

c_{(i,k)} = a_{i}(λ_{1}^{×}, …, λ_{d}^{×}, x)

für i = 1, …, k. So müssen wir diese λ_{1}^{×}, …, λ_{d}^{×} ∈ 𝔽_{q} finden.

Wir schreiben c_{(k,k)} als

c_{(k,k)} = ∑_{s=0}^{deg c_{(k,k)}} γ_{ks}x^{s}

für gewisse γ_{ks} ∈ 𝔽_{q} für s = 0, …, deg c_{(k,k)}. Wir setzen koeffizientenweise nach (14) für i = k:

a_{k}(λ_{1}, …, λ_{d}, x) = c_{(k,k)},^{7}

d.h.

\begin{matrix}∑_{t=1}^{d} λ_{t}v_{ϕ(k,s)t} = γ_{ks} & für s = 0, …, deg c_{(k,k)}, \\ ∑_{t=1}^{d} λ_{t}v_{ϕ(k,s)t} = 0 & für s = deg c_{(k,k)} + 1, …, l_{k}. \end{matrix}

Die obigen Gleichungen bilden ein lineares Gleichungssystem über 𝔽_{q} mit den Unbestimmten λ_{1}, …, λ_{d}. Wegen der Eindeutigkeit von c_{(k,k)} hat dieses System genau eine Lösung

(λ_{1}^{×}, …, λ_{d}^{×}) ∈ 𝔽_{q}^{d}.

6Diese Division ist ausführlich auf den Seiten 23 - 24 beschrieben.

7Würden nicht alle Unbestimmten λ_{1}, …, λ_{d} in a_{k}(λ_{1}, …, λ_{d}, x) in (14) vorkommen, wären die zu c_{(k,k)} zugehörigen c_{(i,k)} wegen der nichtvorkommenden Unbestimmten nicht eindeutig bestimmt, was Lemma 3.4.5 widersprechen würde.

Mit dieser Lösung erhalten wir für i = 1, …, k − 1

c_{(i,k)} = a_{i}(λ_{1}^{×}, …, λ_{d}^{×}, x).  (17)

Damit ist durch (16) und (17)

u_{k} = ∑_{i=1}^{k} c_{(i,k)}w_{i} ∈ O′  (18)

bestimmt.

Nach Theorem 3.2.1 bilden u_{1}, …, u_{m} eine Ganzheitsbasis für F′/𝔽_{q}(x). □

Theorem 3.4.7 Mit dem Algorithmus 3.4.6 ist eine Ganzheitsbasis für F′/𝔽_{q}(x) explizit berechenbar.

Theorem 3.4.7 garantiert uns nicht, dass die mittels Algorithmus 3.4.6 berechnete Ganzheitsbasis {u_{1}, …, u_{m}} für F′/𝔽_{q}(x) aus Elementen mit modulo m paarweise inkongruenten Polordnungen an der Stelle P′_{∞} besteht, was für die Berechnung von Basen für die Vektorräume L (rP′_{∞}) erforderlich ist. Daher werden wir im nächsten Abschnitt noch einen Algorithmus angeben, mittels dessen wir eine solche Ganzheitsbasis berechnen können.

3.5 Ganzheitsbasen für F′/𝔽_{q}(x) mit modulo m paarweise inkongruenten Polordnungen an der Stelle P′_{∞}

Nach Definition 2.1.20 und Theorem 2.1.21 können wir folgende Vorbereitungen durchführen.

Wir setzen für i = 1, …, m

ν_{i} := min {α ∈ ℕ ∪ {0} | α ist eine Polzahl von P′_{∞} mit α ≡ i mod m} .

Seien y_{1}, …, y_{m} ∈ O′, so dass

v_{P′_{∞}}(y_{i}) = −μ_{i}

mit

μ_{i} ∈ ℕ ∪ {0} und μ_{i} ≡ i mod m

für i = 1, …, m gilt.

Lemma 3.5.1 1. {y_{1}, …, y_{m}} ist eine Basis für F′/𝔽_{q}(x).

2. α ist eine Polzahl von P′_{∞} dann und nur dann, wenn ein z ∈ O′ existiert mit v_{P′_{∞}}(z) = −α.

3. Seien z_{1}, z_{2} ∈ O′ mit v_{P′_{∞}}(z_{1}) = v_{P′_{∞}}(z_{2}). Dann existiert genau ein a ∈ 𝔽_{q}^{∗}, so dass v_{P′_{∞}}(z_{1} − az_{2}) > v_{P′_{∞}}(z_{1}).

Beweis. 1. Da [F′ : 𝔽_{q}(x)] = m, genügt es zu zeigen, dass y_{1}, …, y_{m} linear unabhängig über 𝔽_{q}(x) sind. Dies folgt nach Lemma 2.1.8.

2. Dies gilt wegen O′ = ⋃_{s≥0}^{∞} L (sP′_{∞}) .

3. Wegen v_{P′_{∞}} (\frac{z_{1}}{z_{2}} ) = 0 und deg P′_{∞} = 1 existiert ein a ∈ 𝔽_{q}^{∗}, so dass

v_{P′_{∞}} (\frac{z_{1}}{z_{2}} − a) > 0.

□

Ganzheitsbasen mit modulo m paarweise inkongruenten Polordnungen 28

Theorem 3.5.2 {y_{1}, …, y_{m}} ist eine Ganzheitsbasis für F′/𝔽_{q}(x) dann und nur dann, wenn μ_{i} = ν_{i} für i = 1, …, m.

Beweis. ⟹ Sei {y_{1}, …, y_{m}} eine Ganzheitsbasis für F′/𝔽_{q}(x). Sei j ∈ {1, …, m}. Dann ist nach Lemma 3.5.1(2) μ_{j} eine Polzahl von P′_{∞}, und es gilt:

μ_{j} ≥ ν_{j}.  (19)

Da ν_{j} eine Polzahl von P′_{∞} ist, existiert nach Lemma 3.5.1(2) ein z ∈ O′ mit v_{P′_{∞}}(z) = −ν_{j}. Da z ∈ O′, hat es die Gestalt

z = ∑_{i=1}^{m} f_{i}y_{i}

mit f_{i} ∈ O = 𝔽_{q}[x]. Dann gilt wegen ν_{j} ≡ μ_{j} mod m:

v_{P′_{∞}}(z) = v_{P′_{∞}}(f_{j}y_{j}).

Daraus folgt −ν_{j} = −m · deg f_{j} − μ_{j}. Damit gilt

ν_{j} ≥ μ_{j}.  (20)

Aus (19) und (20) folgt ν_{j} = μ_{j}.

⟸ Sei μ_{i} = ν_{i} für i = 1, …, m. Nach Lemma 3.5.1(1) bilden y_{1}, …, y_{m} ∈ O′ eine Basis für F′/𝔽_{q}(x), und es gilt ∑_{i=1}^{m} Oy_{i} ⊆ O′. Wir zeigen, dass auch O′ ⊆ ∑_{i=1}^{m} Oy_{i} gilt.

Wir wählen ein 0 ≠ z ∈ O′ mit (z)_{∞}^{F′} = sP′_{∞} für ein s ∈ ℕ ∪ {0}. Wir zeigen die Inklusion O′ ⊆ ∑_{i=1}^{m} Oy_{i} per Induktion nach s.

Sei s = 0. Dann gilt z ∈ 𝔽_{q}^{∗}. Da 0 eine Polzahl von P′_{∞} ist, folgt ν_{m} = 0. Damit ist (y_{m})_{∞}^{F′} = 0, und y_{m} ∈ 𝔽_{q}^{∗}. Dann gilt:

z ∈ 𝔽_{q}^{∗} ⊆ Oy_{m} ⊆ ∑_{i=1}^{m} Oy_{i}.

Wir zeigen den Schritt s → s + 1. Dann gilt (z)_{∞}^{F′} = (s + 1)P′_{∞}. Sei j ∈ {1, …, m}, so dass s + 1 ≡ j mod m. Dann gilt:

ν_{j} ≡ s + 1 mod m und ν_{j} ≤ s + 1 ⟹ s + 1 = ν_{j} + m · t für ein t ∈ ℕ ∪ {0}
⟹ v_{P′_{∞}}(z) = v_{P′_{∞}} (y_{j}x^{t})
⟹ nach Lemma 3.5.1(3) existiert genau
ein a ∈ 𝔽_{q}^{∗}, so dass
v_{P′_{∞}} (z − ax^{t}y_{j}) > −(s + 1).

Das Element z − ax^{t}y_{j} liegt in O′, und seine Polordnung an der Stelle P′_{∞} ist kleiner als s + 1. Nach Induktionsannahme gilt z − ax^{t}y_{j} ∈ ∑_{i=1}^{m} Oy_{i}. Daher ist z ∈ ∑_{i=1}^{m} Oy_{i}.

□

Nun wissen wir nach Theorem 3.5.2, dass eine Ganzheitsbasis für F′/𝔽_{q}(x) existiert, die aus Elementen mit modulo m paarweise inkongruenten Polordnungen an der Stelle P′_{∞} besteht. Der folgende Algorithmus berechnet aus einer Ganzheitsbasis für F′/𝔽_{q}(x), die mittels Algorithmus 3.4.6 erhalten wurde, eine weitere Ganzheitsbasis, deren Elemente modulo m paarweise inkongruente Polordnungen an der Stelle P′_{∞} haben.

Algorithmus 3.5.3 Berechnung einer Ganzheitsbasis {u_{1}^{∗}, …, u_{m}^{∗}} für F′/𝔽_{q}(x) mit v_{P′_{∞}}(u_{i}^{∗}) ≢ v_{P′_{∞}}(u_{j}^{∗}) mod m für i, j = 1, …, m und i ≠ j unter folgenden Voraussetzungen:

(1) die Basis {w_{1}, …, w_{m}} für F′/𝔽_{q}(x) aus Abschnitt 3.1(2) ist bekannt, und eine Ganzheitsbasis {u_{1}, …, u_{m}} für F′/𝔽_{q}(x) ist mittels Algorithmus 3.4.6 berechnet worden;

(2) v_{P′_{∞}}(w_{i}) ≢ v_{P′_{∞}}(w_{j}) mod m für i, j = 1, …, m und i ≠ j.

Die zweite Bedingung ist für die Berechnung von v_{P′_{∞}}(u_{k}) (Lemma 2.1.8) für k = 1, …, m erforderlich: wir setzen c_{(i,k)} := 0 für k = 1, …, m und für i = k + 1, …, m, damit hat u_{k} aus (18) ab jetzt die Darstellung

u_{k} = ∑_{i=1}^{m} c_{(i,k)}w_{i},  (21)

und es gilt

v_{P′_{∞}}(u_{k}) = v_{P′_{∞}} (∑_{i=1}^{m} c_{(i,k)}w_{i})
= min_{i=1,...,m} {v_{P′_{∞}} (c_{(i,k)}w_{i})}  (22)
= −m · deg c_{(i′,k)} + v_{P′_{∞}}(w_{i′}) für ein i′ ∈ {1, …, m}.

Die Darstellung (21) ist für den Ablauf des Algorithmus erforderlich.

Schritt 1. Fixierung von k_{1} ≠ k_{2}, für die v_{P′_{∞}}(u_{k_{1}}) ≡ v_{P′_{∞}}(u_{k_{2}}) mod m gilt. Werden keine solchen Indizes gefunden, so ist der Algorithmus beendet. Die vorhandenen Ganzheitsbasiselemente haben bereits modulo m paarweise inkongruente Polordnungen an der Stelle P′_{∞}.

So haben wir:

u_{k_{1}} = ∑_{i=1}^{m} c_{(i,k_{1})}w_{i} und u_{k_{2}} = ∑_{i=1}^{m} c_{(i,k_{2})}w_{i}

mit

v_{P′_{∞}}(u_{k_{1}}) ≡ v_{P′_{∞}}(u_{k_{2}}) mod m.

Schritt 2. Fixierung von s ∈ {1, …, m} mit v_{P′_{∞}}(u_{k_{1}}) ≡ v_{P′_{∞}}(w_{s}) mod m.

Wegen (22) folgt:

v_{P′_{∞}}(u_{k_{1}}) = v_{P′_{∞}} (c_{(s,k_{1})}w_{s}) = −m · deg c_{(s,k_{1})} + v_{P′_{∞}}(w_{s}),
v_{P′_{∞}}(u_{k_{2}}) = v_{P′_{∞}} (c_{(s,k_{2})}w_{s}) = −m · deg c_{(s,k_{2})} + v_{P′_{∞}}(w_{s}).

Ohne Einschränkung können wir annehmen, dass

v_{P′_{∞}}(u_{k_{1}}) ≤ v_{P′_{∞}}(u_{k_{2}}).  (23)

Schritt 3. Berechnung eines neuen Elements ũ ∈ O′, für das v_{P′_{∞}}(ũ) > v_{P′_{∞}}(u_{k_{1}}) gilt, und Ersetzung von u_{k_{1}} durch ũ, so dass Elemente u_{1}, …, ũ( an der Stelle von u_{k_{1}}), …, u_{m} eine weitere Ganzheitsbasis für F′/𝔽_{q}(x) bilden.

Wegen (23) folgt deg c_{(s,k_{1})} ≥ deg c_{(s,k_{2})}. Dann gilt für ein t ∈ ℕ ∪ {0}:

deg c_{(s,k_{1})} = deg (x^{t}c_{(s,k_{2})}) ⟹ v_{P′_{∞}}(u_{k_{1}}) = v_{P′_{∞}}(x^{t}u_{k_{2}}).

Sei γ ∈ 𝔽_{q}^{∗}, so dass

γ = \frac{Leitkoeffizient des Polynoms c_{(s,k_{1})}}{Leitkoeffizient des Polynoms c_{(s,k_{2})}} .

Sei

ũ := u_{k_{1}} − γx^{t}u_{k_{2}}.

Behauptung. v_{P′_{∞}}(ũ) > v_{P′_{∞}}(u_{k_{1}}). Beweis. Wegen v_{P′_{∞}}(w_{i}) ≢ v_{P′_{∞}}(w_{j}) mod m für i, j = 1, …, m und i ≠ j folgt

v_{P′_{∞}}(ũ) = min_{i=1,...,m} {v_{P′_{∞}} ((c_{(i,k_{1})} − γx^{t}c_{(i,k_{2})}) w_{i})}
= v_{P′_{∞}} ((c_{(v,k_{1})} − γx^{t}c_{(v,k_{2})}) w_{v}) für ein gewisses v ∈ {1, …, m}.

Falls v ≠ s, gilt nach (22) für alle i = 1, …, m und i ≠ s (insbesondere für i = v)

v_{P′_{∞}}(u_{k_{1}}) = v_{P′_{∞}} (c_{(s,k_{1})}w_{s}) = v_{P′_{∞}} (γx^{t}c_{(s,k_{2})}w_{s}) < v_{P′_{∞}} (γx^{t}c_{(i,k_{2})}w_{i})

und

v_{P′_{∞}}(u_{k_{1}}) = v_{P′_{∞}} (c_{(s,k_{1})}w_{s}) < v_{P′_{∞}} (c_{(i,k_{1})}w_{i}) .

Damit folgt

v_{P′_{∞}}(ũ) ≥ min {v_{P′_{∞}} (c_{(v,k_{1})}w_{v}) , v_{P′_{∞}} (γx^{t}c_{(v,k_{2})}w_{v})} > v_{P′_{∞}}(u_{k_{1}}).

Falls v = s, folgt wegen der Wahl von γ

deg (c_{(s,k_{1})} − γx^{t}c_{(s,k_{2})}) < deg c_{(s,k_{1})},  (24)

und damit gilt

v_{P′_{∞}}(ũ) = v_{P′_{∞}} ((c_{(s,k_{1})} − γx^{t}c_{(s,k_{2})}) w_{s}) > v_{P′_{∞}} (c_{(s,k_{1})}w_{s}) = v_{P′_{∞}}(u_{k_{1}}).

Da nach Lemma 3.5.1(3) genau ein a ∈ 𝔽_{q}^{∗} existiert, so dass

v_{P′_{∞}} (u_{k_{1}} − ax^{t}u_{k_{2}}) > v_{P′_{∞}}(u_{k_{1}})

gilt, folgt v_{P′_{∞}}(ũ) > v_{P′_{∞}}(u_{k_{1}}) nur für diese Wahl von γ. ⊲ Da {u_{1}, …, u_{m}} eine Basis für O′/𝔽_{q}[x] ist, folgt

∑_{i=1}^{m} h_{i}(x)u_{i} = 0 ⟺ 0 = h_{i}(x) ∈ 𝔽_{q}[x] für i = 1, …, m
⟺ ∑_{\begin{matrix}i ∈ \{1, …, m\} \\ i ≠ k_{1} \end{matrix}} h_{i}(x)u_{i} + h_{k_{1}}(x) (ũ + γx^{t}u_{k2}) = 0.

Damit sind die Elemente der Menge {u_{1}, …, u_{m}}∪{ũ}\{u_{k_{1}}} linear unabhängig über 𝔽_{q}[x]. Aus O′ = ∑_{i=1}^{m} 𝔽_{q}[x]u_{i} und der Konstruktion von ũ folgt

O′ = ∑_{\begin{matrix}i ∈ \{1, …, m\} \\ i ≠ k_{1} \end{matrix}} 𝔽_{q}[x]u_{i} + 𝔽_{q}[x]ũ.

Daher bilden u_{1}, …, u_{k_{1}−1}, ũ, u_{k_{1}+1}, …, u_{m} eine Ganzheitsbasis für F′/𝔽_{q}(x).

Schritt 4. Rückkehr zu Schritt 1.

Lemma 3.5.4 Algorithmus 3.5.3 ist endlich.

Beweis. Seien ν_{1}, …, ν_{m} wie am Anfang dieses Abschnitts definiert. Der Input von Algorithmus 3.5.3 sind Ganzheitsbasiselemente u_{1}, …, u_{m}, die mittels Algorithmus 3.4.6 berechnet worden sind. Wir bezeichnen die Summe ihrer Polordnungen an der Stelle P′_{∞} mit

S_{0} := |v_{P′_{∞}}(u_{1})| + ⋯ + |v_{P′_{∞}}(u_{m})|.

Ein Schleifendurchlauf in Algorithmus 3.5.3 sind die Schritte 1 - 4. Wir bezeichnen nach dem k-ten Schleifendurchlauf mit

{u_{1}^{(k)}, …, u_{m}^{(k)}}

eine Ganzheitsbasis in Schritt 1 und mit

S_{k}

die Summe der Polordnungen von u_{1}^{(k)}, …, u_{m}^{(k)} an der Stelle P′_{∞}. Da wir mit jedem Schleifendurchlauf ein neues Element bestimmen, dessen Polordnung an der Stelle P′_{∞} kleiner als die Polordnung des ursprünglichen Elements ist, gilt für k ≥ 1:

S_{k} < S_{k−1}.

Da u_{1}^{(k)}, …, u_{m}^{(k)} eine Ganzheitsbasis für F′/𝔽_{q}(x) bilden, folgt für k ≥ 0

S_{k} > 0.

Aus den beiden letzten Ungleichungen folgt, dass ein k′ ∈ ℕ existiert, so dass der Algorithmus nach dem k′-ten Schleifendurchlauf endet. Nach Theorem 3.5.2 gilt S_{k′} = ∑_{i=1}^{m} ν_{i}, und der Output ist eine Ganzheitsbasis u_{1}^{(k′)}, …, u_{m}^{(k′)} mit |v_{P′_{∞}}(u_{i}^{(k′)})| = ν_{i} für i = 1, …, m.

□

Theorem 3.5.5 Mit den Algorithmen 3.4.6 und 3.5.3 ist eine Ganzheitsbasis für F′/𝔽_{q}(x) berechenbar, deren Elemente modulo m paarweise inkongruente Polordnungen an der Stelle P′_{∞} haben.

Basis des Vektorraums L (rP′_{∞}), T -Mengen 32

3.6 Basis des Vektorraums L (rP′_{∞})

Proposition 3.6.1 Sei r ≥ 0. Sei {u_{1}, …, u_{m}} eine Ganzheitsbasis für F′/𝔽_{q}(x), für die v_{P′_{∞}}(u_{i}) ≢ v_{P′_{∞}}(u_{j}) mod m für i, j = 1, …, m und i ≠ j gilt. Die Elemente x^{j}u_{i} mit 0 ≤ j, 1 ≤ i ≤ m und jm − v_{P′_{∞}}(u_{i}) ≤ r bilden eine 𝔽_{q}-Basis des Vektorraums L (rP′_{∞}).

Beweis. Da O′ = ⋃_{s≥0}^{∞} L (sP′_{∞}), gilt z ∈ L (rP′_{∞}) ⟹ z ∈ O′. Damit gilt nach Lemma 2.1.18:

L (rP′_{∞}) = {z ∈ O′ | v_{P′}(z) ≥ −v_{P′}(rP′_{∞}) für alle P′ ∈ ℙ_{F′}} .

Da für jedes z ∈ O′ gilt

v_{P′}(z) ≥ 0 = v_{P′} (rP′_{∞}) für P′ ∈ ℙ_{F′} \ {P′_{∞}},

schreiben wir L(rP′_{∞}) wie folgt:

L (rP′_{∞}) = {z ∈ O′ | v_{P′_{∞}}(z) ≥ −v_{P′_{∞}}(rP′_{∞})} = {z ∈ O′ | v_{P′_{∞}}(z) ≥ −r} .

Da O′ = ∑_{i=1}^{m} 𝔽_{q}[x]u_{i}, hat jedes 0 ≠ z ∈ O′ die Darstellung

z = ∑_{i=1}^{m} ∑_{j≥0} γ_{ij}x^{j}u_{i}

mit nur endlich vielen γ_{ij} ∈ 𝔽_{q}^{∗} für i = 1, …, m und j ≥ 0.

Die Elemente x^{j}u_{i} für i = 1, …, m und für j ≥ 0 haben paarweise inkongruente Polordnungen an der Stelle P′_{∞}, weil u_{1}, …, u_{m} modulo m paarweise inkongruente Polordnungen an der Stelle P′_{∞} haben und v_{P′_{∞}}(x) = −m gilt. Damit folgt nach Lemma 2.1.8

v_{P′_{∞}}(z) = min_{ij} {v_{P′_{∞}} (γ_{ij}x^{j}u_{i})} = min_{ij} {v_{P′_{∞}} (x^{j}u_{i})} .

Damit z ∈ L (rP′_{∞}), muß v_{P′_{∞}}(z) ≥ −r gelten. Daher muß für jedes j ≥ 0 und für jedes i ∈ {1, …, m} gelten:

v_{P′_{∞}} (x^{j}u_{i}) ≥ −r.

Daraus folgt die zusätzliche Bedingung für i und j:

r ≥ jm − v_{P′_{∞}}(u_{i}).
□

Wir verfolgen das Ziel, die Berechnung von Basen für L (rP′_{∞}) zu implementieren. Für die Verkürzung der Rechenzeit des entsprechenden Programms brauchen wir noch zwei wichtige Ergebnisse.

3.7 T -Mengen

Gelten die Voraussetzungen von Abschnitt 3.4, so haben wir für i = 1, …, m:

w_{i}^{Q} = ∑_{j=1}^{m} b_{ij}w_{j} mit b_{ij} ∈ 𝔽_{q}(x).

Wir definieren Mengen B_{i} für i = 1, …, m

B_{i} := {j ∈ {1, …, m} | b_{ij} ≠ 0}

und führen eine Äquivalenzrelation auf der Menge {w_{1}, …, w_{m}} wie folgt ein:

w_{i} ∼ w_{j} ⟺ B_{i} = B_{j}.

Sei m̄ := |{w_{1}, …, w_{m}}/ ∼ |. Wir wählen eine beliebige Reihenfolge der Äquivalenzklassen, bezeichnen für t = 1, …, m̄ mit

T_{t} die t-te Äquivalenzklasse

und setzen für t = 1, …, m̄

\begin{matrix}Ĩ_{t} := \{i ∈ \{1, …, m\} | w_{i} ∈ T_{t}\}, \\ J_{t} := \{j ∈ \{1, …, m\} | b_{ij} ≠ 0 für i ∈ Ĩ_{t}\}. \end{matrix}

Damit gilt J_{t} = B_{i} für alle i ∈ Ĩ_{t}, und die Mengen Ĩ_{t} sind paarweise disjunkt für t = 1, …, m̄.

Proposition 3.7.1 Sei k ∈ {2, …, m}. Sei t′ ∈ {1, …, m̄}, so dass w_{k} ∈ T_{t′}. Sind die Mengen J_{t} für t = 1, …, m̄ paarweise disjunkt, gilt c_{(i,k)} = 0 für alle i ∈ {1, …, k − 1} \ Ĩ_{t′}. Damit sieht u_{k} nach dem Ablauf des Algorithmus 3.4.6 wie folgt aus:

u_{k} = ∑_{i∈Ĩ_{t′} ∩{1,...,k}} c_{(i,k)}w_{i}.

Beweis. Wir fixieren ein k ∈ {2, …, m} und verfolgen Algorithmus 3.4.6 ab Schritt 2 unter den Voraussetzungen der Proposition.

Da {1, …, m} = ˙⋃m̄ ; t=1J_{t} gilt, hat z(e_{1}, …, e_{l})^{Q} in (9) in Schritt 2.2 folgende Darstellung:

z(e_{1}, …, e_{l})^{Q} = ∑_{t=1}^{m̄} (∑_{j∈J_{t}} (\frac{∑_{i∈Ĩ_{t}∩\{1,...,k\}} ∑_{s=0}^{l_{i}} e_{ϕ(i,s)}x^{sQ}bij^{′′}}{kgV (d_{1j}, …, d_{kj})} ) w_{j})

mit bij^{′′} = b_{ij} · kgV (d_{1j}, …, d_{kj}) ∈ 𝔽_{q}[x] für i ∈ Ĩ_{t} ∩ {1, …, k}, für j ∈ J_{t} und

für t = 1, …, m̄. Mit dem gleichen Verfahren wie in Schritt 2.2 muß analog zu (10) für t = 1, …, m̄ und für j ∈ J_{t} gelten:

(\frac{∑_{i∈Ĩ_{t}∩\{1,...,k\}} ∑_{s=0}^{l_{i}} e_{ϕ(i,s)}x^{sQ}bij^{′′}}{kgV (d_{1j}, …, d_{kj})} ) ∈ 𝔽_{q}(e_{1}, …, e_{l})[x].

Ablauf der Algorithmen 3.4.6 und 3.5.3 über 𝔽_{p} 34

Wir schreiben das Tupel e = (e_{1}, …, e_{l}) koordinatenweise so um, dass zuerst e_{ϕ(i,s)} mit i ∈ Ĩ_{1} ∩ {1, …, k}, dann e_{ϕ(i,s)} mit i ∈ Ĩ_{2} ∩ {1, …, k} und so weiter bis einschließlich e_{ϕ(i,s)} mit i ∈ Ĩm̄ ∩{1, …, k} nacheinander darin vorkommen.^{8} Damit sieht das lineare Gleichungssystem (12) aus Schritt 2.2 wie folgt aus:

( \begin{matrix}( S^{(1)} × L^{(1)} ) & (0) & ⋯ & (0) \\ (0) & ( S^{(2)} × L^{(2)} ) & ⋯ & (0) \\ ⋮ & ⋮ & ⋮ & ⋮ \\ (0) & (0) & ⋯ & ( S^{(m̄)} × L^{(m̄)} ) \end{matrix} )×e^{T} = ( 0 ⋮ ⋮ 0 ) ,

wobei jeder Block (S^{(t)} × L^{(t)}) für t = 1, …, m̄ eine Matrix darstellt mit

S^{(t)} := |J_{t}| · ∑_{j∈J_{t}} (h_{j}^{(r_{j})} + 1) Zeilen^{9} und mit L^{(t)} := ∑_{i∈Ĩ_{t}}(l_{i} + 1) Spalten.

Wir wissen nach den Schritten 2.3 und 2.4, dass es im Lösungsraum dieses Systems genau eine nichttriviale Lösung (e_{1}^{∗}, …, e_{l}^{∗}) ∈ 𝔽_{q}^{l} gibt, so dass für i = 1, …, k gilt:

c_{(i,k)} = a_{i}(e_{1}^{∗}, …, e_{l}^{∗}, x).

Da nach der Voraussetzung der Proposition k ∈ Ĩ_{t′} gilt, werden die c_{(i,k)} für i ∈ Ĩ_{t′} ∩ {1, …, k} und insbesondere der Idealerzeuger c_{(k,k)} ≠ 0 durch

den Block (S^{(t′)} × L^{(t′)}) des Systems bestimmt. Wegen der Eindeutigkeit der Lösung (e_{1}^{∗}, …, e_{l}^{∗}), und da dieses lineare Gleichungssystem homogen ist, folgt e_{ϕ(i,s)}^{∗} = 0 für i ∈ {1, …, k − 1} \ Ĩ_{t′} und für s = 0, …, l_{i}. Damit sind die c_{(i,k)} = 0 für i ∈ {1, …, k − 1} \ Ĩ_{t′}.

□

Erfüllt die in Abschnitt 3.1(2) gewählte Basis {w_{1}, …, w_{m}} die Voraussetzung von Proposition 3.7.1, setzen wir in Algorithmus 3.4.6 in Schritt 2.2 (siehe (8)) für i ∈ {1, …, k − 1} \ Ĩ_{t′}: a_{i}(e_{1}, …, e_{l}, x) := 0. Damit wird die Division in (10) in Schritt 2.2 nur für die j ∈ J_{t′} durchgeführt.

3.8 Ablauf der Algorithmen 3.4.6 und 3.5.3 über 𝔽_{p}

Da die Algorithmen 3.4.6 und 3.5.3 zu den Berechnungen von Ganzheitsbasen für F′/𝔽_{q}(x) geschrieben worden sind, finden alle Berechnungen natürlicherweise über 𝔽_{q} statt. Insbesondere wird Q = q^{n_{1}} für ein n_{1} ∈ ℕ gewählt. Wir werden in diesem Abschnitt zeigen, dass es unter gewissen Voraussetzungen möglich ist, alle Berechnungen über 𝔽_{p} durchzuführen und trotzdem eine Ganzheitsbasis für F′/𝔽_{q}(x) zu bestimmen. Dabei werden wir Q = p^{n_{2}} für ein n_{2} ∈ ℕ wählen.^{10}

e = ( \underbrace{e_{ϕ(i,0)}, …}_{i∈Ĩ_{1}∩\{1,...,k\}}, …, \underbrace{e_{ϕ(i_{1},0)}, …, e_{ϕ(i_{1},l_{i1} )}, …, e_{ϕ(i_{s},0)}, e_{ϕ(i_{s},l_{is})}}_{für Ĩ_{t}∩\{1,...,k\}}, …, \underbrace{…, e_{ϕ(i,l_{i})}}_{i∈Ĩm̄∩\{1,...,k\}}).

8Sei zum Beispiel Ĩ_{t} ∩ {1, …, k} = {i_{1}, …, i_{s}} für ein t ∈ {1, …, m̄}. Damit ist

9r_{j} ist auf Seite 24 definiert.

10Dies verkürzt die Rechenzeit des Algorithmus 3.4.6. So sei zum Beispiel q = 27 und v_{P′}(w_{i}) > −7 für alle P′ ∈ ℙ_{F′} \ {P′_{∞}} und für i = 1, …, m. Laut Algorithmus 3.4.6 wählen wir Q = 27 mit n_{1} = 1. Gelten jedoch die nötigen Voraussetzungen, können wir über 𝔽_{p} rechnen. So werden wir dann Q = 9 mit n_{2} = 2 wählen. Es macht einen Unterschied, ob die Basisdarstellungen von w_{i}^{27} oder von w_{i}^{9} für i = 1, …, m berechnet werden müssen.

Sei L/𝔽_{p} ein algebraischer Funktionenkörper mit dem Konstantenkörper 𝔽_{p}, so dass F′ = L𝔽_{q} eine algebraische Konstantenkörpererweiterung von L/𝔽_{p} ist. Nach Proposition 2.2.10(2) ist 𝔽_{q} der volle Konstantenkörper von F′/𝔽_{q}. Nach Proposition 2.2.10(1) ist L/𝔽_{p}(x) eine endliche Funktionenkörpererweiterung vom Grad m. Da F′/𝔽_{q}(x) und 𝔽_{q}(x)/𝔽_{p}(x) separabel sind, ist L/𝔽_{p}(x) ebenso separabel.

Sei Q_{∞} der Pol von x in 𝔽_{p}(x). Da P_{∞} voll verzweigt in F′/𝔽_{q}(x) ist, und da nach Proposition 2.2.10(3) jede Stelle von L/𝔽_{p} unverzweigt in F′/L ist, bzw. jede Stelle von 𝔽_{p}(x)/𝔽_{p} unverzweigt in 𝔽_{q}(x)/𝔽_{p}(x) ist, folgt nach Proposition 2.2.11, dass Q_{∞} voll verzweigt in L/𝔽_{p}(x) ist. Daher existiert genau eine Stelle Q′_{∞} ∈ ℙ_{L} mit O′_{∞}|Q_{∞}.

Sei O_{L} := {z ∈ L | v_{Q′}(z) ≥ 0 für alle Q′ ∈ ℙ_{L} \ {Q′_{∞}}} .

Sei g(L) das Geschlecht von L/𝔽_{p}.

Sei g(F′) das Geschlecht von F′/𝔽_{q}.

Lemma 3.8.1 Gelte die obige Situation und sei α ∈ ℕ ∪ {0}. Dann ist α eine Polzahl von P′_{∞} dann und nur dann, wenn α eine Polzahl von Q′_{∞} ist.

Beweis. ⟸ Sei α eine Polzahl von Q′_{∞}. Nach Lemma 3.5.1(2) existiert ein z ∈ O_{L} mit v_{Q′_{∞}}(z) = −α. Wegen O_{L} ⊆ O′ und e(P′_{∞}|Q′_{∞}) = 1 gilt: z ∈ O′ mit v_{P′_{∞}}(z) = −α. Dann ist nach Lemma 3.5.1(2) α eine Polzahl von P′_{∞}.

⟹ Sei α eine Polzahl von P′_{∞}, aber eine Fehlzahl von Q′_{∞}. Nach “⟸“ folgt: jede Fehlzahl von P′_{∞} ist eine Fehlzahl von Q′_{∞}. Damit gilt wegen α

{β | β ist eine Fehlzahl von P′_{∞}} ⫋ {γ | γ ist eine Fehlzahl von Q′_{∞}} .

Daraus folgt nach Theorem 2.1.21

g(F′) < g(L).

Nach Proposition 2.2.10(4) gilt jedoch

g(F′) = g(L).

Damit folgt, dass α eine Polzahl auch von Q′_{∞} ist.

□

Proposition 3.8.2 Gelte die obige Situation. Dann ist jede Ganzheitsbasis für L/𝔽_{p}(x) mit Elementen, deren Polordnungen an der Stelle Q′_{∞} modulo m paarweise inkongruent sind, eine Ganzheitsbasis für F′/𝔽_{q}(x) mit Elementen, deren Polordnungen an der Stelle P′_{∞} ebenso modulo m paarweise inkongruent sind.

Beweis. Sei {y_{1}, …, y_{m}} eine Ganzheitsbasis für L/𝔽_{p}(x), so dass für i ≠ j und i, j = 1, …, m gilt: v_{Q′_{∞}}(y_{i}) ≢ v_{Q′_{∞}}(y_{j}) mod m. Nach Theorem 3.5.2 gilt für i = 1, …, m:

v_{Q′_{∞}}(y_{i}) = min{α ∈ ℕ | α ist eine Polzahl von Q′_{∞} mit α ≡ i mod m}.

Wegen O_{L} ⊆ O′ gilt y_{1}, …, y_{m} ∈ O′, und wegen e(P′_{∞}|Q′_{∞}) = 1 gilt für i = 1, …, m

v_{P′_{∞}}(y_{i}) = v_{Q′_{∞}}(y_{i}).

Ein Algorithmus zur Berechnung einer Basis von L (rP′_{∞}) 36

Damit und nach Lemma 3.8.1 folgt

v_{P′_{∞}}(y_{i}) = min{α ∈ ℕ | α ist eine Polzahl von P′_{∞} mit α ≡ i mod m}.

Nach Theorem 3.5.2 ist {y_{1}, …, y_{m}} eine Ganzheitsbasis für F′/𝔽_{q}(x) mit v_{P′_{∞}}(y_{i}) ≢ v_{P′_{∞}}(y_{j}) mod m für i, j = 1, …, m und i ≠ j.

□

3.9 Ein Algorithmus zur Berechnung einer Basis von L (rP′_{∞})

Unter den Voraussetzungen aus den Abschnitten 3.1 und 3.4 und mit den Ergebnissen des Kapitels 3 können Basen von L (rP′_{∞}) wie folgt berechnet werden.

Algorithmus 3.9.1 Berechnung einer Basis von L (rP′_{∞}) für ein r ≥ 0.

Schritt 1 Wir wählen wie in Abschnitt 3.1(2) eine Basis {w_{1}, …, w_{m}} für F′/𝔽_{q}(x). Wir nehmen an, dass v_{P′_{∞}}(w_{i}) ≢ v_{P′_{∞}}(w_{j}) mod m für i, j = 1, …, m und i ≠ j gilt.

Schritt 2 Wir wählen wie in Abschnitt 3.1(4) eine Zahl Q ∈ ℕ, so dass Q = q^{n_{1}} für ein n_{1} ∈ ℕ.

Schritt 3 Wir bestimmen für i = 1, …, m:

w_{i}^{Q} = ∑_{j=1}^{m} b_{ij}w_{j} mit b_{ij} ∈ 𝔽_{q}(x) für i, j = 1, …, m.

Zu den Schritten 1-3 ist noch folgendes zu sagen: wie wir die Basis {w_{1}, …, w_{m}} und die Zahl Q wählen und die Basisdarstellungen von w_{1}^{Q}, …, w_{m}^{Q} bestimmen, hängt von der Struktur von F′/𝔽_{q}(x) ab.

Schritt 4 Wir definieren nach (4) in Abschnitt 3.4 die Polynome D_{i} für i = 1, …, m. Siehe dazu auch Lemma 3.4.2 und Folgerung 3.4.3.

Schritt 5 Wir definieren wie in Abschnitt 3.7 Mengen T_{t} für t = 1, …, m̄. Wir testen, ob ihre Indexmengen J_{t} für t = 1, …, m̄ paarweise disjunkt sind.

Schritt 6 Wir berechnen eine Ganzheitsbasis {u_{1}, …, u_{m}} für F′/𝔽_{q}(x) mittels Algorithmus 3.4.6. Dabei ist zu beachten: sind J_{t} für t = 1, …, m̄ nicht paarweise disjunkt, verläuft Algorithmus 3.4.6 exakt nach seiner Beschreibung. Sind J_{t} für t = 1, …, m̄ jedoch paarweise disjunkt, fixieren wir vor Schritt 2.2 den Index t′ ∈ {1, … m̄}, für den w_{k} ∈ T_{t′} gilt. Nach Proposition 3.7.1 werden a_{i}(e_{1}, …, e_{l}, x) := 0 (in (8) in Schritt 2.2) für i ∈ {1, …, k − 1} \ Ĩ_{t′} gesetzt.

Schritt 7 Wir bestimmen mittels Algorithmus 3.5.3 eine Ganzheitsbasis {u_{1}^{∗}, …, u_{m}^{∗}} für F′/𝔽_{q}(x), deren Elemente modulo m paarweise inkongruente Polordnungen an der Stelle P′_{∞} haben.

Schritt 8 Wir berechnen nach Proposition 3.6.1 eine Basis des Vektorraums L(rP′_{∞}).

Gelten die Voraussetzungen aus Abschnitt 3.8, so wählen wir in Schritt 1 eine Basis {w_{1}, …, w_{m}} für F′/𝔽_{q}(x), allerdings über 𝔽_{p}, und in Schritt 2 die Zahl Q = p^{n_{2}} für ein n_{2} ∈ ℕ. Damit werden alle Berechnungen in Algorithmus 3.9.1 über 𝔽_{p} stattfinden.

Im nächsten Kapitel werden wir einen Turm (F_{n})_{n≥0} algebraischer Funktionenkörper betrachten, für den Algorithmus 3.9.1 angewendet wird.

4 Globale Ganzheitsbasen in einem Turm (F_{n})_{n≥0} algebraischer Funktionenkörper und Basen für die Vektorräume L (rP_{∞}^{(n)})

4.1 Vorbereitungen

Sei 𝔽_{p^{2}} der endliche Körper mit p^{2} Elementen und Charakteristik p > 2, p ist Primzahl.

Sei F = (F_{0}, F_{1}, …, F_{n}, …) der wie folgt definierte Funktionenkörperturm:

F_{0} = 𝔽_{p^{2}}(x_{0}),

wobei x_{0} transzendent über 𝔽_{p^{2}} ist, und

F_{n} = F_{n−1}(x_{n}) für n ≥ 1,

wobei x_{n} die folgende Gleichung erfüllt

x_{n}^{2} = \frac{x_{n−1}^{2} + 1}{2x_{n−1}}.  (25)

Da F_{0}/𝔽_{p^{2}} rational ist, bezeichnen wir mit P_{∞} den einzigen Pol von x_{0} in F_{0} und mit P_{α} ∈ ℙ_{F_{0}}\{P_{∞}} die Stelle von F_{0}/𝔽_{p^{2}}, der das Polynom x_{0}−α ∈ 𝔽_{p^{2}}[x_{0}] entspricht. Nach Definition ist P_{α} die Nullstelle des Elements x_{0} − α in F_{0}.

Nach Proposition 5.3 [Gar-Sti-Rüc] ist der Verzweigungsort dieses Turms

V (F) = {P_{1}, P_{−1}, P_{−I}, P_{I}, P_{0}, P_{∞}},

wobei I ∈ 𝔽_{p^{2}} mit I^{2} = −1 ist.

Bemerkung 4.1.1 Nach dem Beweis von Proposition 5.3 [Gar-Sti-Rüc] gilt: die Stellen P_{0}, P_{±I}, P_{∞} sind voll verzweigt in F, und die Stelle P_{−1} ist voll verzweigt in F ab dem Funktionenkörper F_{2}. Die Verzweigung über der Stelle P_{1} ist komplexer und wird in Kürze genauer diskutiert.

Wir definieren:

S_{0} := ℙ_{F_{0}} \ {P_{∞}},

O_{0} := ⋂_{P ∈S_{0}} O_{P} = 𝔽_{p^{2}}[x_{0}] ⊆ F_{0}.

Sei n ≥ 1. Nach Bemerkung 4.1.1 existiert genau eine Stelle von F_{n}/𝔽_{p^{2}}, die über P_{∞} ∈ ℙ_{F_{0}} liegt. Diese bezeichnen wir mit P_{∞}^{(n)}. Damit definieren wir:

S_{n} := ℙ_{F_{n}} \ {P_{∞}^{(n)}} ,
O_{n} := ic_{F_{n}}(O_{0}) ⊆ F_{n}.

Die Stellen aus S_{n} bezeichnen wir mit P^{(n)}. Nach Proposition 2.2.14 gilt:

O_{n} = ⋂_{P^{(n)}∈S_{n}} O_{P^{(n)}} = {z ∈ F_{n} | v_{P^{(n)}}(z) ≥ 0 für alle P^{(n)} ∈ S_{n}} .

Sei P^{(n)} ∈ S_{n} und i ∈ {1, …, n}. Da F_{n}/𝔽_{p^{2}}(x_{i}) eine Funktionenkörpererweiterung ist, existiert nach Proposition 2.2.4 genau eine Stelle Q^{(i)} ∈ ℙ_{𝔽_{p^{2}} (x_{i})}, so dass P^{(n)} ∩ 𝔽_{p^{2}}(x_{i}) = Q^{(i)}. Ist deg Q^{(i)} = 1 und

i) ist Q^{(i)} kein Pol von x_{i} in 𝔽_{p^{2}}(x_{i}), dann existiert genau ein α ∈ 𝔽_{p^{2}}, so dass < x_{i} − α >= Q^{(i)}, und wir schreiben x_{i} (P^{(n)}) = α. ii) ist Q^{(i)} der Pol von x_{i} in 𝔽_{p^{2}}(x_{i}), so schreiben wir x_{i}(P^{(n)}) = ∞. Im Fall P^{(n)} ∩ F_{0} ∈ {P_{α} | α ∈ 𝔽_{p^{2}}} ∪ {P_{∞}} schreiben wir jeweils x_{0} (P^{(n)}) = α und x_{0} (P^{(n)}) = ∞.

Bemerkung 4.1.2 Aus der Gleichung (25) folgt: für alle t ∈ ℕ, t ≥ 2 existieren mindestens zwei Stellen P_{1}^{(t)} und P_{2}^{(t)} von F_{t}/𝔽_{p^{2}}, so dass

x_{t} (P_{i}^{(t)}) = (−1)^{i}I und P_{i}^{(t)} ∩ F_{0} = P_{1} für i = 1, 2.

Sei i ∈ {1, 2}. Dann gilt:

1. x_{j} (P_{i}^{(t)}) = 1 für j = 0, …, t − 2.

2. x_{t−1} (P_{i}^{(t)}) = −1.

3. Für alle P^{(t+1)} ∈ S_{t+1} mit P^{(t+1)} ∩ F_{t} = P_{i}^{(t)} gilt: x_{t+1} (P^{(t+1)}) = 0.

4. Sei j ≥ t+2. Dann gilt für alle P^{(j)} ∈ S_{j} mit P^{(j)}∩F_{t} = P_{i}^{(t)}: x_{j} (P^{(j)}) = ∞.

Fixieren wir ein t ≥ 2 aus Bemerkung 4.1.2, so sind die Verzweigungsindizes der Einschränkungen und der Fortsetzungen von P_{i}^{(t)} für i = 1, 2 aus der folgenden Abbildung 1 abzulesen:

[figure: Abbildung 1.; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; .; F_{0}; F_{1}; F_{t}; F_{2t}; 𝔽_{p^{2}} (x_{1}); 𝔽_{p^{2}} (x_{2}); 𝔽_{p^{2}} (x_{t−1}); 𝔽_{p^{2}} (x_{t}); 𝔽_{p^{2}} (x_{t+1}); 𝔽_{p^{2}} (x_{2t}); 1; 2; 1; 2; 1; 2; 1; 2; 2; 1; 2; 1; 2; 1; 2; 1; 1; 2; 1; 2; 1; 1; 2; 1; 2; 1; 2; 1; 1; 2; 1; 2; 2; 1; 2; 1; 2; 1; 1; 2; 1; 2; 1; 2; 1; 2; 1; 1; 2; 1; 2; 1; 2; 1; 2; 1; 2; 2; 1; 2; 1; 2; 1; 1; 2; 2; 1; 2; 1; 2; 2; 2; 1; 2; 1; 1; 2; 1; 2; 2; 1; 2; 1; 1; 2; 1; 2; 1; 2]

Damit ist die Verzweigung über P_{1} ∈ S_{0} beschrieben.

39 Ganzheitsbasen in einem Turm (F_{n})_{n≥0} und Basen von L (rP_{∞}^{(n)})

Sei n ≥ 1. Wir assoziieren zu jeder Stelle P^{(n)} ∈ S_{n} eine Zahl s ∈ ℤ mit −1 ≤ s ≤ n + 3 wie folgt:

s = −1, falls P^{(n)} ∩ F_{0} = P_{0},

s = 0, falls P^{(n)} ∩ F_{0} = P_{±I},

s = 1, falls P^{(n)} ∩ F_{0} = P_{−1},

s = t, falls P^{(n)} ∩ F_{0} = P_{1}, x_{t} (P^{(n)}) = ±I für t = 2, …, n, (n ≥ 2) s = n + 1, falls P^{(n)} ∩ F_{0} = P_{1}, x_{n} (P^{(n)}) = −1, s = n + 2, falls P^{(n)} ∩ F_{0} = P_{1}, x_{n} (P^{(n)}) = 1, s = n + 3, falls P^{(n)} ∩ F_{0} = P ∈ S_{0} \ V (F).

Lemma 4.1.3 Sei s wie oben definiert, dann gilt für n ≥ 1

\begin{aligned}v_{P^{(n)}}(x_{0}^{2} + 1) & = & \{ \begin{matrix}2^{n}, & s = 0 \\ 0, & s ≠ 0 \end{matrix} \\ v_{P^{(n)}}(x_{0} + 1) & = & \{ \begin{matrix}\{ \begin{matrix}1, & n = 1, 2, \\ 2^{n−2}, & n ≥ 3, \end{matrix} & s = 1 \\ 0, & s ≠ 1 \end{matrix} \\ v_{P^{(n)}}(x_{0} − 1) & = & \{ \begin{matrix}0, & s ∈ \{−1, 0, 1, n + 3\} \\ 2^{n−2s}, & 2 ≤ s < \frac{n}{2} \\ 1, & \frac{n}{2} ≤ s ≤ n + 2 \end{matrix} \end{aligned}

und für i = 0, …, n

v_{P^{(n)}}(x_{i}) = \{ \begin{matrix}\{ \begin{matrix}0, & i < s + 1, \\ 2^{n−i}, & i = s + 1, \\ −2^{n−i}, & i > s + 1, \end{matrix} & −1 ≤ s < \frac{n}{2} \\ \{ \begin{matrix}0, & i < s + 1, \\ 2^{s−1}, & i = s + 1, \\ −2^{2s−i}, & i > s + 1, \end{matrix} & \frac{n}{2} ≤ s < n \\ 0, & n ≤ s ≤ n + 3 \end{matrix}

Beweis. Sei P^{(n)} ∈ S_{n}. Dann existiert genau eine Stelle P ∈ S_{0}, so dass P^{(n)}|P und für z ∈ F_{0} gilt:

v_{P^{(n)}}(z) = e(P^{(n)}|P)v_{P} (z).  (26)

Sei z = x_{0}^{2}+1 = (x_{0}+I)(x_{0}−I). Nach Bemerkung 4.1.1 ist P_{±I} voll verzweigt in F und nach Definition ist x_{0} ∓ I ∈ 𝔽_{p^{2}}[x_{0}] ein Primelement für diese Stelle. Damit gilt nach (26):

v_{P^{(n)}}(x_{0}^{2} + 1) = \{ \begin{matrix}e(P^{(n)}|P), & P = P_{±I} \\ 0, & P ≠ P_{±I} \end{matrix} = \{ \begin{matrix}2^{n}, & s = 0 \\ 0, & s ≠ 0 \end{matrix}

Sei z = x_{0} + 1. Nach Bemerkung 4.1.1 ist P_{−1} voll verzweigt in F ab dem Funktionenkörper F_{2}, und nach der definierenden Gleichung (25) ist sie unverzweigt in F_{2}/F_{0}. Nach Definition ist x_{0} + 1 ∈ 𝔽_{p^{2}}[x_{0}] ein Primelement für diese Stelle. Damit folgt nach (26):

v_{P^{(n)}}(x_{0} + 1) = \{ \begin{matrix}e(P^{(n)}|P), & P = P_{−1} \\ 0, & P ≠ P_{−1} \end{matrix} = \{ \begin{matrix}\{ \begin{matrix}1, & n = 1, 2, \\ 2^{n−2}, & n ≥ 3, \end{matrix} & s = 1 \\ 0, & s ≠ 1 \end{matrix}

Sei z = x_{0} − 1. Nach Definition ist x_{0} − 1 ∈ 𝔽_{p^{2}}[x_{0}] ein Primelement für P_{1}. Dann folgt nach (26) und Abbildung 1:

v_{P^{(n)}}(x_{0} − 1) = \{ \begin{matrix}e(P^{(n)}|P), & P = P_{1} \\ 0, & P ≠ P_{1} \end{matrix} = \{ \begin{matrix}2^{n−2s}, & 2 ≤ s < \frac{n}{2} \\ 1, & \frac{n}{2} ≤ s ≤ n + 2 \\ 0, & s ∈ \{−1, 0, 1, n + 3\} \end{matrix}

Nun berechnen wir v_{P^{(n)}}(x_{i}) für i = 0, …, n und für alle P^{(n)} ∈ S_{n}. Nach (26) gilt:

v_{P^{(n)}}(x_{0}) = e(P^{(n)}|P)v_{P} (x_{0}).  (27)

Für jede Stelle P^{(n)} ∈ S_{n} existiert genau eine Stelle P^{(i)} ∈ S_{i}, so dass P^{(n)} ∩ F_{i} = P^{(i)} für i = 1, …, n − 1, und für diese existiert genau eine Stelle Q^{(i)} ∈ ℙ_{𝔽_{p^{2}} (x_{i})} mit P^{(i)} ∩ F_{p^{2}(x_{i})} = Q^{(i)} für i = 1, …, n. Damit gilt für i = 1, …, n − 1

v_{P^{(n)}}(x_{i}) = e(P^{(n)}|P^{(i)})e(P^{(i)}|Q^{(i)})v_{Q^{(i)}}(x_{i})  (28)

und

v_{P^{(n)}}(x_{n}) = e(P^{(n)}|Q^{(n)})v_{Q^{(n)}}(x_{n}).  (29)

Es gilt für i = 1, …, n: v_{Q^{(i)}}(x_{i}) ≠ 0 ⟺ Q^{(i)} ist die Nullstelle oder der Pol von x_{i} in 𝔽_{p^{2}}(x_{i}). Ist Q^{(i)} die Nullstelle von x_{i} in 𝔽_{p^{2}}(x_{i}), gilt x_{i}(P^{(n)}) = 0 und v_{Q^{(i)}}(x_{i}) = 1. Ist Q^{(i)} der Pol von x_{i} in 𝔽_{p^{2}}(x_{i}), gilt x_{i}(P^{(n)}) = ∞ und v_{Q^{(i)}}(x_{i}) = −1.

Wir unterscheiden weiter fünf Fälle, je nachdem, welche Stelle P^{(n)} ∩ F_{0} ist.

1. Sei P^{(n)} ∩ F_{0} = P_{0}. Damit folgt aus der Gleichung (25) x_{0}(P^{(n)}) = 0 und x_{i}(P^{(n)}) = ∞ für i = 1, …, n. Nach Bemerkung 4.1.1 ist P_{0} voll verzweigt in F, und nach der Gleichung (25) ist die Stelle P^{(i)} ∈ S_{i} mit P^{(i)} ∩ F_{0} = P_{0} unverzweigt in F_{i}/𝔽_{p^{2}}(x_{i}) für i ≥ 1. Damit und nach (27) - (29) folgt für i = 0, …, n (s = −1):

v_{P^{(n)}}(x_{i}) = \{ \begin{matrix}e(P^{(n)}|P_{0})v_{P_{0}}(x_{0}), & i = 0 \\ e(P^{(n)}|P^{(i)})e(P^{(i)}|Q^{(i)})v_{Q^{(i)}}(x_{i}), & i = 1, …, n − 1 \\ e(P^{(n)}|Q^{(n)})v_{Q^{(n)}}(x_{n}), & i = n \end{matrix}

= \{ \begin{matrix}2^{n}, & i = 0 \\ 2^{n−i} · (−1), & i = 1, …, n \end{matrix}
= \{ \begin{matrix}2^{n−i}, & i = s + 1, \\ −2^{n−i}, & i > s + 1, \end{matrix} s = −1

2. Sei P^{(n)} ∩ F_{0} = P_{±I}. Dann folgt aus der Gleichung (25) x_{0}(P^{(n)}) = ±I, x_{1}(P^{(n)}) = 0 und x_{i}(P^{(n)}) = ∞ für i = 2, …, n. Nach Bemerkung 4.1.1 ist P_{±I} voll verzweigt in F, und nach der Gleichung (25) ist die Stelle P^{(i)} ∈ S_{i} mit P^{(i)} ∩ F_{0} = P_{±I} unverzweigt in F_{i}/𝔽_{p^{2}}(x_{i}) für i ≥ 1. Damit und nach (27) - (29) folgt für i = 0, …, n (s = 0):

v_{P^{(n)}}(x_{i}) = \{ \begin{matrix}0, & i = 0 \\ 2^{n−1}, & i = 1 \\ −2^{n−i}, & i = 2, …, n \end{matrix} = \{ \begin{matrix}0, & i < s + 1, \\ 2^{n−i}, & i = s + 1, \\ −2^{n−i}, & i > s + 1, \end{matrix} s = 0

3. Sei P^{(n)} ∩ F_{0} = P_{−1}. Dann folgt aus der definierenden Gleichung (25) x_{0}(P^{(n)}) = −1, x_{1}(P^{(n)}) = ±I, x_{2}(P^{(n)}) = 0 und x_{i}(P^{(n)}) = ∞ für i = 3, …, n. Nach Bemerkung 4.1.1 ist P_{−1} voll verzweigt in F ab dem Funktionenkörper F_{2} und unverzweigt in F_{2}/F_{0}. Nach der Gleichung (25) ist jede Stelle P^{(i)} ∈ S_{i} mit P^{(i)} ∩ F_{0} = P_{−1} unverzweigt in F_{i}/𝔽_{p^{2}}(x_{i}) für i ≥ 2, und jede Stelle P^{(1)} ∈ S_{1} mit P^{(1)} ∩ F_{0} = P_{−1} ist voll verzweigt in F_{1}/𝔽_{p^{2}}(x_{1}). Damit und nach (27) - (29) folgt für i = 0, …, n (s = 1):

v_{P^{(n)}}(x_{i}) = \{ \begin{matrix}0, & i = 0, 1 \\ 2^{n−2}, & i = 2 \\ −2^{n−i}, & i = 3, …, n \end{matrix} = \{ \begin{matrix}0, & i < s + 1, \\ 2^{n−i}, & i = s + 1, \\ −2^{n−i}, & i > s + 1, \end{matrix} s = 1

4. Sei P^{(n)} ∩ F_{0} = P_{1}. Damit ist s ∈ {2, …, n + 2}. Nach Bemerkung 4.1.2, Abbildung 1 und (27) - (29) gelten die drei folgenden Unterfälle:

4.1. Ist 2 ≤ s < \frac{n}{2}, gilt:

0 ≤ i < s + 1 ⟺ x_{i} (P^{(n)}) ∈ {±1, ±I}
⟺ v_{P^{(n)}}(x_{i}) = 0
i = s + 1 ⟺ x_{i} (P^{(n)}) = 0
⟺ v_{P^{(n)}}(x_{i}) = 2^{n−2s} · 2^{s−1} = 2^{n−i}
s + 1 < i ≤ n ⟺ x_{i} (P^{(n)}) = ∞
⟺ v_{P^{(n)}}(x_{i}) = 2^{n−2s} · 2^{2s−i} · (−1) = −2^{n−i} für i < 2s
und v_{P^{(n)}}(x_{i}) = −2^{n−i} für i ≥ 2s

4.2. Ist \frac{n}{2} ≤ s < n, gilt analog Fall 4.1:

\begin{aligned}0 ≤ i < s + 1 & ⟺ & v_{P^{(n)}}(x_{i}) = 0 \\ i = s + 1 & ⟺ & v_{P^{(n)}}(x_{i}) = 1 · 2^{2s−(s+1)} = 2^{s−1} \\ s + 1 < i ≤ n & ⟺ & v_{P^{(n)}}(x_{i}) = 2^{2s−i} · (−1) = −2^{2s−i} \end{aligned}

4.3. Ist n ≤ s ≤ n + 2, gilt x_{i} (P^{(n)}) ∈ {±1, ±I}, und damit v_{P^{(n)}}(x_{i}) = 0 für i = 0, …, n.

5. Nach dem Beweis von Proposition 5.3 [Gar-Sti-Rüc] folgt für i = 0, …, n:

x_{i}(P^{(n)}) ∈ {0, ∞} ⟹ P^{(n)} ∩ F_{0} = P ∈ V (F).

Daher gilt v_{P^{(n)}}(x_{i}) = 0 für P^{(n)} ∈ S_{n} mit P^{(n)} ∩ F_{0} = P ∈ S_{0} \ V (F) und für i = 0, …, n. Dabei ist s = n + 3.

Wenn wir alle fünf Fälle zusammenfassen, bekommen wir die Aussage des Lemmas.

□

Eine Basis für F_{n}/F_{0} nach Punkt (2) in Abschnitt 3.1 42

4.2 Eine Basis für F_{n}/F_{0} nach Punkt (2) in Abschnitt 3.1

Wir setzen

α_{1} := \frac{x_{1}}{x_{0}^{2} + 1},

α_{2} := \frac{x_{2}}{x_{0} + 1},  (30)

α_{i} := \frac{x_{i}}{(x_{0} − 1)^{2^{i−2}}} für i = 3, …, n,

und

β_{i} := \frac{1}{α_{i}} für i = 1, …, n.

Wir definieren für n ≥ 1

N := {1, …, n},
m := 2^{n}.

Da |{V | V ⊆ N }| = m, existiert eine Bijektion θ : {1, …, m} → {V | V ⊆ N }. Wir setzen für j = 1, …, m

V_{j} := θ(j)  (31)

und damit

w_{j} := ∏_{i∈V_{j}} α_{i}.  (32)

Wir werden weiter schreiben

α_{i} | w_{j} ⟺ i ∈ V_{j}.

Sei n ≥ 1. Nun berechnen wir v_{P_{∞}^{(n)}}(w_{j}) für j = 1, …, m. Da P_{∞} ∈ ℙ_{F_{0}} voll verzweigt in F ist, und da nach der Gleichung (25) die Stelle P^{(i)} ∈ S_{i} mit P^{(i)} ∩ F_{0} = P_{0} unverzweigt in F_{i}/𝔽_{p^{2}}(x_{i}) für i ≥ 1 ist, folgt v_{P_{∞}^{(n)}}(x_{i}) = −2^{n−i} für i = 0, …, n. Daher gilt für j = 1, …, m:

\begin{aligned}v_{P_{∞}^{(n)}}(w_{j}) & = & v_{P_{∞}^{(n)}} ( ∏_{i∈V_{j}} α_{i}) = ∑_{i∈V_{j}} v_{P_{∞}^{(n)}}(α_{i}) \\ & = & ∑_{i=1}^{n} (−2^{n−i} + 2^{n}deg f_{i}) σ_{ij}, \end{aligned}  (33)

wobei für i ∈ N gilt: mit f_{i} ∈ 𝔽_{p}[x_{0}] sind die Nenner von α_{i} in der Darstellung

(30) bezeichnet, und es gilt σ_{ij} := \{ \begin{matrix}1, & α_{i} | w_{j} \\ 0, & sonst \end{matrix} .

Da v_{P_{∞}^{(n)}}(w_{j}) ≡ ∑_{i=1}^{n} (−2^{n−i}) σ_{ij} mod m und ∑_{i∈V_{j_{1}}} 2^{i} ≠ ∑_{i∈V_{j_{2}}} 2^{i} für V_{j_{1}} ≠ V_{j_{2}} (nach (31) definiert) gilt, folgt

v_{P_{∞}^{(n)}}(w_{i}) ≢ v_{P_{∞}^{(n)}}(w_{j}) mod m für i ≠ j, i, j = 1, …, m.

Daher bilden w_{1}, …, w_{m} ∈ F_{n} eine Basis für F_{n}/F_{0}.

Lemma 4.2.1 Sei n ≥ 1. Für die oben definierte Basis {w_{1}, …, w_{m}} für F_{n}/F_{0} gilt:

O_{n} ⊆ ∑_{i=1}^{m} O_{0}w_{i}.

Beweis. Wir fixieren ein i ∈ N . Da F_{i} = F_{i−1}(x_{i}) und [F_{i} : F_{i−1}] = 2, ist {1, β_{i}} eine Basis für F_{i}/F_{i−1}.

Behauptung. \{\frac{1}{2}, \frac{α_{i}}{2} \} ist die duale Basis zu \{1, β_{i}\} für F_{i}/F_{i−1}. Beweis. Sei f_{i} der Nenner von α_{i} in der Darstellung (30). Dann ist das Minimalpolynom von β_{i}: φ(T) = T^{2} − \frac{2f_{i}^{2}x_{i−1}}{x_{i−1}^{2}+1} ∈ F_{i−1}[T]. Da φ(β_{i}) = 0, gilt

φ(T) = (T − β_{i})(T + β_{i}) wegen β_{i}^{2} = \frac{2f_{i}^{2}x_{i−1}}{x_{i−1}^{2}+1} . Es gilt φ′(β_{i}) = 2β_{i}. Nach dem

Beweis von Theorem III.5.10 [Sti] ist \{\frac{1}{2β_{i}} , \frac{β_{i}}{2β_{i}} \} = \{\frac{1}{2}, \frac{α_{i}}{2} \} die duale Basis zur Basis {1, β_{i}} für F_{i}/F_{i−1}. ⊲

Nach Lemma 4.1.3 folgt v_{P^{(n)}}(β_{i}) ≥ 0 für alle P^{(n)} ∈ S_{n}. Daher ist β_{i} ∈ O_{n}. Da β_{i} ∈ F_{i} und O_{i} = F_{i} ∩ O_{n}, gilt β_{i} ∈ O_{i}. So ist {1, β_{i}} eine Basis für F_{i}/F_{i−1} mit Elementen aus O_{i}. Da O_{i} = ic_{F_{i}}(O_{i−1}), folgt nach der Behauptung und Theorem 2.2.13(2):

O_{i} ⊆ \frac{1}{2}O_{i−1} + \frac{α_{i}}{2} O_{i−1}.

Da \frac{1}{2} ∈ 𝔽_{p} ist, gilt

O_{i} ⊆ O_{i−1} + α_{i}O_{i−1}.

Da diese Inklusion für alle i = 1, …, n gilt, folgt:

O_{n} ⊆ O_{n−1} + α_{n}O_{n−1}
⊆ O_{n−2} + α_{n−1}O_{n−2} + α_{n}O_{n−2} + α_{n}α_{n−1}O_{n−2}
⊆ …
⊆ ∑_{i=1}^{m} O_{0}w_{i}.
□

4.3 Die Zahl Q nach Punkt (4) in Abschnitt 3.1

Seien w_{1}, …, w_{m} und N wie in Abschnitt 4.2 gegeben.

Lemma 4.3.1 Für jede Zahl Q ∈ ℕ mit

Q > \{ \begin{matrix}2^{n−2} + 2^{2n−3}, & n ≥ 2 \\ 1, & n = 1 \end{matrix}

gilt

v_{P^{(n)}}(w_{i}) > −Q

für alle P^{(n)} ∈ S_{n} und für i = 1, …, m.

Beweis. Wir fixieren den Index j′ ∈ {1, …, m}, für den gilt

w_{j′} = ∏_{i=1}^{n} α_{i}.

Wegen β_{i} = \frac{1}{α_{i}} ∈ O_{n} folgt v_{P^{(n)}}(α_{i}) ≤ 0 für alle P^{(n)} ∈ S_{n} und für i ∈ N. Damit gilt für alle P^{(n)} ∈ S_{n} und für j = 1, …, m:

v_{P^{(n)}}(w_{j′}) = ∑_{i=1}^{n} v_{P^{(n)}}(α_{i}) ≤ ∑_{i∈V_{j}} v_{P^{(n)}}(α_{j}) = v_{P^{(n)}}(w_{j}).

Die Zahl Q nach Punkt (4) in Abschnitt 3.1 44

Wählen wir eine Zahl Q ∈ ℕ so, dass

v_{P^{(n)}}(w_{j′}) > −Q  (34)

für alle P^{(n)} ∈ S_{n} gilt, folgt dann

v_{P^{(n)}}(w_{j}) > −Q

für alle P^{(n)} ∈ S_{n} und für j = 1, …, m. Um eine Zahl Q zu wählen, so dass (34) erfüllt ist, schätzen wir min {v_{P^{(n)}} (∏_{j=1}^{n} α_{j}) | P^{(n)} ∈ S_{n}} ab.

Sei P^{(n)} ∈ S_{n}. Nach Lemma 4.1.3 gilt:

v_{P^{(n)}}(α_{1}) ≥ −2^{n−1} für n ≥ 1,
v_{P^{(n)}}(α_{2}) ≥ −2^{n−2} für n ≥ 2.

Damit sind die Fälle für n = 1, 2 beschrieben.^{11}

Sei n ≥ 3. Nach Lemma 4.1.3 gilt für i = 3, …, n:

v_{P^{(n)}}(x_{i}) ≥ \{ \begin{matrix}−2^{n−i}, & −1 ≤ s < \frac{n}{2} \\ −2^{2s−i}, & \frac{n}{2} ≤ s < n \\ 0, & n ≤ s ≤ n + 3 \end{matrix}

Da i ≤ n, gilt

\begin{matrix}−2^{n−i} ≥ −2^{n−i} · 2^{n−2} & für n ≥ 3, \\ −2^{2s−i} ≥ −2^{n−i} · 2^{n−2} & für \frac{n}{2} ≤ s < n. \end{matrix}

Daraus folgt für i = 3, …, n

v_{P^{(n)}}(x_{i}) ≥ −2^{n−i} · 2^{n−2}.

Nach Lemma 4.1.3 gilt

v_{P^{(n)}} ((x_{0} − 1)^{2^{i−2}}) = \{ \begin{matrix}2^{i−2} · v_{P^{(n)}}(x_{0} − 1), & falls P^{(n)} ∩ F_{0} = P_{1} \\ 0, & sonst \end{matrix}

≤ 2^{i−2} · 2^{n−3}.

Nun folgt für i = 3, …, n:

v_{P^{(n)}}(α_{i}) ≥ −2^{n−i} · 2^{n−2} − 2^{i−2} · 2^{n−3}.

Damit haben wir für w_{j′}:

v_{P^{(n)}}(w_{j′}) = ∑_{i=1}^{n} v_{P^{(n)}}(α_{i})
≥ −2^{n−1} − 2^{n−2} − ∑_{i=3}^{n} (2^{n−3} · 2^{i−2} + 2^{n−2} · 2^{n−i})
= −2^{n−1} − 2^{n−2} − 2^{n−2} ∑_{i=3}^{n} (2^{i−3} + 2^{n−i})

11Es gilt für n = 2: 2^{n−1} = 2^{2n−3}.

= −2^{n−1} − 2^{n−2} − 2^{n−2} (∑_{s=0}^{n−3} 2^{s} + ∑_{s=0}^{n−3} 2^{s})

= −2^{n−1} − 2^{n−2} − 2^{n−1} ∑_{s=0}^{n−3} 2^{s}
= −2^{n−1} − 2^{n−2} − 2^{n−1} (2^{n−2} − 1)
= −2^{n−2} − 2^{2n−3}.

□

4.4 Anwendung von Algorithmus 3.9.1, seine Komplexität und Implementierung in der Programmiersprache von Maple 7

4.4.1 Grundlegende Komplexitätsabschätzungen

Sei X, Y ⊂ ℕ und seien f : X → ℝ und h : Y → ℝ. Dann schreiben wir h ∈ O(f), falls ein c ≥ 0 und ein n_{0} ∈ ℕ existieren, so dass für alle n ≥ n_{0} gilt:

n ∈ X ∩ Y und h(n) ≤ cf(n).

Wir werden bei der Abschätzung der Komplexität des Algorithmus 3.9.1 zur Berechnung einer Basis des Vektorraums L (rP_{∞}^{(n)}) (wir betrachten den in Abschnitt 4.1 definierten Turm F algebraischer Funktionenkörper) annehmen, dass die Operationen “ganze Zahl modulo einer Primzahl“, “+“, “-“, “·“, “/“, bzw. die Relationen “>“, “≥“, “<“, “≤“ zwischen zwei ganzen Zahlen jeweils Zeit O(1) benötigen.

Seien f(x), g(x) ∈ 𝔽_{p}[x] als Summen der Potenzen von x mit Koeffizienten aus 𝔽_{p} dargestellt. Im folgenden bezeichnen wir mit

“f(x) multiplizieren mit g(x)“

das Aufschreiben f(x)g(x) formal als Produkt und mit

“ausmultiplizieren von f(x)g(x)“

die Berechnung des Produkts f(x)g(x).

Nach [Grä], [Knu 1] und [Knu 2] erfordern die aufgelisteten Operationen folgende angegebene Zeiten:

C(Berechnung von ggT (f(x), g(x))) = O(deg f(x) · deg g(x))
C(Berechnung von f(x) + g(x)) = O(max{deg f(x), deg g(x)})
C(Ausmultiplizieren von f(x) · g(x)) = O(deg f(x) · deg g(x))

C ( \begin{matrix}Berechnung des Rests der \\ Division von f(x) durch g(x) \end{matrix} ) = O(deg g(x) · (deg f(x) − deg g(x)))

Nach [Knu 2] und [Rab] kostet die Faktorisierung von f(x) über 𝔽_{p} folgende Zeit:

C(F aktorisierung von f(x)) = \{ \begin{matrix}O(p · deg^{3} f(x)), für kleine p \\ O(p · deg^{3} f(x) · log^{3} deg f(x)), für große p \end{matrix}

Anwendung von Algorithmus 3.9.1, Komplexität und Implementierung 46

Da wir aber vorausgesetzt haben, dass die Operation “mod p“ Zeit O(1) benötigt, kann p in den Abschätzungen weggelassen werden.

Für die Komplexität der Berechnung des Lösungsraums eines linearen Gleichungssystems mit n Gleichungen benutzen wir die Abschätzung für die Komplexität des Gaußschen Algorithmus für eine [n × n]-Matrix nach [Grä] und [Aho-Hop-Ull]:

C ( \begin{matrix}Bestimmung des Lösungsraums eines linearen \\ Gleichungssystems mit n Gleichungen \end{matrix} ) = O(n^{3}).

Seien A, B zwei beliebige Mengen mit t Elementen. Dann benötigt nach [Aho-Hop-Ull] und [Knu 3]

- jede der Operationen A ∪ B, A ∩ B, A \ B und die Abfrage a ∈ A Zeit O(t),

- die Feststellung A = B Zeit O(t^{2}),

- die Operation A ˙∪ B Zeit O(1) unter der Voraussetzung, dass A ∩ B = ∅ bekannt ist.

Die Gesamtkomplexität des Algorithmus 3.9.1 ergibt sich aus den Komplexitäten der Berechnungen in den Schritten 1 - 8. Wir werden in den Abschnitten, in denen jeweils ein Schritt durchgeführt wird, die Algorithmen zu den Berechnungen aus diesem Schritt angeben, ihre Komplexität abschätzen, die Abschätzungen erläutern und eine Implementierung in der Programmiersprache von Maple 7 angeben.

Die Gesamtkomplexität des Algorithmus 3.9.1 zur Berechnung einer Basis von L (rP_{∞}^{(n)}) wird in Abhängigkeit von der Anzahl der rationalen Stellen von F_{n}/𝔽_{p^{2}} abgeschätzt.

4.4.2 Vorbereitungen zum Programm

In den nächsten Abschnitten wird Algorithmus 3.9.1 in der Programmiersprache von Maple 7 implementiert. Wir zeigen zuerst, dass Algorithmus 3.9.1 über 𝔽_{p} ablaufen wird, bzw. alle Berechnungen in Maple 7 modulo p stattfinden werden.

Für die in Abschnitt 4.2 gewählte Basis {w_{1}, …, w_{m}} für F_{n}/F_{0} gilt

w_{i} ∈ 𝔽_{p}(x_{0}, x_{1}, …, x_{n}) für i = 1, …, m,

und die Voraussetzungen von Abschnitt 3.8 sind erfüllt.^{12} Daher setzen wir

Q := min { p^{a} | a ∈ ℕ, und p^{a} erfüllt Lemma 4.3.1} .

Damit werden alle Berechnungen in Algorithmus 3.9.1 über 𝔽_{p} ablaufen.

Input des Programms:

n - der Index, für den wir die Funktionenkörpererweiterung F_{n}/F_{0} betrachten. p - die Charakteristik des Grundkörpers 𝔽_{p^{2}}, p ≠ 2. r - eine nichtnegative ganze Zahl, die den Vektorraum L (rP_{∞}^{(n)}) bestimmt.

12Als L wird der Körper 𝔽_{p}(x_{0}, …, x_{n}) betrachtet, wobei x_{0} transzendent über 𝔽_{p^{2}} ist und jedes x_{i} die Gleichung (25) (Seite 37) für i ≥ 1 erfüllt.

Liste aller globalen Variablen:

m - der Grad der Funktionenkörpererweiterung [F_{n} : F_{0}], wird in der

Prozedur Basis berechnet.

w||i - das Basiselement w_{i}, definiert nach (32) in Abschnitt 4.2, wird in

der Prozedur Basis berechnet.

infval||i - v_{P_{∞}^{(n)}}(w_{i}), wird nach (33) aus Abschnitt 4.2 in der Prozedur Basis

berechnet.

Q - p^{a}, wird nach Lemma 4.3.1 in der Prozedur ZahlQ berechnet. W ||i - die Basisdarstellung von w_{i}^{Q} bezüglich {w_{1}, …, w_{m}}, wird in der

Prozedur Basisdarstellung berechnet.

b(i, j) - der Koeffizient b_{ij} aus der Basisdarstellung von w_{i}^{Q} = ∑_{j=1}^{m} b_{ij}w_{j},

wird in der Prozedur Basisdarstellung berechnet.

D||i - das Polynom D_{i}, definiert nach (4) in Abschnitt 3.4, wird in der

Prozedur DPolynome berechnet.

maxdeg - max{deg(D_{1}), …, deg(D_{m})}, wird in der Prozedur DPolynome

berechnet.

T ||t - die Menge T_{t}, definiert in Abschnitt 3.7, wird in der Prozedur

TMengen berechnet.

J||t - die Indexmenge J_{t}, definiert in Abschnitt 3.7, wird in der Prozedur

TMengen berechnet.

number - die Zahl m̄ − 1, wird in der Prozedur TMengen nach Abschnitt 3.7

berechnet.

T est - die Aussage, ob die J_{t} für t = 1, …, m̄ paarweise disjunkt sind: true

oder false.

tmenge - die Menge T_{t′} ∋ w_{k} für ein k ∈ {1, …, m}, wird in der Hilfsprozedur TMenge bezüglich der Variablen k berechnet, TMenge wird in der Prozedur Ganzheitsbasis aufgerufen.

e[i, s] - die Unbestimmte e_{ϕ(i,s)}, definiert nach (8) in Schritt 2.2 in Algorith-

mus 3.4.6, wird in der Prozedur Ganzheitsbasis berechnet.

a||i - a_{i}(e_{1}, …, e_{l}, x), definiert nach (8) in Schritt 2.2 in Algorithmus 3.4.6,

wird in der Prozedur Ganzheitsbasis berechnet.

A||i - a_{i}(e_{1}, …, e_{l}, x)^{Q}, wird nach Schritt 2.2 in Algorithmus 3.4.6 mit der Annahme e_{i}^{Q} = e_{i} für i = 1, …, l in der Prozedur Ganzheitsbasis berechnet.

u||k - das Ganzheitsbasiselement u_{k} aus den Algorithmen 3.4.6 und 3.5.3, wird in der Hilfsprozedur DefOne berechnet, DefOne wird in den Prozeduren Ganzheitsbasis und VPolordnungen aufgerufen.

c(i, k) - der Koeffizient c_{(i,k)} aus der Basisdarstellung von u_{k} = ∑_{i=1}^{m} c_{(i,k)}w_{i}, wird in den Prozeduren Ganzheitsbasis und VPolordnungen berechnet.

val||k - v_{P_{∞}^{(n)}}(u_{k}), wird in der Hilfsprozedur DefOne berechnet, DefOne wird in den Prozeduren Ganzheitsbasis und VPolordnungen aufgerufen.

mval||k - v_{P_{∞}^{(n)}}(u_{k}) mod m, wird in der Hilfsprozedur DefOne berechnet, DefOne wird in den Prozeduren Ganzheitsbasis und VPolordnungen aufgerufen.

basis - eine Basis des Vektorraums L (rP_{∞}^{(n)}), wird in der Prozedur LBasis berechnet.

Das Programm für Algorithmus 3.9.1 ist in Prozeduren aufgeteilt, die in der richtigen Reihenfolge aufgerufen werden müssen.

Aufrufreihenfolge der Prozeduren:

Basis(); ZahlQ(); Basisdarstellung(); DPolynome(); TMengen(); DisjunktTest(); Ganzheitsbasis(); VPolordnungen(); LBasis();

Die Beschreibungen dieser Prozeduren werden in den nächsten Abschnitten angegeben.

4.4.3 Berechnung der Basis {w_{1}, …, w_{m}} für F_{n}/F_{0}

Nach Schritt 1 in Algorithmus 3.9.1 berechnen wir die nach (32) definierte Basis {w_{1}, …, w_{m}} für F_{n}/F_{0} und nach (33) die Bewertungen v_{P_{∞}^{(n)}}(w_{j}) für j = 1, …, m, wobei m = 2^{n} ist.

Seien α_{1}, …, α_{n} mit der Darstellung (30) und α_{0} := 1 gegeben. Dann können wir die Menge {V_{j} ⊆ {1, …, n} | V_{j} ist nach (31) definiert, j = 1, …, m} in Zeit O(m) konstruieren. Nach (32) berechnen wir

\begin{matrix}for j = 1, …, m \\ w_{j} = ∏_{i∈V_{j}} α_{i} mod p (Multiplikation) \\ end for \end{matrix} \} in Zeit O(mn)

und nach (33)

\begin{matrix}for j = 1, …, m \\ v_{P_{∞}^{(n)}}(w_{j}) = 2^{n}deg_{x_{0}}(denominator(w_{j})) \\ for i = 1, …, n \\ v_{P_{∞}^{(n)}}(w_{j}) = v_{P_{∞}^{(n)}}(w_{j}) − 2^{n−i}deg_{x_{i}}(numerator(w_{j})) \\ end for \\ end for \end{matrix} \} in Zeit O(mn^{2})

Damit ist

C(Berechnung der Basis {w_{1}, …, w_{m}} für F_{n}/F_{0}) = O (2^{n}n^{2}) .

Die Berechnung von w_{j} und v_{P_{∞}^{n}}(w_{j}) für j = 1, …, m findet mittels der Prozedur Basis statt. Außerdem werden in der Prozedur Basis die Elemente w_{1}, …, w_{m} mittels der Hilfsprozedur Sort sortiert und neu indiziert, so dass gilt:

v_{P_{∞}^{(n)}}(w_{1}) > v_{P_{∞}^{(n)}}(w_{2}) > … > v_{P_{∞}^{(n)}}(w_{m}).^{13}  (35)

Diese Reihenfolge von w_{1}, …, w_{m} benötigen wir in Abschnitt 4.4.5.

13Da v_{P_{∞}^{(n)}}(w_{i}) ≢ v_{P_{∞}^{(n)}}(w_{j}) mod m für i ≠ j (siehe Abschnitt 4.2), gilt immer die “echt größer als“ Beziehung.

Basis := proc()

local i, j, alpha, sorted, powerset; global m, w, infval; alpha||0 := 1; alpha||1 := x||1/(x||0ˆ 2 + 1); if n > 1 then

alpha||2 := x||2/(x||0 + 1);

if n > 2 then

for i from 3 to n do

alpha||i := x||i/(x||0 + (p - 1))ˆ (2ˆ (i - 2)); end do;

end if; end if; with(combinat, choose); powerset := choose([seq(alpha||i, i = 1..n)]); m := nops(powerset); for i from 1 to m do

w||i := product(powerset[i][j], j = 1..nops(powerset[i])); end do; for j from 1 to m do

infval||j := 2ˆ n*degree(1/w||j, x||0);

for i from 1 to n do

infval||j := infval||j - 2ˆ (n - i)*degree(w||j, x||i); end do;

end do; sorted := Sort([seq(infval||i, i = 1..m)], [seq(w||i, i = 1..m)]); for i from 1 to m do

infval||i := sorted[1][i];

w||i := sorted[2][i]; end do;

end proc;

Die Hilfsprozedur Sort hat als Input zwei gleichlange Listen. Die erste Liste enthält nichtnegative^{14} ganze Zahlen (in unserem Fall − [infval_{1}, …, infval_{m}]), die absteigend sortiert werden sollen. Dabei ändert sich die Reihenfolge der Elemente der zweiten Liste (in unserem Fall ist die zweite Liste − [w_{1}, …, w_{m}]) entsprechend der Sortierung der Elemente der ersten Liste. Als Output bekommen wir zwei umgeordnete Listen, und es gilt für diese Implementierung:

C(Sortierung von w_{1}, …, w_{m}) = O(2^{2n}).

Sort := proc(LPol, LBas)

local i, j, index, Liste, resultp, resultb; Liste := LPol; resultp := [ ]; resultb := [ ]; for i from 1 to nops(Liste) do

index := 1;

for j from 2 to nops(Liste) do if Liste[j] > Liste[index] then

14Folgt aus (33), Seite 42.

index := j; end if;

end do;

resultp := [op(resultp), LPol[index]]; resultb := [op(resultb), LBas[index]]; Liste[index] := -1;

end do;

return [resultp, resultb]; end proc;

Damit ändert sich die gesamte Komplexität von Schritt 1 zu O(2^{2n}).

Es existieren nach [Knu 3] und [Aho-Hop-Ull] effizientere Sortierungsalgorithmen, da aber, wie wir später sehen werden, die Gesamtkomplexität des Algorithmus 3.9.1 höher als mit O(m^{2}) abgeschätzt wird, ist die vorhandene Implementierung ausreichend.

Bemerkung 4.4.3.1 Da 1 ∈ {w_{1}, …, w_{m}}, folgt w_{m} = 1 nach dem Ablauf der Prozedur Basis. Damit gilt:

1. w_{m}^{Q} = 1 ⟹ V_{m} = ∅.^{15}

2. w_{i}^{Q} = ∑_{j=1}^{m−1} b_{ij}w_{j} für i = 1, …, m − 1 (folgt aus Konstruktion (32) von w_{1}, …, w_{m} aus Abschnitt 4.2, und da Q ≡ 1 mod 2 ist.)

Aus den Punkten 1 und 2 folgt unmittelbar:

3. D_{m} = 1.

4. Tm̄ = {1}, und Jm̄ = {m}.

5. Jm̄ ⋂ J_{t} = ∅ für t < m̄.

6. u_{m} = 1, und v_{P_{∞}^{(n)}}(u_{m}) = 0.

4.4.4 Berechnung der Zahl Q = p^{a}

Nach Schritt 2 in Algorithmus 3.9.1 berechnen wir die kleinste natürliche Zahl Q, so dass Q = p^{a} für ein a ∈ ℕ, und Q erfüllt Lemma 4.3.1. Wir betrachten die Berechnung von Q für n ≥ 2:

a = 1

bound = 2^{2n−3} + 2^{n−2} while p^{a} ≤ bound a = a + 1

end while Q = p^{a}

Die “while“-Schleife läuft, solange p^{a} ≤ 2^{2n−3} + 2^{n−2} < 2^{2n} erfüllt ist. Damit ist die letzte Potenz a, die noch berechnet wird, kleiner als 2n, unter der Voraussetzung p > 2.

Damit ist

C(Berechnung der Zahl Q) = O (n^{2}) .

ZahlQ := proc()

local a, bound; global Q; a := 1; if n >= 2 then

15Definiert in (31), Seite 42.

bound := 2ˆ (2*n - 3) + 2ˆ (n - 2); while pˆ a <= bound do

a := a + 1; end do;

end if;

Q := pˆ a; end proc;

4.4.5 Berechnung der Basisdarstellungen von w_{1}^{Q}, …, w_{m}^{Q}

Nach Schritt 3 in Algorithmus 3.9.1 müssen wir die Basisdarstellungen von w_{i}^{Q} in F_{n}/F_{0} für i = 1, …, m berechnen:

w_{i}^{Q} = ∑_{j=1}^{m} b_{ij}w_{j},  (36)

wobei b_{ij} ∈ 𝔽_{p}(x_{0}) für i, j = 1, …, m. Nach Bemerkung 4.4.3.1(1) und (36) folgt, dass jedes w_{i}^{Q} für i = 1, …, m − 1 als ein Quotient darstellbar ist, in dem

− der Zähler ein Polynom aus 𝔽_{p}[x_{0}, x_{1}, …, x_{n}] ist, in dem die

Unbestimmten x_{1}, …, x_{n} jeweils höchstens in der ersten Potenz auftreten.

− der Nenner ein Polynom aus 𝔽_{p}[x_{0}] ist.

(37)

Da die Nenner von w_{1}^{Q}, …, w_{m−1}^{Q} wegen (32) (Seite 42) sowieso Polynome aus 𝔽_{p}[x_{0}] sind, genügt es, eine Darstellung nach (37) für ∏_{i∈V_{j}} x_{i}^{Q}, wobei V_{j} nach (31) (Seite 42) definiert ist, für j = 1, …, m − 1 zu bestimmen. Dafür werden wir einen Algorithmus angeben, der die drei folgenden Substitutionen für i ≥ 1 anwendet:

x_{i}^{2} = \frac{x_{i−1}^{2} + 1}{2x_{i−1}}  (38)
x_{i} + 1 = \frac{(x_{i−1} − 1)^{2}}{2x_{i−1}(x_{i} − 1)}  (39)
x_{i} − 1 = \frac{(x_{i−1} − 1)^{2}}{2x_{i−1}(x_{i} + 1)}  (40)

Die erste ist die den Turm definierende Gleichung (25) aus Abschnitt 4.1, und die beiden anderen ergeben sich aus (38).

Algorithmus 4.4.5.1 Eine Darstellung nach (37) für ∏_{i∈V_{j}} x_{i}^{t} für ein t ∈ ℕ und für ein j ∈ {1, …, m − 1}.

Input: E = ∏_{i∈V_{j}} x_{i}^{t}

for i = n, …, 1 E = (substitution (38) → E) mod p if x_{i} | denominator(E)

E = (substitution (38) → x_{i} ∗ numerator(E)) / (substitution (38) →

x_{i} ∗ denominator(E)) mod p

end if

if i > 1

while x_{i−1} + 1 | denominator(E)

E = numerator(E) / (substitution (39) mod p → denominator(E))

mod p

end while

while (x_{i−1} − 1) mod p | denominator(E)

E = numerator(E) / (substitution (40) mod p → denominator(E))

mod p

end while end if

end do

Output: E in der Darstellung (37)

Lemma 4.4.5.2 Mit Algorithmus 4.4.5.1 wird eine Darstellung nach (37) für ∏_{i∈V_{j}} x_{i}^{t} für j = 1, …, m − 1 und für alle t ∈ ℕ bestimmt.

Beweis. Da die Schleife nach i von n bis 1 abwärts läuft, werden durch die Substitution (38) alle Potenzen von x_{i} größer als 1 durch Ausdrücke in der Unbestimmten x_{i−1}, eventuell mit der ersten Potenz von x_{i} multipliziert, sukzessive ersetzt. Damit folgt unmittelbar aus der Struktur des Algorithmus, dass der Zähler von E beim Output die Darstellung (37) hat. Wir müssen noch zeigen, dass mittels dieses Algorithmus der Nenner von E beim Output ein Polynom aus 𝔽_{p}[x_{0}] ist.

Zuerst stellen wir folgendes fest: wenn wir zeigen, dass der Algorithmus für x_{i}^{t} für alle t ∈ ℕ und für i = 1, …, n funktioniert, gilt dies auch für ∏_{i∈V_{j}} x_{i}^{t} für alle t ∈ ℕ und für j = 1, …, m − 1. Wegen (38) und da für t ≥ 3 jedes x_{i}^{t} = (x_{i}^{2})^{v} ∗ x_{i}^{σ} mit v ∈ ℕ und σ ∈ {0, 1} gilt, folgt, dass es genügt, die Korrektheit des Algorithmus für x_{i}^{2} zu zeigen.

Sei i ∈ {1, …, n}. Nun starten wir mit x_{i}^{2}. Wir lassen die Berechnungen von den Koeffizienten der Unbestimmten x_{0}, x_{1}, …, x_{n} weg und benutzen deswegen das Zeichen “=“. Wir führen die Berechnungen nur in den entstehenden Nennern durch, d.h. wir lassen zuerst alle Polynome aus 𝔽_{p}[x_{0}, …, x_{i−1}] in den entstehenden Zählern unverändert. Damit gilt:

x_{i}^{2} “ = “ \frac{x_{i−1}^{2} + 1}{x_{i−1}}
(38) → x_{i−1} ∗ Nenner

“ = “ \frac{(x_{i−1}^{2} + 1)x_{i−1}x_{i−2}}{x_{i−2}^{2} + 1}
(38) → Nenner

“ = “ \frac{(x_{i−1}^{2} + 1)x_{i−1}x_{i−2}x_{i−3}}{(x_{i−3} + 1)^{2}}
(39) mod p → Nenner

“ = “ \frac{(x_{i−1}^{2} + 1)x_{i−1}x_{i−2}x_{i−3}x_{i−4}^{2}(x_{i−3} + (p − 1))^{2}}{(x_{i−4} + (p − 1))^{2^{2}}}
(40) mod p → Nenner

“ = “ \frac{(x_{i−1}^{2} + 1)x_{i−1}x_{i−2}x_{i−3}x_{i−4}^{2}x_{i−5}^{2^{2}}(x_{i−3} + (p − 1))^{2}(x_{i−4} + 1)^{2^{2}}}{(x_{i−5} + (p − 1))^{2^{3}}}
(40) mod p → Nenner
“ = “ …
(40) mod p → Nenner

“ = “ \frac{(x_{i−1}^{2} + 1)x_{i−1}x_{i−2}(x_{i−3} + (p − 1))^{2} ∏_{l=0}^{i−3} x_{l}^{2^{i−3−l}} ∏_{l=1}^{i−4}(x_{l} + 1)^{2^{i−2−l}}}{(x_{0} + (p − 1))^{2^{i−2}}} .

Da wir für die höheren Potenzen von x_{1}, …, x_{i−1} im Zähler das gleiche Verfahren wie für x_{i}^{2} rekursiv anwenden können, folgt, dass der Algorithmus beim Output x_{i}^{2} in der Darstellung (37) liefert.

□

Nun berechnen wir die Komplexität des Algorithmus 4.4.5.1 beim Input

E = ∏_{i=1}^{n} x_{i}^{Q},

da es sich theoretisch um den schlechtesten Fall handelt. Wir lassen die Operation “mod p“ aus unseren Betrachtungen weg, da sie nach der Voraussetzung Zeit O(1) benötigt. Da die Schleife nach i in Algorithmus 4.4.5.1 von n bis 1 abwärts läuft, werden wir über den “k-ten Schleifendurchlauf“ im Fall i = k reden, d.h., dass der Algorithmus mit dem n-ten Schleifendurchlauf beginnt.

Sei k ∈ {1, …, n}. Wir listen alle Berechnungen auf, die im k-ten Schleifendurchlauf stattfinden können:

1) in der Zeile “E = substitution (38) → E“

i) in dieser Reihenfolge im Zähler von E:

- das Ausmultiplizieren der Faktoren und die Addition von Koeffizienten bei gleichen Potenzen von x_{k}

f_{γ}x_{k}^{γ} + f_{γ−1}x_{k}^{γ−1} + ⋯ + f_{0},

wobei γ ∈ ℕ, und für j = 0, …, γ gilt: f_{j} ∈ 𝔽_{p}[x_{0}, …, x_{n}]\{𝔽_{p}[x_{k}]\𝔽_{p}}, so dass, falls k ≤ n − 1, gilt: deg_{x_{l}}f_{j} ≤ 1 für l = k + 1, …, n. (Aufgrund des Verlaufs des Algorithmus 4.4.5.1 mit dem Input E = ∏_{i=1}^{n} x_{i}^{Q}.)

- die Durchführung von (38) in den Potenzen von x_{k}, (kein Ausmultiplizieren der dadurch entstandenen Potenzen von x_{k−1}^{2} + 1 notwendig!)

x_{k}^{γ mod 2} (\frac{x_{k−1}^{2} + 1}{2x_{k−1}})^{⌊^{\frac{γ}{2}} ⌋} f_{γ} + x_{k}^{γ−1 mod 2} (\frac{x_{k−1}^{2} + 1}{2x_{k−1}})^{⌊^{\frac{γ−1}{2}}⌋} f_{γ−1} + ⋯ + f_{0}.

- die Berechnung eines gemeinsamen Nenners, bzw. die Darstellung des Zählers von E als Quotient zweier Polynome

\frac{x_{k}^{γ mod 2} (x_{k−1}^{2} + 1)^{⌊^{\frac{γ}{2}} ⌋} f_{γ} + x_{k}^{γ−1 mod 2} (x_{k−1}^{2} + 1)^{⌊^{\frac{γ−1}{2}} ⌋} (2x_{k−1})f_{γ−1} + ⋯ + f_{0}(2x_{k−1})^{⌊^{\frac{γ}{2}} ⌋}}{(2x_{k−1})^{⌊^{\frac{γ}{2}} ⌋}} .

ii) im Nenner^{16} von E

x_{k}^{η_{1}}(x_{k}^{2} + 1)^{η_{2}}(x_{k−1} + (p − 1))^{η_{3}}

mit η_{j} ∈ ℕ ∪ {0} für j = 1, 2, 3 die Durchführung von (38) (kein Ausmultiplizieren der Faktoren notwendig!)

x_{k}^{η_{1} mod 2} (\frac{x_{k−1}^{2} + 1}{2x_{k−1}})^{⌊^{\frac{η_{1}}{2}} ⌋} (\frac{x_{k−1}^{2} + 1}{2x_{k−1}} + 1)^{η_{2}} (x_{k−1} + (p − 1))^{η_{3}}.

iii) die Darstellung von E als Quotient zweier Polynome

E = \frac{(x_{k}^{γ mod 2}(x_{k−1}^{2} + 1)^{⌊^{\frac{γ}{2}} ⌋}f_{γ} + ⋯ + f_{0}(2x_{k−1})^{⌊^{\frac{γ}{2}} ⌋}) (2x_{k−1})^{⌊^{\frac{η_{1}}{2}} ⌋+η_{2}}}{(2x_{k−1})^{⌊^{\frac{γ}{2}} ⌋}x_{k}^{η_{1} mod 2}(x_{k−1}^{2} + 1)^{⌊^{\frac{η_{1}}{2}} ⌋}(x_{k−1} + 1)^{2η_{2}}(x_{k−1} + (p − 1))^{η_{3}}} .

2) in dem “if“-Block (Schleifendurchlauf für i = k)

i) die Abfrage

“if x_{i} | denominator(E)“.

Dies ist der Fall, wenn η_{1} ≡ 1 mod 2. Gelte dieser Fall weiter. ii) in der Zeile

“E = subs. (38) → x_{i} ∗ numerator(E) / subs. (38) → x_{i} ∗ denominator(E)“

- die Division des Nenners von E durch x_{k} und die Multiplikation mit der rechten Seite der Gleichung (38) (kein Ausmultiplizieren notwendig!)

(2x_{k−1})^{⌊^{\frac{γ}{2}} ⌋−1}(x_{k−1}^{2} + 1)^{⌊^{\frac{η_{1}}{2}} ⌋+1}(x_{k−1} + 1)^{2η_{2}}(x_{k−1} + (p − 1))^{η_{3}}.

- das Ausmultiplizieren des Zählers von E (der Zähler selbst muß nicht zuerst als Summe von Monomen dargestellt werden) mit x_{k}, zum Beispiel für γ ≡ 1 mod 2

\begin{matrix}(x_{k}^{2}(x_{k−1}^{2} + 1)^{⌊^{\frac{γ}{2}} ⌋}f_{γ} + ⋯ + x_{k}^{2}(x_{k−1}^{2} + 1)^{⌊^{\frac{γ−2}{2}}⌋}f_{γ−2}(2x_{k−1})^{2} + ⋯ \\ + f_{0}(2x_{k−1})^{⌊^{\frac{γ}{2}} ⌋}) (2x_{k−1})^{⌊^{\frac{η_{1}}{2}} ⌋+η_{2}}. \end{matrix}

16Die angegebene Darstellung hat der Nenner von E unmittelbar vor dem k-ten Schleifendurchlauf aufgrund des Verlaufs des Algorithmus.

- die Durchführung von (38) in den (gegebenenfalls) dadurch entstandenen x_{k}^{2} im Zähler von E

(\frac{x_{k−1}^{2} + 1}{2x_{k−1}}(x_{k−1}^{2} + 1)^{⌊^{\frac{γ}{2}} ⌋}f_{γ} + ⋯ + f_{0} (2x_{k−1})^{⌊^{\frac{γ}{2}} ⌋}) (2x_{k−1})^{⌊^{\frac{η_{1}}{2}} ⌋+η_{2}}.

- die Darstellung von E als Quotient zweier Polynome

\frac{(x_{k−1}^{2} + 1)^{⌊^{\frac{γ}{2}} ⌋+1}(2x_{k−1})^{⌊^{\frac{η_{1}}{2}} ⌋+η_{2}}f_{γ} + ⋯ + f_{0}(2x_{k−1})^{⌊^{\frac{γ}{2}} ⌋+⌊\frac{η_{1}}{2} ⌋+η_{2}+1}}{(2x_{k−1})^{⌊^{\frac{γ}{2}} ⌋}(x_{k−1}^{2} + 1)^{⌊^{\frac{η_{1}}{2}} ⌋+1}(x_{k−1} + 1)^{2η_{2}}(x_{k−1} + (p − 1))^{η_{3}}} .

3) in den beiden “while“-Schleifen endlich oft (Schleifendurchlauf für i = k)

i) die Überprüfung

“while x_{i−1} + 1 | denominator(E), “

bzw.

“while x_{i−1} + (p − 1) | denominator(E)“.

ii) in der Zeile

E = numerator(E) / (substitution (39) → denominator(E))

- die Division des Nenners von E durch x_{k−1} + 1, bzw. durch x_{k−1} + (p − 1), und die Multiplikation (kein Ausmultiplizieren) mit der rechten Seite von (39), bzw. von (40) (für k − 1)

\frac{(2x_{k−2})^{2η_{2}+η_{3}}(x_{k−1} + (p − 1))^{2η_{2}}(x_{k−1} + 1)^{η_{3}} ((x_{k−1}^{2} + 1)^{⌊^{\frac{γ}{2}} ⌋+1}(2x_{k−1})^{⌊^{\frac{η_{1}}{2}} ⌋+η_{2}}f_{γ} + ⋯)}{(2x_{k−1})^{⌊^{\frac{γ}{2}} ⌋}(x_{k−1}^{2} + 1)^{⌊^{\frac{η_{1}}{2}} ⌋+1}(x_{k−2} + (p − 1))^{2(2η_{2}+η_{3})}} .

Für die Berechnung der Komplexität der Punkte 1)-3) führen wir andere Potenzbezeichnungen ein, durch die diese Komplexität besser ausgedrückt werden kann. Nach dem obigen Verfahren hat E unmittelbar vor dem k-ten Schleifendurchlauf folgende Darstellung:^{17}

E = x_{1}^{Q} ⋯ x_{k}^{Q} \frac{x_{k−1}^{ν_{1}+ν_{2}}(x_{k} + (p − 1))^{ν_{1}}(x_{k} + 1)^{ν_{2}}f(x_{k}, x_{k+1}, …, x_{n})}{x_{k}^{μ_{1}}(x_{k}^{2} + 1)^{μ_{2}}(x_{k−1} + (p − 1))^{2ν_{1}+2ν_{2}}}  (41)

mit

f(x_{k}, x_{k+1}, …, x_{n}) = ∑_{2ξ_{1}+ξ_{2}≤χ} g_{(ξ_{1},ξ_{2})}(x_{k+1}, …, x_{n})(x_{k}^{2} + 1)^{ξ_{1}}x_{k}^{ξ_{2}},

wobei χ = deg_{x_{k}}f(x_{k}, x_{k+1}, …, x_{n}), ν_{l}, μ_{l}, ξ_{l} ∈ ℕ ∪ {0} für l = 1, 2, das Polynom g_{(ξ_{1},ξ_{2})}(x_{k+1}, …, x_{n}) ist ausmultipliziert, und es gilt für j = k + 1, …, n: deg_{x_{j}}g_{(ξ_{1},ξ_{2})}(x_{k+1}, …, x_{n}) ≤ 1.

17Wir betrachten den k-ten Schleifendurchlauf für ein k ≤ n − 1, da im n-ten Schleifendurchlauf mit dem Input E = ∏_{i=1}^{n} x_{i}^{Q} nicht mehr Berechnungen als in einem späteren Schleifendurchlauf stattfinden.

Als erstes muß der Zähler von E in der Darstellung (41) ausmultipliziert werden. Da es sich um Ausmultiplizieren der binomischen Formel handelt, wird das Ausmultiplizieren der Potenzen ν_{1}, ν_{2} und ξ_{1} auf die Berechnung von binomialen Koeffizienten reduziert. Die Komplexität für ihre Berechnung ist mit

C (Berechnung von ( \begin{matrix}n \\ l \end{matrix} )) = O(l) abgeschätzt. Damit erfordert das Aus-

multiplizieren von (x_{k} + (p − 1))^{ν_{1}} Zeit, die nicht schlechter als O(ν_{1}^{2}) ist, das Ausmultiplizieren von (x_{k} + 1)^{ν_{2}} Zeit, die nicht schlechter als O(ν_{2}^{2}) ist, das Ausmultiplizieren von allen Summanden in der Summe ∑_{2ξ_{1}+ξ_{2}≤χ} … Zeit, die nicht schlechter ist als

O (2^{n−k}χ^{4}) .^{18}  (42)

Nach der Addition (ihre Rechenzeit ist in der vorherigen Rechenzeit enthalten) der Koeffizienten bei den gleichen Potenzen von x_{k} in der ausmultiplizierten Summe ∑_{2ξ_{1}+ξ_{2}≤χ} … wird das endgültige Ausmultiplizieren im Zähler von E

x_{1}^{Q} ⋯ x_{k}^{Q}x_{k−1}^{ν_{1}+ν_{2}}(x_{k}^{ν_{1}} + ⋯)(x_{k}^{ν_{2}} + ⋯) ∑_{l=0}^{χ} h_{l}(x_{k+1}, …, x_{n})x_{k}^{l}

ausgeführt, wobei deg_{x_{j}}h_{l}(x_{k+1}, …, x_{n}) ≤ 1, l = 0, …, χ und j = k + 1, …, n. Dies benötigt Zeit

O(2^{n−k}ν_{1}ν_{2}χ).

Danach folgt die Addition (ihre Rechenzeit ist in der vorherigen Rechenzeit enthalten) der Koeffizienten bei gleichen Potenzen von x_{k}. Die Durchführung von (38) benötigt Zeit

O ((Q + ν_{1} + ν_{2} + χ)^{2}) ,

da sie in jeder Potenz von x_{k} (nicht größer als Q + ν_{1} + ν_{2} + χ) je maximal (Q + ν_{1} + ν_{2} + χ)/2 mal durchführbar ist.

Aus der Beschreibung der Punkte 1)-3) folgt, dass die weiteren Berechnungen (im k-ten Schleifendurchlauf) Zeit erfordern, die nicht schlechter ist als die oben angegebene.^{19}

Daher müssen nur ν_{1}, ν_{2} und χ abgeschätzt werden.

Definition 4.4.5.3 Der Grad eines multivariablen Polynoms

F = ∑_{(τ_{0},...,τ_{n})∈(ℕ∪{0})^{n}} (Υ(τ_{0}, …, τ_{n}) ∏_{i=0}^{n} x_{i}^{τ_{i}}) ∈ 𝔽_{p}[x_{0}, …, x_{n}],

wobei alle Υ(τ_{0}, …, τ_{n}) ∈ 𝔽_{p} sind, ist wie folgt definiert:

deg F := max {∑_{i=0}^{n} τ_{i} | Υ(τ_{0}, …, τ_{n}) ≠ 0} .

18Die Anzahl der Summanden in der Summe ∑_{2ξ_{1}+ξ_{2}≤χ} … ist nicht größer als χ^{2}. Das Ausmultiplizieren eines der Summanden g_{(ξ_{1},ξ_{2})}(x_{k+1}, …, x_{n})(x_{k}^{2} + 1)^{ξ_{1}}x_{k}^{ξ_{2}} benötigt Zeit, die nicht schlechter als O(2^{n−k}χ^{2}) ist, da die Anzahl der verschiedenen Summanden in g_{(ξ_{1},ξ_{2})}(x_{k+1}, …, x_{n}) nicht größer als 2^{n−k} + 1 ist.

19Dazu müssen wir nur Punkt 1) ii) genauer diskutieren. Die Komplexität dieser Berechnungen ist O(μ_{1}). Da wir für die Abschätzung der Gesamtkomplexität nicht berücksichtigen, dass Kürzungen im Zähler und im Nenner möglich sind oder, dass die Summe einiger Koeffizienten zu 0 in 𝔽_{p} werden kann, sondern vom schlechtesten Fall ausgehen, folgt, dass sich der Term (x_{k}^{2} + 1)^{μ_{1}} wegen (38) im Zähler befindet. Somit ist O(μ_{1}) bereits in der oben angegebenen Komplexität enthalten.

Da Q+ν_{1}+ν_{2}+χ nicht größer als der Grad des Zählers von E in der Darstellung (41) ist, benötigen die Berechnungen im gesamten k-ten Schleifendurchlauf Zeit nicht schlechter als

O (2^{n−k} · (Grad des Zählers von E in (41))^{4}) .  (43)

Wir bezeichnen für k = 1, …, n mit dem angegebenen Namen den Grad des folgenden multivariablen Polynoms: Z_{k}^{(0)} − des Zählers von E unmittelbar vor dem k-ten Schleifendurchlauf, N_{k}^{(0)} − des Nenners von E unmittelbar vor dem k-ten Schleifendurchlauf, Z_{k}^{(1)} − des Zählers von E unmittelbar vor dem Ablauf des “if“-Blocks im k-ten

Schleifendurchlauf, N_{k}^{(1)} − des Nenners von E unmittelbar vor dem Ablauf des “if“-Blocks im k-ten

Schleifendurchlauf, Z_{k}^{(2)} − des Zählers von E unmittelbar vor dem Ablauf der beiden “while“-

Schleifen im k-ten Schleifendurchlauf, N_{k}^{(2)} − des Nenners von E unmittelbar vor dem Ablauf der beiden “while“-

Schleifen im k-ten Schleifendurchlauf, Z_{0}^{(0)} − des Zählers von E beim Output, N_{0}^{(0)} − des Nenners von E beim Output.

Lemma 4.4.5.4 Für k = 1, …, n gilt:

Z_{k−1}^{(0)} ≤ Z_{k}^{(2)} + 2N_{k}^{(2)},
N_{k−1}^{(0)} ≤ 2N_{k}^{(2)},
Z_{k}^{(1)} ≤ Z_{k}^{(0)} + \frac{1}{2}max \{Z_{k}^{(0)}, N_{k}^{(0)}\} ,
N_{k}^{(1)} ≤ max {Z_{k}^{(0)}, N_{k}^{(0)}} ,
Z_{k}^{(2)} ≤ Z_{k}^{(1)} + 2,
N_{k}^{(2)} ≤ N_{k}^{(1)} + 1.

Beweis. Wir beweisen zuerst die dritte und die vierte Abschätzung. Für k = n gilt:

Z_{n}^{(0)} = nQ und N_{n}^{(0)} = 0.

Vor dem “if“-Block wird die Substitution (38) im Zähler von E durchgeführt. Aufgrund ihrer Darstellung folgt:

Z_{n}^{(1)} = Z_{n}^{(0)} und N_{n}^{(1)} ≤ \frac{1}{2}Z_{n}^{(0)}.  (44)

Sei k ∈ {1, …, n − 1}. Dann gilt unmittelbar vor dem k-ten Schleifendurchlauf

E = \frac{x_{k}^{γ}f_{γ} + x_{k}^{γ−1}f_{γ−1} + ⋯ + x_{k}f_{1} + f_{0}}{x_{k}^{η_{1}}(x_{k}^{2} + 1)^{η_{2}}g(x_{k−1})} ,

wobei γ, η_{1}, η_{2} ∈ ℕ ∪ {0}, f_{j} ∈ 𝔽_{p}[x_{0}, …, x_{k−1}, x_{k+1}, …, x_{n}] für j = 0, …, γ, Z_{k}^{(0)} = max{deg f_{j} + j | j = 0, …, γ} und η_{1} + 2η_{2} + deg g(x_{k−1}) = N_{k}^{(0)}. Nach der Durchführung von (38) sieht E dann wie folgt aus:

E = \frac{x_{k}^{γ mod 2} (\frac{x_{k−1}^{2}+1}{2x_{k−1}})^{⌊^{\frac{γ}{2}} ⌋} f_{γ} + x_{k}^{γ−1 mod 2} (\frac{x_{k−1}^{2}+1}{2x_{k−1}})^{⌊^{\frac{γ−1}{2}}⌋} f_{γ−1} + ⋯ + f_{0}}{x_{k}^{η_{1} mod 2} (\frac{x_{k−1}^{2}+1}{2x_{k−1}})^{⌊^{\frac{η_{1}}{2}} ⌋} (\frac{x_{k−1}^{2}+1}{2x_{k−1}} + 1)^{η_{2}} g(x_{k−1})}

= \frac{(x_{k}^{γ mod 2}(x_{k−1}^{2} + 1)^{⌊^{\frac{γ}{2}} ⌋}f_{γ} + ⋯ + f_{0}(2x_{k−1})^{⌊^{\frac{γ}{2}} ⌋}) (2x_{k−1})^{⌊^{\frac{η_{1}}{2}} ⌋+η_{2}}}{x_{k}^{η_{1} mod 2}(x_{k−1}^{2} + 1)^{⌊^{\frac{η_{1}}{2}} ⌋}(x_{k−1} + 1)^{2η_{2}}g(x_{k−1})(2x_{k−1})^{⌊^{\frac{γ}{2}} ⌋}} .

Der Grad des Zählers von E wächst am meisten im Fall deg f_{0} = γ = Z_{k}^{(0)} und η_{1} + 2η_{2} = N_{k}^{(0)}, und der Grad des Nenners von E wächst am meisten im Fall γ = Z_{k}^{(0)}. Unabhängig von der bestehenden “kleiner-gleich“-Relation zwischen γ und η_{1} + 2η_{2} gilt:

Z_{k}^{(1)} ≤ Z_{k}^{(0)} + \frac{1}{2}max \{Z_{k}^{(0)}, N_{k}^{(0)}\}

und

N_{k}^{(1)} ≤ max {Z_{k}^{(0)}, N_{k}^{(0)}} .

Wir beweisen die vier weiteren Abschätzungen. Sei k ∈ {1, …, n}.

Die Berechnungen im “if“-Block werden nur im Fall durchgeführt, falls x_{k} (nicht eine seiner Potenzen!) ein Faktor des Nenners von E ist. Da (38) für höhere Potenzen von x_{k} schon durchgeführt wurde, hat E vor dem “if“-Block die Darstellung:

E = \frac{g_{1} + g_{2}x_{k}}{g_{3}x_{k}} ,

wobei g_{j} ∈ 𝔽_{p}[x_{0}, …, x_{n}] \ {𝔽_{p}[x_{k}] \ 𝔽_{p}} für j = 1, 2, 3, N_{k}^{(1)} = deg g_{3} + 1 und Z_{k}^{(1)} = max{deg g_{1}, deg g_{2}+1}. Der “if“-Block wird dann wie folgt durchgeführt:

E = \frac{g_{1}x_{k} + g_{2}x_{k}^{2}}{g_{3}x_{k}^{2}} = \frac{g_{1}x_{k} + g_{2} \frac{x_{k−1}^{2}+1}{2x_{k−1}}}{g_{3} \frac{x_{k−1}^{2}+1}{2x_{k−1}}} = \frac{2g_{1}x_{k}x_{k−1} + g_{2}(x_{k−1}^{2} + 1)}{g_{3}(x_{k−1}^{2} + 1)}.

Da der Fall deg g_{1} = Z_{k}^{(1)} auftreten kann, gilt:

Z_{k}^{(2)} ≤ Z_{k}^{(1)} + 2

und

N_{k}^{(2)} ≤ N_{k}^{(1)} + 1.

Der Grad des Zählers und der Grad des Nenners von E wachsen während der Durchläufe der “while“-Schleifen am meisten, falls der Nenner nur aus Potenzen von x_{k−1} + 1 und (oder) von x_{k−1} + (p − 1) besteht. Dann sieht

E = \frac{f}{(x_{k−1} + (p − 1))^{θ_{1}}(x_{k−1} + 1)^{θ_{2}}} ,

59 Ganzheitsbasen in einem Turm (F_{n})_{n≥0} und Basen von L (rP_{∞}^{(n)}) wobei θ_{j} ∈ ℕ ∪ {0} für j = 1, 2, f ∈ 𝔽_{p}[x_{0}, …, x_{n}], N_{k}^{(2)} = θ_{1} + θ_{2} und Z_{k}^{(2)} = deg f, nach der Durchführung von (39) und (40) wie folgt aus:

E = \frac{f(2x_{k−2}(x_{k−1} + 1))^{θ_{1}}(2x_{k−2}(x_{k−1} + (p − 1)))^{θ_{2}}}{(x_{k−2} + (p − 1))^{2θ_{1}+2θ_{2}}} .

Damit folgt:

Z_{k−1}^{(0)} ≤ Z_{k}^{(2)} + 2N_{k}^{(2)}

und

N_{k−1}^{(0)} ≤ 2N_{k}^{(2)}.
□

Lemma 4.4.5.5 Für k = 0, …, n − 1 gilt:

max {Z_{k}^{(0)}, N_{k}^{(0)}} ≤ 4^{n−k+1}nQ.

Beweis. Nach Lemma 4.4.5.4 gilt:

Z_{k}^{(0)} ≤ Z_{k+1}^{(2)} + 2N_{k+1}^{(2)}
≤ Z_{k+1}^{(1)} + 2N_{k+1}^{(1)} + 4
≤ Z_{k+1}^{(0)} + \frac{5}{2}max \{Z_{k+1}^{(0)}, N_{k+1}^{(0)}\} + 4
≤ \frac{7}{2} (Z_{k+2}^{(2)} + 2N_{k+2}^{(2)}) + 4  vergleiche mit der ersten Zeile
≤ (\frac{7}{2})^{2} (Z_{k+3}^{(2)} + 2N_{k+3}^{(2)}) + 4 + 4 · \frac{7}{2}
≤ (\frac{7}{2})^{n−k−1} (Z_{n}^{(2)} + 2N_{n}^{(2)}) + 4 (1 + \frac{7}{2} + ⋯ + (\frac{7}{2})^{n−k−2})
≤ (\frac{7}{2})^{n−k−1} (Z_{n}^{(1)} + 2N_{n}^{(1)}) + 4 (1 + \frac{7}{2} + ⋯ + (\frac{7}{2})^{n−k−1})
≤ (\frac{7}{2})^{n−k−1} (\frac{3}{2}Z_{n}^{(0)}) + 4 · (\frac{7}{2})^{n−k} nach (44)
≤ (\frac{7}{2})^{n−k} (\frac{3}{7}Z_{n}^{(0)} + 4)
≤ 4^{n−k+1}nQ,
N_{k}^{(0)} ≤ 2N_{k+1}^{(2)}
≤ Z_{k+1}^{(2)} + 2N_{k+1}^{(2)}
≤ 4^{n−k+1}nQ, analog zu Z_{k}^{(0)}.
□

Nach (43) (Seite 57), Lemma 4.4.5.5, und da insgesamt n Schleifendurchläufe stattfinden, folgt:

C (Alg. 4.4.5.1 mit dem Input ∏_{i=1}^{n} x_{i}^{Q}) = O (n · 2^{n−1} (4^{n}nQ)^{4})
= O (2^{9n}n^{5}Q^{4}) .

Der Algorithmus 4.4.5.1 wird in der Prozedur Ersatz implementiert. Die Substitution (38) wird mit dem Maple 7 Befehl “algsubs“ durchgeführt, die Substitutionen (39) - (40) jedoch nicht, da der Output des Befehls “algsubs“ in diesem Fall nicht das gewünschte Ergebnis liefert.^{20}

Ersatz := proc(expression)

local i, j1, j2, N, Z, E, Rest; E := expression mod p; for i from n by (-1) to 1 do

E := (algsubs((x||i)ˆ 2 = (x||(i - 1)ˆ 2 + 1)/(2*x||(i - 1)), Expand(numer(E)) mod p)) / (algsubs((x||i)ˆ 2 = (x||(i - 1)ˆ 2 + 1)/(2*x||(i - 1)), denom(E) mod p)) mod p; N := denom(E); if divide(N, x||i, ’Rest’) = true then

N := Rest*((x||(i - 1))ˆ 2+1); Z := numer(E)*2*(x||(i - 1))*x||i mod p; Z := (algsubs((x||i)ˆ 2 = (x||(i - 1)ˆ 2 + 1)/(2*x||(i - 1)), Expand(Z) mod p) mod p;

else

Z := numer(E); end if; if i >1 then

j1 := 0; while Divide(N, x||(i - 1) + 1, ’Rest’) mod p = true do

j1 := j1 + 1;

N := Rest mod p; end do; j2 := 0; while Divide(N, x||(i - 1) - 1, ’Rest’) mod p = true do

j2 := j2 + 1;

N := Rest mod p; end do; Z := Z*(2*x||(i - 2)*(x||(i - 1) + (p - 1))/(x||(i - 2) + (p - 1))ˆ 2)ˆ (j1) *(2*x||(i - 2)*(x||(i - 1) + 1)/ (x||(i - 2) + (p - 1))ˆ 2)ˆ (j2) mod p;

end if; E := Z/N mod p;

end do; return E;

end proc; Nach dem Ablauf des Algorithmus 4.4.5.1 gilt für i = 1, …, m − 1 ^{21}

20Zum Beispiel gibt algsubs(x + 1 = a, (x + 1)x) als Output a(a − 1). Solche Effekte wollen wir aber vermeiden.

w_{i}^{Q} = \frac{∑_{j=1}^{m−1} ∑_{k≥0} γ_{ijk}x_{0}^{k} ∏_{t∈V_{j}} x_{t}}{h_{i}(x_{0})} ,  (45)

wobei h_{i}(x_{0}) ∈ 𝔽_{p}[x_{0}], und γ_{ijk} ∈ 𝔽_{p} für i, j = 1, …, m − 1 und für k ≥ 0. Der nächste Algorithmus schreibt w_{i}^{Q} für i = 1, …, m−1 in der Darstellung

w_{i}^{Q} = ∑_{j=1}^{m−1} b_{ij}‘w‘_{j}

durch Symbole ‘w‘_{1}, …, ‘w‘_{m−1} auf. Wir werden im weiteren die folgende Substitution für j = 1, …, m − 1 anwenden:

∏_{i∈V_{j}} x_{i} = ‘w_{j}‘ · denominator(w_{j}),  (46)

wobei denominator(w_{j}) nach der Darstellung (32) (Seite 42) definiert ist. Dann gilt (Erklärungen zu den Komplexitätsabschätzungen sind weiter unten):

for i = 1, …, m − 1

w_{i}^{Q} = Alg.4.4.5.1 → numerator(w_{i}^{Q}) / denominator(w_{i}^{Q}) \} \begin{matrix}in Zeit \\ O (2^{9n}n^{5}Q^{4}) \end{matrix}

Z = numerator(w_{i}^{Q})

\begin{matrix}for j = 1, …, m − 1 \\ Z = substitution(46) → Z mod p \\ end for \end{matrix} \} in Zeit O(2^{3n}nQ)

\begin{matrix}for j = 1, …, m − 1 \\ b_{ij} = simplify (coefficient_{‘w_{j}‘}(Z)/denominator(w_{i}^{Q})) \\ end for \end{matrix} \} \begin{matrix}in Zeit \\ O (2^{7n}n^{3}Q^{3}) \end{matrix}

w_{i}^{Q} = ∑_{i=1}^{m−1} b_{ij}‘w‘_{j} end for

Wegen der Sortierung (35) (Seite 48) gilt: bei der sukzessiven Durchführung von (46) wird das Produkt ∏_{i∈V_{j_{1}}} x_{i} nie vor dem Produkt ∏_{i∈V_{j_{2}}} x_{i} ersetzt für alle V_{j_{1}} ⫋ V_{j_{2}}.^{22} Dies garantiert uns die Korrektheit des Algorithmus, bzw. die Korrektheit der Basisdarstellungen von w_{1}^{Q}, …, w_{m−1}^{Q}.

Aus (45) folgt, dass die Substitution (46) in jedem Schleifendurchlauf der inneren “for“-Schleife Zeit O(deg_{x_{0}}Z) erfordet. Da deg_{x_{0}}Z ≤ Z_{0}^{(0)}, gilt nach Lemma 4.4.5.5 die Abschätzung O(4^{n}nQ).

Für i, j = 1, …, m − 1 gilt: der Grad des Zählers von b_{ij} ist nicht größer als Z_{0}^{(0)}, der Grad des Nenners^{23} von b_{ij} ist nicht größer als N_{0}^{(0)} +(2^{n−1} +1)Q. Um zu erreichen, dass der Zähler und der Nenner von b_{ij} teilerfremd sind, können wir, zum Beispiel, durch ihre Faktorisierungen über 𝔽_{p} die gleichen Faktoren kürzen, wobei wir im weiteren feststellen werden, dass die Faktorisierungen die Gesamtkomplexität des Algorithmus 3.9.1 nicht vergrößern!

21Siehe auch Bemerkung 4.4.3.1(1),(2).

22V_{j} ist in (31), Seite 42, definiert. Durch die Sortierung (35) garantieren wir folgendes:

sei zum Beispiel a_{1} = x_{1}x_{2}, a_{2} = x_{3}x_{4} a_{3} = x_{1}x_{2}x_{3}x_{4}. Nach unserem Vorgehen wird das Produkt ∏_{i=1}^{4} x_{i} durch a_{3} und nicht durch a_{1}a_{2} ersetzt.

23Die Nenner mit den höchsten Graden haben theoretisch gesehen b_{1j} für j = 1, …, m − 1, da der Nenner von w_{1}^{Q} (nach (35), Seite 48, gilt w_{1} = ∏_{i=1}^{n} α_{i}, siehe auch (30), Seite 42)

Die Faktorisierungen in b_{ij} kosten für kleine p Zeit

O ((Z_{0}^{(0)})^{3} + (N_{0}^{(0)} + (2^{n−1} + 1)Q)^{3})

und für große p Zeit

O ((Z_{0}^{(0)})^{3} · log^{3} (Z_{0}^{(0)}) + (N_{0}^{(0)} + (2^{n−1} + 1)Q)^{3} · log^{3} (N_{0}^{(0)} + (2^{n−1} + 1)Q)) .

Nach Lemma 4.4.5.5 gilt:

O ((4^{n}nQ)^{3}) für kleine p

und

O ((4^{n}nQ)^{3} log^{3} (4^{n}nQ)) für große p.

Wir betrachten die kleinen p. Da die Außenschleife m − 1 mal läuft, gilt:

\begin{aligned}C (Basisdarstellungen von w_{1}^{Q}, …, w_{m}^{Q}) & = & O (m 2^{9n}n^{5}Q^{4}) \\ & = & O (2^{10n}n^{5}Q^{4}) . \end{aligned}

Basisdarstellung := proc()

local i, j, Z;

global b, W;

for i from 1 to m - 1 do W||i := Ersatz(numer(w||i)ˆ Q)/denom(w||i)ˆ Q mod p; Z := numer(W||i) mod p; for j from 1 to m - 1 do

Z := algsubs(numer(w||j) = denom(w||j)*′w′||j, Expand(Z) mod p) mod p;

end do;

for j from 1 to m - 1 do b(i, j) := simplify((Factor(coeff(Z, ′w′||j)) mod p)/ (Factor(denom(W||i)) mod p)) mod p;

end do;

W||i := sum(′b(i, j)*′w′||j′, ′j′ = 1..m - 1); end do; W||m := 1;

end proc; 4.4.6 Berechnung der Polynome D_{1}, …, D_{m}

beim Input gleich h(x_{0}) := ((x_{0}^{2} + 1)(x_{0} + 1) ∏_{i=3}^{n}(x_{0} + (p − 1))^{2^{i−2}})^{Q} ist, und damit den größten Grad hat. Nach dem Ablauf von Algorithmus 4.4.5.1 ändert sich der ursprüngliche Nenner von w_{1}^{Q} zu h_{1}(x_{0}) = f(x_{0})h(x_{0}), wobei f(x_{0}) ∈ 𝔽_{p}[x_{0}] mit deg f(x_{0}) ≤ N_{0}^{(0)}. Dadurch können die Grade der Nenner von allen b_{ij} abgeschätzt werden.

Nach Schritt 4 in Algorithmus 3.9.1 berechnen wir Polynome D_{1}, …, D_{m}. In Abschnitt 4.4.5 in der Prozedur Basisdarstellung sind alle b_{ij} ∈ 𝔽_{p}(x_{0}) berechnet worden, und ihre Nenner^{24} d_{ij} sind dabei über 𝔽_{p} faktorisiert worden. Aus Algorithmus 4.4.5.1 folgt, dass für i, j = 1, …, m − 1 gilt:

d_{ij} = x_{0}^{μ_{ij}}(x_{0}^{2} + 1)^{ν_{ij}}(x_{0} + 1)^{η_{ij}}(x_{0} + (p − 1))^{ξ_{ij}}^{25}  (47)

für gewisse μ_{ij}, ν_{ij}, η_{ij}, ξ_{ij} ∈ ℕ ∪ {0}. Wir implementieren die Berechnung der Polynome D_{1}, …, D_{m} unter Berücksichtigung von Bemerkung 4.4.3.1(3) genau nach dem Verfahren in Abschnitt 3.4.

for i = 1, …, m − 1 d_{i} = kgV (d_{i1}, …, d_{im−1}) d_{i} = ∏_{s=1}^{t_{i}} f_{si}^{g_{si}} (Faktorisierung) for s = 1, …, t_{i} l_{si} = ⌈g_{si}/Q⌉

end for

D_{i} = ∏_{i=1}^{t_{i}} f_{si}^{l_{si}} (Multiplikation) end for

Aufgrund der Kenntnis der Faktorisierungen von allen d_{ij} können die Berechnung und die Faktorisierung von d_{i} für i = 1, …, m−1 durch einen Vergleich für j = 1, …, m−1 der Potenzen gleicher Faktoren in d_{ij} (wird im weiteren genauer erläutert) ausgeführt werden. Dieses Verfahren hat eine niedrigere Komplexität als die Standardverfahren zur Berechnung des kleinsten gemeinsamen Vielfachen oder zur Faktorisierung eines Polynoms. Mit (47) werden die folgenden Werte

g_{1i} = max{μ_{ij} | j = 1, …, m − 1},
g_{2i} = max{ν_{ij} | j = 1, …, m − 1},
g_{3i} = max{η_{ij} | j = 1, …, m − 1},
g_{4i} = max{ξ_{ij} | j = 1, …, m − 1}

für i = 1, …, m − 1 berechnet. Dies kostet nach [Knu 1] Zeit O(m). Damit werden d_{i} = x_{0}^{g_{1i}}(x_{0}^{2} + 1)^{g_{2i}}(x_{0} + 1)^{g_{3i}}(x_{0} + (p − 1))^{g_{4i}} für i = 1, …, m − 1 in Zeit O(m) berechnet und gleich als Produkt der Potenzen seiner über 𝔽_{p} irreduziblen (mit Berücksichtigung der Darstellung von x_{0}^{2} + 1) Faktoren dargestellt. D_{1}, …, D_{m−1} werden als Produkt (kein Ausmultiplizieren!) dieser Polynome in den Potenzen l_{si} für s = 1, …, 4 dargestellt. Damit ist

C(Berechnung von D_{1}, …, D_{m}) = O(2^{2n}).

Die Berechnung von D_{1}, …, D_{m−1} findet mittels der Prozedur DPolynome statt.^{26} Außerdem wird max{deg(D_{1}), …, deg(D_{m−1})} (auch in Zeit O(m)) berechnet. Dieser Wert wird in der Prozedur Ganzheitsbasis gebraucht. Wir benutzen bei der Implementierung der Prozedur DPolynome den Maple 7 Befehl “Factors mod p“. Der Output dieses Befehls zum Beispiel für f(x) ∈ 𝔽_{p}[x] mit der Darstellung α ∏_{i=1}^{r} f_{i}(x)^{n_{i}} ist [α, [[f_{1}(x), n_{1}], [f_{2}(x), n_{2}], …, [f_{r}(x), n_{r}]]]. So können jeder Faktor von f(x) und sein Grad in f(x) mit dem Maple 7 Befehl “op“ aus dieser Struktur abgelesen werden.

24Siehe die Darstellung (3), Seite 16.

25Wir werden das Polynom x_{0}^{2} + 1 weiter nur in dieser Darstellung angeben, obwohl es beim Faktorisieren über 𝔽_{p} in (x_{0} + I)(x_{0} − I) zerfallen kann, falls ein I ∈ 𝔽_{p} existiert, so dass I^{2} = −1 ist.

26In der Implementierung verwenden wir die Maple 7 Befehle zur Berechnung und zur Faktorisierung von d_{i} (nicht das obige Verfahren), da die Praxis zeigt, dass die Prozedur DPolynome sehr wenig Rechenzeit im Vergleich zur Gesamtlaufzeit des Programms benötigt.

DPolynome := proc()

local i, j, s, g, f, l, d, fanzahl, F;

global D, maxdeg;

for i from 1 to m - 1 do

for j from 1 to m - 1 do

d(i, j) := denom(b(i, j)); end do;

end do;

for i from 1 to m - 1 do d||i := Factors(lcm(seq(d(i, j), j = 1..m - 1))) mod p; fanzahl||i := nops(op(2, d||i)); for s from 1 to fanzahl||i do

f(s, i) := op(1, op(s, op(2, d||i))); g(s, i) := op(2, op(s, op(2, d||i))); l(s, i) := ceil(g(s, i)/Q); F(s, i) := f(s, i)ˆ l(s, i);

end do;

D||i := product(′F(s, i)′, ′s′ = 1..fanzahl||i); end do; D||m = 1; maxdeg: = max(seq(deg(D||i), i = 1..m - 1));

end proc;

4.4.7 Berechnung der Mengen T_{1}, …, Tm̄ und ein Disjunktionstest für die Indexmengen J_{1}, …, Jm̄

Nach Schritt 5 in Algorihmus 3.9.1 und unter Berücksichtigung von Bemerkung 4.4.3.1(4) berechnen wir die Mengen T_{1}, …, Tm̄, in die die Basiselemente w_{1}, …, w_{m} nach dem Verfahren in Abschnitt 3.7 disjunkt unterteilt werden, und die Indexmengen J_{1}, …, Jm̄. Die Berechnung von T_{t} und J_{t} für t = 1, …, m̄ − 1 wird wie folgt ausgeführt:

\begin{matrix}for i = 1, …, m − 1 \\ B_{i} = ∅ \\ for j = 1, …, m − 1 \\ if b_{ij} ≠ 0 \\ B_{i} = B_{i} ∪ \{j\} \\ end if \\ end for \\ end for \end{matrix} \} in Zeit O(m^{2})

I = {1, …, m − 1} t = 0 while |I| > 0 t = t + 1 Index = das erste Element in I T_{t} = {w_{Index}} J_{t} = B_{Index} Ĩ_{t} = {Index} for alle i ∈ I \ Ĩ_{t} if B_{Index} = B_{i}

T_{t} = T_{t} ∪ {w_{i}} Ĩ_{t} = Ĩ_{t} ∪ {i}

end if end for I = I \ Ĩ_{t}

end while

Der größte Aufwand entsteht im Fall B_{i} = B_{j} für i, j = 1, …, m. Dann läuft die “while“-Schleife einmal, die “for“-Schleife m − 2 mal, und die Berechnungen in der Zeile “if B_{Index} = B_{i}“ erfordern Zeit O(m^{2}). Damit gilt:

C(Berechnung von T_{1}, …, Tm̄ und J_{1}, …, Jm̄) = O(2^{3n}).

TMengen := proc()

local i, j, t, B, Iset, Isubset, Index; global number, T, J; B := array(1..m - 1); for i from 1 to m - 1 do

B[i] := {}; for j from 1 to m - 1 do

if b(i, j) <> 0 then

B[i] := B[i] union {j}; end if;

end do; end do; Iset := {seq(i, i = 1..m - 1)}; t := 0; while nops(Iset) > 0 do

t := t + 1; Index := Iset[1]; T||t := {w||Index}; J||t := B[Index]; Isubset := {Index}; for i in (Iset minus Isubset) do

if B[Index] = B[i] then T||t := T||t union {w||i}; Isubset := Isubset union {i};

end if; end do; Iset := Iset minus Isubset ;

end do; number := t; T||(number + 1) := {1}; J||(number + 1) := {m};

end proc;

Unter Berücksichtigung von Bemerkung 4.4.3.1(5) wird ein Disjunktionstest für die Mengen J_{t} für t = 1, …, m̄−1 in der Prozedur DisjunktTest wie folgt durchgeführt

DisjunktTest := proc()

local i, j;

global Test;

i := 1;

Test := true;

while (Test = true) and (i < number) do j := i + 1; while (Test = true) and (j <= number) do if (J||i intersect J||j) <> { } then

Test := false; end if; j := j + 1;

end do; i := i + 1;

end do; end proc;

und kostet Zeit

C(Disjunktionstest für J_{1}, …, J_{m̄−1}) = O(2^{2n}).

Ist der Output von DisjunktTest “true“, so bedeutet dies, dass die Indexmengen J_{t} für t = 1, …, m̄ paarweise disjunkt sind, und dass Proposition 3.7.1 angewendet werden kann.

4.4.8 Berechnung einer Ganzheitsbasis für F_{n}/F_{0}

Nach Schritt 6 in Algorithmus 3.9.1 wird eine Ganzheitsbasis {u_{1}, …, u_{m}} für F_{n}/F_{0} berechnet. Wir verfolgen Algorithmus 3.4.6. Nach Schritt 1 gilt für k = 1

c_{(1,1)} = D_{1} und u_{1} = D_{1}w_{1},

und nach Bemerkung 4.4.3.1(6) gilt für k = m

u_{m} = 1.

Daher betrachten wir Schritt 2 für ein k ∈ {2, …, m − 1}. Ist das Ergebnis vom Disjunktionstest “true“, stellen wir zuerst fest, in welcher Menge T_{t′} für ein t′ ∈ {1, …, m̄} das Element w_{k} liegt. Dies wird unter Berücksichtigung von Bemerkung 4.4.3.1(5) wie folgt durchgeführt:

t′ = 1

while member(w_{k}, T_{t′}) = false

t′ = t′ + 1 end while tmenge = T_{t′}

Die Abfrage member(w_{k}, T_{t′}) erfordet Zeit O(m), und die “while“-Schleife läuft höchstens m̄ ≤ m mal. Dann gilt:

C (F ixierung der Menge T_{t′} ∋ w_{k}) = O (2^{2n}) .

Dieses Verfahren ist in der Hilfsprozedur TMenge implementiert, und die Menge T_{t′} ∋ w_{k} wird in tmenge gespeichert.^{27} Damit können wir in der Prozedur Ganzheitsbasis testen, ob w_{i} ∈ T_{t′} für i ≠ k ist: member(w||i, tmenge).

TMenge := proc(wk)

local t;

global tmenge;

t := 1;

while member(wk, T||t) = false do

t := t + 1; end do; tmenge := T||t;

end proc;

Wir führen jetzt einige Vorbereitungen durch. Seien i, j = 1, …, m. Dann gilt für b_{ij} = \frac{b′_{ij}}{d_{ij}} aus den Basisdarstellungen von w_{i}^{Q} = ∑_{j=1}^{m−1} b_{ij}w_{j} folgendes:^{28}

deg b′_{ij} ≤ Z_{0}^{(0)},  (48)
deg d_{ij} ≤ N_{0}^{(0)} + (2^{n−1} + 1)Q.

Damit, und da jedes d_{ij} ein Produkt von Potenzen von höchstens vier verschiedenen Polynomen^{29} ist, gilt

deg kgV (d_{i1}, …, d_{im−1}) ≤ 4 (N_{0}^{(0)} + (2^{n−1} + 1)Q)  (49)

und analog

deg kgV (d_{1j}, …, d_{kj}) ≤ 4 (N_{0}^{(0)} + (2^{n−1} + 1)Q) .  (50)

Da ⌈\frac{s}{Q}⌉ ≤ \frac{s}{Q} + 1 für alle s ∈ ℕ gilt, folgt nach (4) (Seite 16) und nach (49)

deg D_{i} ≤ 4 (\frac{N_{0}^{(0)}}{Q} + (2^{n−1} + 1)) + 4.  (51)

Damit gilt nach Folgerung 3.4.3

deg c_{(i,i)} ≤ 4 (\frac{N_{0}^{(0)}}{Q} + 2^{n−1} + 2) .  (52)

27Da tmenge nur in der Prozedur Ganzheitsbasis in der Schleife nach k gebraucht wird und als selbstständiges Ergebnis nicht interessant ist, benötigt sie keine Indizierung.

28Siehe Begründung dafür auf Seite 61.

29Siehe (47), Seite 63. Falls das Polynom x_{0}^{2} +1 zerfällt, haben seine beiden Faktoren immer die gleichen Grade, was aber keinen Unterschied im Vergleich zum irreduziblen x_{0}^{2} + 1 für die folgenden Abschätzungen macht.

Alle weiter angegebenen Algorithmen (Teile von Algorithmus 3.4.6) sind für ein k ∈ {2, …, m − 1} geschrieben unter der Voraussetzung, dass die Berechnungen für i = 2, …, k − 1 bereits stattgefunden haben.

Sei also k ∈ {2, …, m − 1}. Dann sind deg c_{(i,i)} für i = 1, …, k − 1 bekannt, und wir können deg a_{i}(e_{1}, …, e_{l}, x)^{30} nach Schritt 2.1, (51) und (52) abschätzen. Nach Schritt 2.2 werden a_{i}(e_{1}, …, e_{l}, x) und a_{i}(e_{1}, …, e_{l}, x)^{Q} unter Berücksichtigung von Proposition 3.7.1 und e_{ϕ(i,s)}^{Q} = e_{ϕ(i,s)}^{31} für i = 1, …, k wie folgt konstruiert:

a_{k}(e_{1}, …, e_{l}, x) = ∑_{s=0}^{deg D_{k}} e_{ϕ(k,s)}x_{0}^{s}

a_{k}(e_{1}, …, e_{l}, x)^{Q} = ∑_{s=0}^{deg D_{k}} e_{ϕ(k,s)}x_{0}^{sQ}

F ixierung von T_{t′} ∋ w_{k} (mit O(m^{2}) abgeschätzt)

for i = 1, …, k − 1 if Disjunktionstest = false or (Disjunktionstest = true and member(w_{i}, T_{t′}) = true)

a_{i}(e_{1}, …, e_{l}, x) = ∑_{s=0}^{deg c_{(i,i)}−1} e_{ϕ(i,s)}x_{0}^{s}

a_{i}(e_{1}, …, e_{l}, x)^{Q} = ∑_{s=0}^{deg c_{(i,i)}−1} e_{ϕ(i,s)}x_{0}^{sQ}

else a_{i}(e_{1}, …, e_{l}, x) = 0 a_{i}(e_{1}, …, e_{l}, x)^{Q} = 0

end if end for

Die Abfrage member(w_{i}, T_{t′}) benötigt Zeit O(m). Die Eingabe der Summen

kostet nach (51) und (52) je Zeit O (\frac{N_{0}^{(0)}}{Q} ). Wegen k ≤ m − 1 gilt dann

C(Konstruktion von a_{i}(e_{1}, …, e_{l}, x), i = 1, …, k) = O (m (m + \frac{N_{0}^{(0)}}{Q} ))
⊆ O (2^{3n}n) .

Damit ist alles vorbereitet, um die Division im Quotienten (10) (Seite 23), den wir hier als ∑_{i=1}^{k} a_{i}(e_{1}, …, e_{l}, x)^{Q}b_{ij} betrachten werden, durchzuführen und den Lösungsraum des linearen Gleichungssystems (12) (Seite 25) zu bestimmen.

30Siehe (8), Seite 22.

31ϕ(i, s) ist auf Seite 21 definiert.

LGS1 = {}
for j = 1, …, m − 1

R_{j} = numerator (∑_{i=1}^{k} a_{i}(e_{1}, …, e_{l}, x)^{Q}b_{ij}) /

denominator (∑_{i=1}^{k} a_{i}(e_{1}, …, e_{l}, x)^{Q}b_{ij}) mod p

if R_{j} ≠ 0

for i = 0, …, deg R_{j}

LGS1 = LGS1 ∪ {Koeffizient_{x_{0}^{i}}R_{j} = 0} end for

end if end for

Sei j ∈ {1, …, m − 1}. Die Berechnungen in der Zeile

“R_{j} = numer. (∑_{i=1}^{k} a_{i}(e_{1}, …, e_{l}, x)^{Q}b_{ij}) / denom. (∑_{i=1}^{k} a_{i}(e_{1}, …, e_{l}, x)^{Q}b_{ij}) “

werden in der Reihenfolge

∑_{i=1}^{k} a_{i}(e_{1}, …, e_{l}, x)^{Q}b_{ij} = ∑_{i=1}^{k} \frac{a_{i}(e_{1}, …, e_{l}, x)^{Q}b′_{ij}}{d_{ij}} = \frac{∑_{i=1}^{k} a_{i}(e_{1}, …, e_{l}, x)^{Q}b′_{ij}h_{ij}}{kgV (d_{1j}, …, d_{kj})} ,

wobei h_{ij} := \frac{kgV (d_{1j},...,d_{kj})}{d_{ij}} für i = 1, …, k, wie folgt ausgeführt:

i) Das Ausmultiplizieren der Faktoren in b′_{ij} ∈ 𝔽_{p}[x_{0}] für i = 1, …, k und die Addition modulo p der Koeffizienten bei gleichen Potenzen von x_{0} benötigen analog zu den Überlegungen zu (42) (Seite 56) nach Lemma 4.4.5.5 Zeit

O (m (Z_{0}^{(0)})^{4}) ⊆ O (m (4^{n}nQ)^{4}) .

ii) Das Ausmultiplizieren von a_{i}(e_{1}, …, e_{l}, x)^{Q}b′_{ij} für i = 1, …, k und die Addition der Koeffizienten (enthalten die Unbestimmten e_{1}, …, e_{l}) bei gleichen Potenzen von x_{0} benötigen nach (48), (51), (52) und Lemma 4.4.5.5 Zeit

O (m (Z_{0}^{(0)} (4N_{0}^{(0)} + 2^{n+1}Q + 7Q))) ⊆ O (m (4^{n}nQ)^{2}) .

iii) Die Berechnung von kgV (d_{1j}, …, d_{kj}): aufgrund der Kenntnis der Faktorisierungen von d_{ij} kann sie durch einen Vergleich der Potenzen gleicher Faktoren in d_{ij} für i = 1, …, k durchgeführt werden^{32} und benötigt daher Zeit

O(m^{2}) = O(2^{2n}).

iv) Das Ausmultiplizieren der Faktoren in h_{ij} := \frac{kgV (d_{1j},...,d_{kj})}{d_{ij}} für i = 1, …, k und die Addition modulo p der Koeffizienten bei gleichen Potenzen von x_{0} wird wie folgt ausgeführt: das Ausmultiplizieren der Potenzen der Faktoren^{33} (maximal vier) kann auf die Berechnung der binomialen Koeffizienten reduziert werden, das Ausmultiplizieren der ausmultiplizierten Potenzen dieser Faktoren benötigt nach (50) (Seite 67) und Lemma 4.4.5.5 Zeit

32Analog zu Abschnitt 4.4.6, Seite 63.

33Jeder Faktor ist eine binomische Formel.

O (m (N_{0}^{(0)} + (2^{n−1} + 1)Q)^{4}) ⊆ O (m (4^{n}nQ)^{4}) .

Das Ausmultiplizieren von kgV (d_{1j}, …, d_{kj}) ist in der angegebenen Komplexität enthalten.

v) Das Ausmultiplizieren von (a_{i}(e_{1}, …, e_{l}, x)^{Q}b′_{ij}) h_{ij} für i = 1, …, k und die Berechnung von ∑_{i=1}^{k} a_{i}(e_{1}, …, e_{l}, x)^{Q}b′_{ij}h_{ij} kostet nach Lemma 4.4.5.5 Zeit

O (m (deg b′_{ij} + deg a_{i}(e_{1}, …, e_{l}, x)^{Q}) deg h_{ij}) ⊆ O (m (4^{n}nQ)^{2}) .

vi) Die Division von ∑_{i=1}^{k} a_{i}(e_{1}, …, e_{l}, x)^{Q}b′_{ij}h_{ij} durch kgV (d_{1j}, …, d_{kj}) ist in der angegebenen Komplexität enthalten.

Da die Schleife nach j m − 1 mal läuft, gilt

C(Division in (10) in Schritt 2.2 in Alg. 3.4.6) = O (m^{2} (4^{n}nQ)^{4})
= O (2^{10n}n^{4}Q^{4}) .

Die Anzahl der Gleichungen im linearen Gleichungssystem (12)^{34} ist gleich ∑_{j=1}^{m−1} (deg R_{j} + 1). Da deg R_{j} ≤ deg (∑_{i=1}^{k} a_{i}(e_{1}, …, e_{l}, x)^{Q}b′_{ij}h_{ij}) für j = 1, …, m − 1 gilt, folgt nach Lemma 4.4.5.5:

C(Lösung des Systems (12) in Schritt 2.2 in Alg. 3.4.6) = O ((m 4^{n}nQ)^{3})
= O (2^{9n}n^{3}Q^{3}) .

Der Divisionsalgorithmus und die Lösung des linearen Gleichungssystems sind in der Hilfsprozedur DivSys implementiert:

DivSys := proc(k)

local eqns, i, j, R, S; eqns := {}; for j from 1 to m - 1 do

for i from 1 to k do

S(i, j) := (A||i)*b(i, j); end do; S||j := sum(′S(i, j)′, ′i′ = 1..k); R||j := Rem(numer(S||j), denom(S||j), x||0) mod p; if R||j <> 0 then

for i from 0 to degree(R||j) do

eqns := eqns union {coeff(R||j, x||0, i) = 0}; end do;

end if; end do; msolve(eqns, p);

end proc;

34Siehe Seiten 24 - 25.

Nach der Lösung des Systems (12) in Schritt 2.2 können wir a_{i}(e_{1}, …, e_{l}, x) nach (14) in Schritt 2.3 für i = 1, …, k darstellen:

for i = 1, …, k − 1

if a_{i}(e_{1}, …, e_{l}, x) ≠ 0

a_{i}(λ_{1}, …, λ_{d}, x) = Lösung1 → a_{i}(e_{1}, …, e_{l}, x) mod p end if end for

Die Anzahl der Unbestimmten, die durch diese Lösung in jedem a_{i}(e_{1}, …, e_{l}, x) ersetzt werden, ist nicht größer als deg c_{(i,i)} (siehe (8), Seite 22). Nach (52) (Seite 67) gilt dann:

C(a_{i}(e_{1}, …, e_{l}, x) in der Darstellung (14) für i = 1, …, k) = O (m\frac{N_{0}^{(0)}}{Q} )
= O (2^{3n}n) .

Die Berechnung von c_{(k,k)} = ggT (a_{k}(λ_{1}, …, λ_{d}, x), D_{k}) benötigt nach (51),

(52) (Seite 67) und Lemma 4.4.5.5 Zeit

C (Berechnung von c_{(k,k)}) = O ((4^{n}n)^{2}) = O(2^{4n}n^{2}).

Nach Schritt 2.4 bestimmen wir c_{(i,k)} für i = 1, …, k − 1 wie folgt:

LGS2 = {}

\begin{matrix}for s = 0, …, deg c_{(k,k)} \\ LGS2 = \{Koeffizient_{x_{0}^{s}}a_{k}(λ_{1}, …, λ_{d}, x) = \\ Koeffizient_{x_{0}^{s}}c_{(k,k)}\} ∪ LGS2 \\ end for \\ for s = deg c_{(k,k)} + 1, …, deg a_{k}(λ_{1}, …, λ_{d}, x) \\ LGS2 = \{Koeffizient_{x_{0}^{s}}a_{k}(λ_{1}, …, λ_{d}, x) = 0\} \\ ∪ LGS2 \\ end for \end{matrix} \} in Zeit O (2^{2n}n)

Lösung2 = solve(LGS2, modulo p) in Zeit O (2^{6n}n^{3})

\begin{matrix}for i = 1, …, k − 1 \\ if a_{i}(λ_{1}, …, λ_{d}, x) ≠ 0 \\ c_{(i,k)} = Lösung2 → a_{i}(λ_{1}, …, λ_{d}, x) mod p \\ else \\ c_{(i,k)} = 0 \\ end if \\ end for \end{matrix} \} in Zeit O(2^{6n}n^{2})

Die Unbestimmten λ_{1}, …, λ_{d} werden durch die Lösung des zweiten Systems in a_{i}(λ_{1}, …, λ_{d}, x)^{35} insgesamt nicht mehr als d(deg a_{i}(λ_{1}, …, λ_{d}, x) + 1) mal ersetzt, wobei d < l ≤ ∑_{i=1}^{k} deg D_{i} ist.^{36} Daher benötigt die dritte “for“-Schleife Zeit O(m · d · deg a_{i}(λ_{1}, …, λ_{d}, x)) ⊆ O (2^{6n}n^{2}) . Nach Lemma 4.4.5.5 gilt dann

C (Berechnung von c_{(i,k)} für i = 1, …, k − 1) = O (2^{6n}n^{3}) .

35In der Darstellung (14), Seite 25.

36d und l sind auf den Seiten 20 und 22 definiert.

Da die obigen Berechnungen für jedes k = 2, …, m−1 durchgeführt werden, und da alle obigen Abschätzungen für jedes k = 2, …, m − 1 gelten, folgt

\begin{aligned}C(Berechnung von u_{1}, …, u_{m}) & = & O (m2^{10n}n^{4}Q^{4}) \\ & = & O (2^{11n}n^{4}Q^{4}) . \end{aligned}

Wir implementieren den gesamten Algorithmus 3.4.6 in der Prozedur Ganzheitsbasis. Der Output sind die Elemente u_{1}, …, u_{m}, die eine Ganzheitsbasis für F_{n}/F_{0} bilden, und ihre Bewertungen, bzw. Polordnungen ganzzahlig und modulo m an der Stelle P_{∞}^{(n)} ∈ ℙ_{F_{n}}. Im Laufe dieser Prozedur werden die drei Hilfsprozeduren TMenge, DivSys und DefOne aufgerufen. Die Durchfürung des Maple 7 Befehls “Factor mod p“ in dieser Prozedur ist nicht notwendig und kann bei den Berechnungen weggelassen werden. Die Faktorisierungen von c_{(i,k)} für i = 1, …, k dienen nur einer besseren optischen Darstellung. Wir setzen zusätzlich c_{(i,k)} := 0 für i = k + 1, …, m − 1, da es für den Ablauf der Hilfsprozedur DefOne erforderlich ist. Die Prozedur DefOne wird in den Prozeduren Ganzheitsbasis und VPolordnungen (wird im nächsten Abschnitt beschrieben) aufgerufen.

Ganzheitsbasis := proc()

local i, k, s, a, eqt, N, LGS1, LGS2; global A, c, e, u, val, mval; c(1, 1) := D||1; N||1 := degree(c(1, 1)); for k from 2 to m-1 do

e := array(1..k, 0..maxdeg); a||k := sum(′e[k, s]* x||0ˆ s′, ′s′ = 0..degree(D||k)); A||k := sum(′e[k, s]*x||0ˆ (Qs)′, ′s′ = 0..degree(D||k)); TMenge(w||k); for i from 1 to k - 1 do

if ((Test = true) and (member(w||i, tmenge) = true)) or (Test = false) then

a||i := sum(′e[i, s]*x||0ˆ s′ , ′s′ = 0..N||i - 1); A||i := sum(′e[i, s]*x||0ˆ (Qs)′, ′s′ = 0..N||i - 1);

else a||i := 0; A||i := 0;

end if; end do; LGS1 := DivSys(k); for i from 1 to k do

if a|| i <> 0 then

a||i := subs(LGS1, a||i) mod p; end if;

end do; c(k, k) := Factor(Gcd(a||k, D||k) mod p) mod p; N||k := degree(c(k, k)); eqt := {}; for s from 0 to N||k do

eqt := eqt union {coeff(a||k, x||0, s) = coeff(c(k, k), x||0, s)}; end do; for s from N||k + 1 to degree(a||k) do

eqt := eqt union {coeff(a||k, x||0, s) = 0}; end do; LGS2 := msolve(eqt, p); for i from 1 to k - 1 do

if a||i <> 0 then

c(i, k) := Factor(subs(LGS2, a||i) mod p) mod p; else

c(i, k) := 0; end if;

end do; end do; for k from 1 to m-1 do

for i from k + 1 to m - 1 do

c(i, k) := 0; end do; DefOne(k);

end do; u||m := 1; val||m := 0; mval||m := 0;

end proc;

DefOne := proc(k)

local i, U, ValU; global u, val, mval; for i from 1 to m - 1 do

U(i, k) := c(i, k)*′w′||i;

ValU(i, k) := infval||i - m*degree(c(i, k)); end do; u||k := sum(′U(i, k)′, ′i′ = 1..m - 1); val||k := min(seq(ValU(i, k), i = 1..m - 1)); mval||k := val||k mod m;

end proc;

4.4.9 Berechnung einer Ganzheitsbasis für F_{n}/F_{0} mit modulo m paarweise inkongruenten Polordnungen an der Stelle P_{∞}^{(n)}

Da die Implementierung von Algorithmus 3.5.3 mit seiner abstrakten Beschreibung in Abschnitt 3.5 übereinstimmt, geben wir gleich die entsprechende Prozedur VPolordnungen an. Zur Komplexität ist noch folgendes zu sagen. Aus dem Beweis von Lemma 3.5.4 folgt, dass nach weniger als S_{0} (siehe die dort eingeführten Bezeichnungen) Schritten der Algorithmus 3.5.3 endet. Daher schätzen wir S_{0} ab:

S_{0} = ∑_{k=1}^{m} |v_{P_{∞}^{(n)}}(u_{k})|

≤ ∑_{k=1}^{m} m · max{deg c_{(i,k)} | i = 1, …, k} wegen u_{k} = ∑_{i=1}^{k} c_{(i,k)}w_{i}

≤ ∑_{k=1}^{m} m · max{deg c_{(i,i)} | i = 1, …, k} nach Lemma 3.4.5

≤ ∑_{k=1}^{m} m (4 (\frac{N_{0}^{(0)}}{Q} + 2^{n−1} + 2))  nach (52), (Seite 67)
∈ O (m^{2}4^{n}n)  nach Lemma 4.4.5.5
= O (2^{4n}n) .

Die Suche nach Indizes k_{1} und k_{2} erfordet Zeit, die nicht schlechter als O(m^{2}) ist, die Suche nach dem Index s erfordet Zeit, die nicht schlechter als O(m) ist. Die Berechnung (gegebenenfalls) eines neuen Ganzheitsbasiselements

if deg c_{(s,k_{1})} ≤ deg c_{(s,k_{2})}

u_{k_{2}} = u_{k_{2}} − \frac{lcoefficient(c_{(s,k_{2})})}{lcoefficient(c_{(s,k_{1})})} x_{0}^{deg c_{(s,k_{2})}−deg c_{(s,k_{1})}}u_{k_{1}} else

u_{k_{1}} = u_{k_{1}} − \frac{lcoefficient(c_{(s,k_{1})})}{lcoefficient(c_{(s,k_{2})})} x_{0}^{deg c_{(s,k_{1})}−deg c_{(s,k_{2})}}u_{k_{2}} end if

benötigt höchtens (wegen des Substraktion der Polynome) Zeit

O(m · max{deg c_{(i,k)} | i = 1, …, k}) = O (m4^{n}n) = O (2^{3n}n) .

Damit gilt

C(Algorithmus 3.5.3) = O (2^{7n}n^{2}) . ^{37}

In der Prozedur VPolordnungen wird (gegebenenfalls) eine weitere Ganzheitsbasis mit Elementen mit modulo m paarweise inkongruenten Polordnungen an der Stelle P_{∞}^{(n)} berechnet.

Es ist noch folgendes zu bemerken: nach Algorithmus 3.4.6 wird jedes u_{k} als ∑_{i=1}^{k} c_{(i,k)}w_{k} konstruiert. Für k < m gilt w_{i} ∉ 𝔽_{p} für i = 1, …, k. Damit folgt v_{P_{∞}^{(n)}}(u_{k}) ≢ 0 mod m für k = 1, …, m − 1. Da u_{m} = 1, betrachten wir in dieser Prozedur nur u_{1}, …, u_{m−1}. Die Durchführung des Maple 7 Befehls “Factor mod p“ in dieser Prozedur ist nicht notwendig und kann bei den Berechnungen weggelassen werden. Die Faktorisierugen von Polynomen aus 𝔽_{p}[x_{0}] dienen nur einer besseren optischen Darstellung.

VPolordnungen := proc()

local k1, k2, flag1, flag2, i, s; flag1 := false; while (flag1 = false) do

k1 := 1; flag1 := true; while ((flag1 = true) and (k1 < m)) do

k2 := k1 + 1;

while ((flag1 = true) and (k2 < m)) do if mval||k1 = mval||k2 then

flag1 := false; else

37Diese Komplexität entspricht dem Fall, wenn S_{i} − S_{i−1} = 1 für i ≥ 0 gilt. Dies ist aber in den berechneten Beispielen nicht vorgekommen.

k2 := k2 + 1; end if;

end do; if flag1 = true then

k1 := k1 + 1; end if;

end do; if flag1 = false then

flag2 := true; s := 1; while (flag2 = true) do

if (mval||k1 = (infval||s mod m)) then

flag2 := false; else

s := s + 1; end if;

end do; if degree(c(s, k1)) <= degree(c(s, k2)) then

u||k2 := (u||k2 - (lcoeff(c(s, k2))/lcoeff(c(s, k1))) * x||0ˆ (degree(c(s, k2)) - degree(c(s, k1)))* u||k1) mod p; for i from 1 to m - 1 do

c(i, k2) := Factor(coeff(u||k2, ′w′||i)) mod p; end do; DefOne(k2);

else u||k1 := (u||k1 - (lcoeff(c(s, k1))/lcoeff(c(s, k2))) * x||0ˆ (degree(c(s, k1)) - degree(c(s, k2)))* u||k2) mod p; for i from 1 to m - 1 do

c(i, k1) := Factor(coeff(u||k1, ′w′||i)) mod p; end do; DefOne(k1);

end if; end if;

end do; end proc;

4.4.10 Berechnung einer Basis von L (rP_{∞}^{(n)})

Nach Schritt 8 in Algorithmus 3.4.6 berechnen wir eine Basis von L (rP_{∞}^{(n)}). Alle v_{P_{∞}^{(n)}}(u_{i}) sind bekannt, und wir können Proposition 3.6.1 anwenden.

Basis (L (rP_{∞}^{(n)})) = {} for i = 1, …, m

for j = 0, …, ⌊\frac{r+v_{P{(n) \atop ∞}} (u_{i})}{m}⌋

Basis (L (rP_{∞}^{(n)})) = Basis (L (rP_{∞}^{(n)})) ∪ {x_{0}^{j}u_{i}} end for

end for Da v_{P_{∞}^{(n)}}(u_{i}) ≤ 0 für i = 1, …, m und r beliebig groß sein kann, folgt

\begin{aligned}C (Berechnung einer Basis von L (rP_{∞}^{(n)})) & = & O(max\{m, r\}) \\ & = & O (max \{2^{n}, r\}) . \end{aligned}

LBasis := proc()

local i, j;

global basis;

basis := {};

for i from 1 to m do

for j from 0 to floor((r + val||i)/m) do basis := basis union {x||0ˆ j * ′u′||i};

end do; end do;

end proc;

4.4.11 Die Komplexität des Algorithmus 3.9.1 in Abhängigkeit von der Anzahl der rationalen Stellen von F_{n}/𝔽_{p^{2}}

Die Gesamtkomplexität des Algorithmus 3.9.1 zur Berechnung einer Basis von L (rP_{∞}^{(n)}) wird in die Komplexität C_{1} der Berechnung einer Ganzheitsbasis für die Funktionenkörpererweiterung F_{n}/F_{0} mit modulo m paarweise inkongruenten Polordnungen an der Stelle P_{∞}^{(n)} und in die Komplexität C_{2} der Anwendung von Proposition 3.6.1 zerlegt. Nach den Ergebnissen aus den Abschnitten 4.4.3 - 4.4.9, und da Q = p^{a} < p · 2^{2n} (siehe Abschnitt 4.4.4) gilt, folgt

C_{1} = O (2^{11n}n^{5}Q^{4}) = O (2^{19n}p^{4}n^{5}) .

Sei N(F_{n}) die Anzahl der rationalen Stellen von F_{n}/𝔽_{p^{2}}. Nach [Gar-Sti-Rüc] sind genau 2(p − 1) rationale Stellen von F_{0}/𝔽_{p^{2}} voll zerlegt in F. Daher folgt N(F_{n}) ≥ 2^{n+1}(p − 1), und damit gilt

C_{1} = O (N(F_{n})^{19} · log^{5}N(F_{n})) .

Nach Abschnitt 4.4.10 gilt:

C_{2} = O (max {N(F_{n}), r}) .

Damit ist

C (Berechnung einer Basis von L (rP_{∞}^{(n)})) = O (N(F_{n})^{19} · log^{5}N(F_{n}) + r) .

4.4.12 Ein Beispiel

In diesem Abschnitt berechnen wir mittels des Programms eine Basis des Vektorraums L (P_{∞}^{(n)}) für gewisse Inputparameter: n, p, r.

Den Output der Prozedur Basisdarstellung (die Basisdarstellungen von w_{1}^{Q}, …, w_{m}^{Q}) geben wir ohne explizite Angabe der Koeffizienten b_{ij} ∈ 𝔽_{p}(x_{0}) für i, j = 1, …, m − 1 (w_{m} = 1). Wir können diese Koeffizienten aber jederzeit nach dem Ablauf der Prozedur Basisdarstellung durch Aufruf von b(i, j) für (i, j) ∈ {1, …, m − 1} × {1, …, m − 1} ansehen. Den Output der Prozedur TMengen geben wir durch die Symbole w_{1}, …, w_{m} an.

Input: p = 7, n = 4, r = 39

\underline{Basis}():

w_{1} = \frac{x_{1}x_{2}x_{3}x_{4}}{(x_{0}^{2} + 1)(x_{0} + 1)(x_{0} + 6)^{6}} v_{P_{∞}^{4}}(w_{1}) = 129

w_{2} = \frac{x_{1}x_{3}x_{4}}{(x_{0}^{2} + 1)(x_{0} + 6)^{6}} v_{P_{∞}^{4}}(w_{2}) = 117

w_{3} = \frac{x_{2}x_{3}x_{4}}{(x_{0} + 1)(x_{0} + 6)^{6}} v_{P_{∞}^{4}}(w_{3}) = 105

w_{4} = \frac{x_{1}x_{2}x_{4}}{(x_{0}^{2} + 1)(x_{0} + 1)(x_{0} + 6)^{4}} v_{P_{∞}^{4}}(w_{4}) = 99

w_{5} = \frac{x_{3}x_{4}}{(x_{0} + 6)^{6}} v_{P_{∞}^{4}}(w_{5}) = 93

w_{6} = \frac{x_{1}x_{4}}{(x_{0}^{2} + 1)(x_{0} + 6)^{4}} v_{P_{∞}^{4}}(w_{6}) = 87

w_{7} = \frac{x_{2}x_{4}}{(x_{0} + 1)(x_{0} + 6)^{4}} v_{P_{∞}^{4}}(w_{7}) = 75

w_{8} = \frac{x_{1}x_{2}x_{3}}{(x_{0}^{2} + 1)(x_{0} + 1)(x_{0} + 6)^{2}} v_{P_{∞}^{4}}(w_{8}) = 66

w_{9} = \frac{x_{4}}{(x_{0} + 6)^{4}} v_{P_{∞}^{4}}(w_{9}) = 63

w_{10} = \frac{x_{1}x_{3}}{(x_{0}^{2} + 1)(x_{0} + 6)^{2}} v_{P_{∞}^{4}}(w_{10}) = 54

w_{11} = \frac{x_{2}x_{3}}{(x_{0} + 1)(x_{0} + 6)^{2}} v_{P_{∞}^{4}}(w_{11}) = 42

w_{12} = \frac{x_{1}x_{2}}{(x_{0}^{2} + 1)(x_{0} + 1)} v_{P_{∞}^{4}}(w_{12}) = 36

w_{13} = \frac{x_{3}}{(x_{0} + 6)^{2}} v_{P_{∞}^{4}}(w_{13}) = 30

w_{14} = \frac{x_{1}}{x_{0}^{2} + 1} v_{P_{∞}^{4}}(w_{14}) = 24

w_{15} = \frac{x_{2}}{x_{0} + 1} v_{P_{∞}^{4}}(w_{15}) = 12

w_{16} = 1 v_{P_{∞}^{4}}(w_{16}) = 0

\underline{ZahlQ}():

Q = 49

\underline{Basisdarstellung}():

w_{1}^{27} = b_{11}w_{1} + b_{12}w_{2} + b_{13}w_{3} + b_{15}w_{5}
w_{2}^{27} = b_{21}w_{1} + b_{22}w_{2} + b_{23}w_{3} + b_{25}w_{5}
w_{3}^{27} = b_{31}w_{1} + b_{32}w_{2} + b_{33}w_{3} + b_{35}w_{5}
w_{4}^{27} = b_{44}w_{4} + b_{46}w_{6} + b_{47}w_{7} + b_{49}w_{9}

w_{5}^{27} = b_{51}w_{1} + b_{52}w_{2} + b_{53}w_{3} + b_{55}w_{5}
w_{6}^{27} = b_{64}w_{4} + b_{66}w_{6} + b_{67}w_{7} + b_{69}w_{9}
w_{7}^{27} = b_{74}w_{4} + b_{76}w_{6} + b_{77}w_{7} + b_{79}w_{9}
w_{8}^{27} = b_{88}w_{8} + b_{811}w_{11}
w_{9}^{27} = b_{94}w_{4} + b_{96}w_{6} + b_{97}w_{7} + b_{99}w_{9}
w_{10}^{27} = b_{1010}w_{10} + b_{1013}w_{13}
w_{11}^{27} = b_{118}w_{8} + b_{1111}w_{11}
w_{12}^{27} = b_{1212}w_{12}
w_{13}^{27} = b_{1310}w_{10} + b_{1313}w_{13}
w_{14}^{27} = b_{1414}w_{14}
w_{15}^{27} = b_{1515}w_{15}
w_{16}^{27} = 1

\underline{DPolynome}():

D_{1} = x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{6}
D_{2} = x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{6}
D_{3} = x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{6}
D_{4} = x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{5}
D_{5} = x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{6}
D_{6} = x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{5}
D_{7} = x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{5}
D_{8} = x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{2}
D_{9} = x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{5}
D_{10} = x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{2}
D_{11} = x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{2}
D_{12} = x_{0}(x_{0}^{2} + 1)
D_{13} = x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{2}
D_{14} = x_{0}(x_{0}^{2} + 1)
D_{15} = x_{0}(x_{0}^{2} + 1)
D_{16} = 1

\underline{TMengen}():

T_{1} = {w_{1}, w_{2}, w_{3}, w_{5}}
T_{2} = {w_{4}, w_{6}, w_{7}, w_{9}}
T_{3} = {w_{8}, w_{11}}
T_{4} = {w_{10}, w_{13}}
T_{5} = {w_{12}}
T_{6} = {w_{14}}
T_{7} = {w_{15}}
T_{8} = {w_{16}}

\underline{DisjunktTest}():

“Die Indexmengen sind paarweise disjunkt“

\underline{Ganzheitsbasis}():

u_{1} = x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{6}w_{1}

|v_{P_{∞}^{4}}(u_{1})| = 31 |v_{P_{∞}^{4}}(u_{1})| ≡ 15 mod 16

u_{2} = 5x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{5}w_{1} + x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{5}w_{2}

|v_{P_{∞}^{4}}(u_{2})| = 27 |v_{P_{∞}^{4}}(u_{2})| ≡ 11 mod 16

u_{3} = 5x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{5}w_{1} + x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{5}w_{3}

|v_{P_{∞}^{4}}(u_{3})| = 39 |v_{P_{∞}^{4}}(u_{3})| ≡ 7 mod 16

u_{4} = x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{5}w_{4}

|v_{P_{∞}^{4}}(u_{4})| = 45 |v_{P_{∞}^{4}}(u_{4})| ≡ 13 mod 16

u_{5} = 3x_{0}(x_{0} + 1)^{4}(x_{0}^{2} + 1)(x_{0} + 6)^{2}w_{1} + 4x_{0}(x_{0} + 1)^{3}(x_{0}^{2} + 1)(x_{0} + 6)^{2}w_{2}

+ 6x_{0}(x_{0} + 1)^{2}(x_{0}^{2} + 1)(x_{0} + 6)^{2}w_{3} + x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{2}w_{5} |v_{P_{∞}^{4}}(u_{5})| = 15 |v_{P_{∞}^{4}}(u_{5})| ≡ 15 mod 16

u_{6} = x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{5}w_{6}

|v_{P_{∞}^{4}}(u_{6})| = 57 |v_{P_{∞}^{4}}(u_{6})| ≡ 9 mod 16

u_{7} = 2x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{4}w_{4} + x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{4}w_{7}

|v_{P_{∞}^{4}}(u_{7})| = 53 |v_{P_{∞}^{4}}(u_{7})| ≡ 5 mod 16

u_{8} = x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{2}w_{8}

|v_{P_{∞}^{4}}(u_{8})| = 30 |v_{P_{∞}^{4}}(u_{8})| ≡ 14 mod 16

u_{9} = x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0}^{4} + 6x_{0}^{3} + x_{0}^{2} + 5x_{0} + 4)w_{4}

+ 3x_{0}^{2}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 4)(x_{0} + 3)^{2}w_{6} + 6x_{0}(x_{0} + 1)^{2}(x_{0}^{2} + 1)w_{7} + x_{0}(x_{0} + 1)(x_{0}^{2} + 1)w_{9} |v_{P_{∞}^{4}}(u_{9})| = 41 |v_{P_{∞}^{4}}(u_{9})| ≡ 9 mod 16

u_{10} = x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{2}w_{10}

|v_{P_{∞}^{4}}(u_{10})| = 42 |v_{P_{∞}^{4}}(u_{10})| ≡ 10 mod 16

u_{11} = 5x_{0}^{2}(x_{0} + 1)(x_{0}^{2} + 1)w_{8} + x_{0}(x_{0} + 1)(x_{0}^{2} + 1)w_{11}

|v_{P_{∞}^{4}}(u_{11})| = 22 |v_{P_{∞}^{4}}(u_{11})| ≡ 6 mod 16

u_{12} = x_{0}(x_{0}^{2} + 1)w_{12}

|v_{P_{∞}^{4}}(u_{12})| = 12 |v_{P_{∞}^{4}}(u_{12})| ≡ 12 mod 16

u_{13} = 5x_{0}^{2}(x_{0} + 1)(x_{0}^{2} + 1)w_{10} + x_{0}(x_{0} + 1)(x_{0}^{2} + 1)w_{13}

|v_{P_{∞}^{4}}(u_{13})| = 34 |v_{P_{∞}^{4}}(u_{13})| ≡ 2 mod 16

u_{14} = x_{0}(x_{0}^{2} + 1)w_{14}

|v_{P_{∞}^{4}}(u_{14})| = 24 |v_{P_{∞}^{4}}(u_{14})| ≡ 8 mod 16

u_{15} = x_{0}(x_{0}^{2} + 1)w_{15}

|v_{P_{∞}^{4}}(u_{15})| = 36 |v_{P_{∞}^{4}}(u_{15})| ≡ 4 mod 16

u_{16} = w_{16}

|v_{P_{∞}^{4}}(u_{16})| = 0 |v_{P_{∞}^{4}}(u_{16})| ≡ 0 mod 16

\underline{VPolordnungen}():

u_{1} = 3x_{0}(x_{0} + 1)(x_{0} + 6)^{2}(x_{0}^{2} + 1)(x_{0}^{2} + 3x_{0} + 5)w_{1}

+ x_{0}^{2}(x_{0} + 1)^{3}(x_{0} + 6)^{2}(x_{0}^{2} + 1)w_{2} + 5x_{0}^{2}(x_{0} + 1)^{2}(x_{0}^{2} + 1)(x_{0} + 6)^{2}w_{3} + 2x_{0}^{2}(x_{0} + 6)^{2}(x_{0}^{2} + 1)(x_{0} + 1)w_{5} |v_{P_{∞}^{4}}(u_{1})| = 27 |v_{P_{∞}^{4}}(u_{1})| ≡ 11 mod 16

u_{2} = 5x_{0}(x_{0} + 1)^{2}(x_{0}^{2} + 1)(x_{0} + 6)^{2}(x_{0}^{2} + x_{0} + 3)w_{1}

+ 2x_{0}(x_{0} + 6)^{2}(x_{0}^{2} + 1)(x_{0} + 1)(x_{0}^{2} + x_{0} + 3)w_{2} + 2x_{0}^{2}(x_{0} + 1)^{2}(x_{0}^{2} + 1)(x_{0} + 6)^{2}w_{3} + 5x_{0}^{2}(x_{0} + 6)^{2}(x_{0}^{2} + 1)(x_{0} + 1)w_{5} |v_{P_{∞}^{4}}(u_{2})| = 23 |v_{P_{∞}^{4}}(u_{2})| ≡ 7 mod 16

u_{3} = x_{0}(x_{0} + 1)(x_{0} + 3)(x_{0}^{3} + 4x_{0}^{2} + 5x_{0} + 3)(x_{0} + 6)^{2}(x_{0}^{2} + 1)w_{1}

+ 6x_{0}^{2}(x_{0} + 6)^{2}(x_{0}^{2} + 1)(x_{0} + 1)(x_{0}^{2} + x_{0} + 3)w_{2} + 3x_{0}(x_{0} + 6)^{2}(x_{0}^{2} + 1)(x_{0} + 1)(x_{0} + 4)^{2}w_{3} + x_{0}^{3}(x_{0} + 6)^{2}(x_{0}^{2} + 1)(x_{0} + 1)w_{5} |v_{P_{∞}^{4}}(u_{3})| = 35 |v_{P_{∞}^{4}}(u_{3})| ≡ 3 mod 16

u_{4} = 3x_{0}(x_{0} + 1)(x_{0} + 6)(x_{0}^{2} + 1)(x_{0}^{2} + 3x_{0} + 5)w_{4}

+ x_{0}^{2}(x_{0} + 1)^{3}(x_{0} + 6)(x_{0}^{2} + 1)w_{6} + 5x_{0}^{2}(x_{0} + 1)^{2}(x_{0} + 6)(x_{0}^{2} + 1)w_{7} + 2x_{0}^{2}(x_{0} + 1)(x_{0} + 6)(x_{0}^{2} + 1)w_{9} |v_{P_{∞}^{4}}(u_{4})| = 41 |v_{P_{∞}^{4}}(u_{4})| ≡ 9 mod 16

u_{5} = 3x_{0}(x_{0} + 1)^{4}(x_{0} + 6)^{2}(x_{0}^{2} + 1)w_{1} + 4x_{0}(x_{0} + 1)^{3}(x_{0} + 6)^{2}(x_{0}^{2} + 1)w_{2}

+ 6x_{0}(x_{0}^{2} + 1)(x_{0} + 6)^{2}(x_{0} + 1)^{2}w_{3} + x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)^{2}w_{5} |v_{P_{∞}^{4}}(u_{5})| = 15 |v_{P_{∞}^{4}}(u_{5})| ≡ 15 mod 16

u_{6} = x_{0}(x_{0} + 1)^{2}(x_{0} + 2)(x_{0} + 5)^{2}(x_{0}^{2} + 1)w_{4}

+ 6x_{0}(x_{0} + 1)(x_{0} + 2)(x_{0} + 5)^{2}(x_{0}^{2} + 1)w_{6} + 5x_{0}^{3}(x_{0} + 1)^{2}(x_{0}^{2} + 1)w_{7} + 2x_{0}^{3}(x_{0} + 1)(x_{0}^{2} + 1)w_{9} |v_{P_{∞}^{4}}(u_{6})| = 37 |v_{P_{∞}^{4}}(u_{6})| ≡ 5 mod 16

u_{7} = 4x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0}^{5} + 3x_{0}^{4} + 6x_{0}^{3} + 6x_{0} + 4)w_{4}

+ 3x_{0}^{2}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 2)(x_{0} + 5)^{2}w_{6} + 2x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0}^{3} + 3x_{0}^{2} + 5x_{0} + 4)w_{7} + x_{0}^{4}(x_{0}^{2} + 1)(x_{0} + 1)w_{9} |v_{P_{∞}^{4}}(u_{7})| = 49 |v_{P_{∞}^{4}}(u_{7})| ≡ 1 mod 16

u_{8} = x_{0}(x_{0}^{2} + 1)(x_{0} + 6)^{2}(x_{0} + 1)w_{8}

|v_{P_{∞}^{4}}(u_{8})| = 30 |v_{P_{∞}^{4}}(u_{8})| ≡ 14 mod 16

u_{9} = 4x_{0}(x_{0} + 1)^{4}(x_{0}^{2} + 1)(x_{0} + 6)w_{4} + 3x_{0}(x_{0} + 1)^{3}(x_{0}^{2} + 1)(x_{0} + 6)w_{6}

+ x_{0}(x_{0} + 1)^{2}(x_{0}^{2} + 1)(x_{0} + 6)w_{7} + 6x_{0}(x_{0} + 1)(x_{0}^{2} + 1)(x_{0} + 6)w_{9} |v_{P_{∞}^{4}}(u_{9})| = 29 |v_{P_{∞}^{4}}(u_{9})| ≡ 13 mod 16

u_{10} = x_{0}(x_{0}^{2} + 1)(x_{0} + 6)^{2}(x_{0} + 1)w_{10}

|v_{P_{∞}^{4}}(u_{10})| = 42 |v_{P_{∞}^{4}}(u_{10})| ≡ 10 mod 16

u_{11} = 5x_{0}^{2}(x_{0}^{2} + 1)(x_{0} + 1)w_{8} + x_{0}(x_{0}^{2} + 1)(x_{0} + 1)w_{11}

|v_{P_{∞}^{4}}(u_{11})| = 22 |v_{P_{∞}^{4}}(u_{11})| ≡ 6 mod 16

u_{12} = x_{0}(x_{0}^{2} + 1)w_{12}

|v_{P_{∞}^{4}}(u_{12})| = 12 |v_{P_{∞}^{4}}(u_{12})| ≡ 12 mod 16

u_{13} = 5x_{0}^{2}(x_{0}^{2} + 1)(x_{0} + 1)w_{10} + x_{0}(x_{0}^{2} + 1)(x_{0} + 1)w_{13}

|v_{P_{∞}^{4}}(u_{13})| = 34 |v_{P_{∞}^{4}}(u_{13})| ≡ 2 mod 16

u_{14} = x_{0}(x_{0}^{2} + 1)w_{14}

|v_{P_{∞}^{4}}(u_{14})| = 24 |v_{P_{∞}^{4}}(u_{14})| ≡ 8 mod 16

u_{15} = x_{0}(x_{0}^{2} + 1)w_{15}

|v_{P_{∞}^{4}}(u_{15})| = 36 |v_{P_{∞}^{4}}(u_{15})| ≡ 4 mod 16

u_{16} = w_{16}

|v_{P_{∞}^{4}}(u_{16})| = 0 |v_{P_{∞}^{4}}(u_{16})| ≡ 0 mod 16

\underline{LBasis}():

\{ \begin{matrix}u_{1}, u_{2}, x_{0}u_{2}, u_{3}, u_{5}, x_{0}u_{5}, u_{6}, u_{8}, u_{9}, u_{11}, x_{0}u_{11}, \\ u_{12}, x_{0}u_{12}, u_{13}, u_{14}, u_{15}, u_{16}, x_{0}u_{16}, x_{0}^{2}u_{16} \end{matrix} \}

5 Kummersche Erweiterungen 𝔽_{q}(x, y)/𝔽_{q}(x) mit vielen rationalen Stellen für Char 𝔽_{q} = 2

Theorem 5.1 Sei q = 2^{m}, m ≥ 2. Sei 𝔽_{q}(x, y)/𝔽_{q}(x) eine Kummersche Funktionenkörpererweiterung vom Grad q − 1 mit der definierenden Gleichung

y^{q−1} = f(x) ∈ 𝔽_{q}(x).

Dann sind das Geschlecht g′ und die Anzahl der rationalen Stellen N von 𝔽_{q}(x, y)/𝔽_{q} aus der folgenden Tabelle abzulesen:

Fall  Voraussetzungen  g′  N  N/g′ >

1.  \begin{matrix}m ≡ 0 mod 2, m ≥ 6, \\ f(x) = \frac{x^{q−1}+1}{x^{3}+1} + 1 \end{matrix}  \frac{1}{8} (q^{2} − 6q − 32)  (q − 1)(q − 4) + 15  8

2.  \begin{matrix}m ≡ 0 mod 2, m ≥ 4, \\ f(x) = x^{d}(x^{d} + 1), \\ wobei d = \frac{q−1}{3} ist \end{matrix}  \frac{1}{6} (q^{2} − 5q + 10)  \frac{1}{3} (2q + 1)(q − 1)  4

3.  \begin{matrix}m ≡ 1 mod 2, \\ f(x) = \frac{(x^{2m−s} +x+1)^{2s}}{x^{2s} +x+1} , \\ wobei s = \frac{m−1}{2} ist \end{matrix}  \frac{1}{2} (q − 2)(3 · 2^{s} − 1)  q(q − 1) + 1  \sqrt[\frac{2\sqrt{2}}{3}]{q}

4.  \begin{matrix}m ≡ 0 mod 4, \\ f(x) = \frac{(x^{2m−s} +x+1)^{2s}}{x^{2s} +x+1} , \\ wobei s = \frac{m}{2} − 1 ist \end{matrix}  \frac{1}{2} (q − 2)(5 · 2^{s} − 3)  (q − 2)(q − 1) + 3  \sqrt[\frac{4}{5}]{q}

5.  \begin{matrix}m ≡ 2 mod 4, m ≥ 6 \\ f(x) = \frac{(x^{2m−s} +x+1)^{2s}}{x^{2s} +x+1} , \\ wobei s = \frac{m}{2} − 1 ist \end{matrix}  \frac{1}{2} (q − 2)(5 · 2^{s} − 1) − 1  q(q − 1) + 3  \sqrt[\frac{4}{5}]{q}

Beweis. Für den Beweis unterscheiden wir wie in der Tabelle fünf Fälle. Im weiteren bei genauer Betrachtung jedes Falls werden wir feststellen, dass eine Stelle von 𝔽_{q}(x)/𝔽_{q} existiert, die voll verzweigt in 𝔽_{q}(x, y)/𝔽_{q}(x) ist. Daher werden wir Folgerung 2.2.18 anwenden, für die unter den Voraussetzungen des Theorems gilt

F = 𝔽_{q}(x), F′ = 𝔽_{q}(x, y), g = 0, n = q − 1, u = f(x), K = K′ = 𝔽_{q},

und die Formel zur Berechnung von g′ vereinfacht sich wie folgt

g′ = 2 − q + \frac{1}{2} ∑_{P ∈ℙ_{𝔽q (x)}}(q − 1 − r_{P})deg P,

wobei r_{P} = ggT (q − 1, v_{P} (f(x))) = \frac{q−1}{e(P′|P)} mit P′|P ist. Sei

R := ∑_{P ∈ℙ_{𝔽q (x)}}(q − 1 − r_{P})deg P.

Sei l ∈ ℕ. Sei E ein Körper und Ē sein algebraischer Abschluß. Sei S_{l} ⊆ Ē die Menge primitiver l-ter Einheitswurzeln über E. Dann wird l-tes Kreisteilungspolynom mit ϕ_{l}(x) = ∏_{ξ∈S_{l}}(x − ξ) ∈ Ē[x] bezeichnet, und es gilt:

x^{l} − 1 = ∏_{d | l} ϕ_{d}(x).

Sei P_{∞} ∈ ℙ_{𝔽_{q}(x)} der Pol des Elements x und P_{p(x)} ∈ ℙ_{𝔽_{q}(x)} die Stelle, die durch das normierte irreduzible Polynom p(x) ∈ 𝔽_{q}[x] definiert ist. Dann sind die in der Tabelle angegebenen Fälle im weiteren wie folgt beschrieben.

FALL 1. Behauptung 1. Es gilt

\frac{x^{q−1} + 1}{x^{3} + 1} + 1 = x^{3}ϕ_{1}^{3}(x)ϕ_{3}^{3}(x) ∏_{d | 2^{m−2}−1, d>3} ϕ_{d}^{4}(x).

Beweis.

\frac{x^{q−1} + 1}{x^{3} + 1} + 1 = \frac{x^{q−1} + x^{3}}{ϕ_{1}(x)ϕ_{3}(x)} = \frac{x^{3} ((x^{4})^{2^{m−2}−1} + 1)}{ϕ_{1}(x)ϕ_{3}(x)}

= \frac{x^{3}(x^{2^{m−2}−1} + 1)^{4}}{ϕ_{1}(x)ϕ_{3}(x)} = \frac{x^{3} ∏_{d | 2^{m−2}−1} ϕ_{d}^{4}(x)}{ϕ_{1}(x)ϕ_{3}(x)}. ⊲

Nach Behauptung 1 sieht die definierende Gleichung wie folgt aus:

y^{q−1} = x^{3}ϕ_{1}^{3}(x)ϕ_{3}^{3}(x) ∏_{d | 2^{m−2}−1, d>3} ϕ_{d}^{4}(x).  (53)

Wegen m ≡ 0 mod 2 und m ≥ 6 gilt 𝔽_{q} ∩ 𝔽_{2^{m−2}} = 𝔽_{2^{ggT (m,m−2)}} = 𝔽_{4}. Daher hat das Polynom ∏_{d | 2^{m−2}−1, d>3} ϕ_{d}(x) keine Nullstellen in 𝔽_{q}. Die durch es definierten Stellen von 𝔽_{q}(x)/𝔽_{q} sind daher nicht rational, und sie sind voll verzweigt in 𝔽_{q}(x, y)/𝔽_{q}(x) wegen ggT (q −1, 4) = 1. So spielen diese Stellen nur bei der Berechnung des Geschlechts g′ eine Rolle. Die Summe deren Grade ist:

deg ∏_{d | 2^{m−2}−1, d>3} ϕ_{d}(x) = deg (\frac{x^{2^{m−2}−1} + 1}{x^{3} + 1}) = 2^{m−2} − 2^{2} = \frac{1}{4}(q − 16).

Damit ist einer der Summanden in R gleich \frac{1}{4}(q − 2)(q − 16).

85 Kummersche Erweiterungen 𝔽_{q}(x, y)/𝔽_{q}(x)

Wir schreiben die Gleichung (53) so um, dass wir über die Grade und über das Verzweigungsverhalten der anderen (durch diese Gleichung definierten) Stellen Aussagen machen können. Sei ξ eine primitive 3-te Einheitswurzel über 𝔽_{2}, d.h. 𝔽_{2}(ξ) = 𝔽_{4} ⊂ 𝔽_{q}. Dann gilt:

y^{q−1} = x^{3}(x + 1)^{3}(x + ξ)^{3}(x + (ξ + 1))^{3}(x^{3(l−1)} + x^{3(l−2)} + ⋯ + x^{3} + 1)^{4}, (54)

wobei l := \frac{2^{m−2}−1}{3}. Daher haben die Stellen P_{x}, P_{x+1}, P_{x+ξ}, P_{x+(ξ+1)}, P_{∞} von 𝔽_{q}(x)/𝔽_{q} jeweils drei Fortsetzungen in 𝔽_{q}(x, y)/𝔽_{q}(x) und den Verzweigungsindex \frac{q−1}{3}. Wir zeigen dies am Beispiel von P_{x+ξ}.

Sei z := ^{\frac{y^{\frac{q−1}{3}}}{x+ξ}} . Dann folgt 𝔽_{q}(x) ⊆ 𝔽_{q}(z) ⊆ 𝔽_{q}(x, y), und wir betrachten die Erweiterung 𝔽_{q}(z)/𝔽_{q}(x) mit der definierenden Gleichung

z^{3} = x^{3}(x + 1)^{3}(x + (ξ + 1))^{3}(\underbrace{x^{3(l−1)} + x^{3(l−2)} + ⋯ + x^{3} + 1}_{ungerade Anzahl der Summanden})^{4}.

Ist x = ξ, so gilt z^{3} = 1. Da z^{3} − 1 in drei paarweise verschiedene Faktoren über 𝔽_{q} ⊃ 𝔽_{4} zerfällt, hat die Stelle P_{x+ξ} drei Fortsetzungen in 𝔽_{q}(z)/𝔽_{q}(x).

Sei α ∈ 𝔽_{q} \ 𝔽_{4}. Dann gilt für x = α

y^{q−1} = \frac{α^{q−1} + 1}{α^{3} + 1} + 1 = 1.

Daraus folgt, dass die q − 4 rationalen Stellen von 𝔽_{q}(x)/𝔽_{q} voll zerlegt in 𝔽_{q}(x, y)/𝔽_{q}(x) sind.

Damit werden das Geschlecht g′ und die Anzahl der rationalen Stellen N von 𝔽_{q}(x, y)/𝔽_{q} wie folgt berechnet:

g′ = 2 − q + \frac{1}{2} (\frac{1}{4}(q − 2)(q − 16) + 5(q − 4)) = \frac{1}{8}(q^{2} − 6q − 32),

N = (q − 4)(q − 1) + 15.

Damit folgt (q ≥ 64):

N/g′ = 8 (1 + \frac{8q + 51}{q^{2} − 6q − 32}) > 8.

FALL 2. Behauptung 2. Sei d = \frac{q−1}{3}. Dann gilt

x^{2d} + x^{d} + 1 = ∏_{l | q−1, l ∤ d} ϕ_{l}(x).

Beweis. Wegen d = \frac{q−1}{3} gilt

\frac{x^{q−1} + 1}{x^{d} + 1} = x^{q−1−d} + x^{q−1−2d} + x^{q−1−3d} = x^{2d} + x^{d} + 1,

und da

x^{q−1}+1 = ∏_{l | q−1} ϕ_{l}(x) = ∏_{l | d} ϕ_{l}(x) ∏_{l | q−1, l ∤ d} ϕ_{l}(x) = (x^{d}+1) ∏_{l | q−1, l ∤ d} ϕ_{l}(x),

folgt die Behauptung. ⊲

Da d | q−1, zerfällt x^{d}+1 (aus der definierenden Gleichung für 𝔽_{q}(x, y)/𝔽_{q}(x)) über 𝔽_{q} in d paarweise verschiedene lineare Faktoren. Damit sind die durch sie definierten d rationalen Stellen von 𝔽_{q}(x)/𝔽_{q} voll verzweigt in 𝔽_{q}(x, y)/𝔽_{q}(x).

Analog zu Überlegungen in Fall 1 folgt, dass die Stellen P_{x} und P_{∞} jeweils den Verzweigungsindex 3 und d Fortsetzungen in 𝔽_{q}(x, y)/𝔽_{q}(x) haben.

Nach Behauptung 2 hat x^{2d} + x^{d} + 1 paarweise verschiedene einfache Nullstellen β_{1}, …, β_{2d} ∈ 𝔽_{q}^{∗}. Da y^{q−1} = 1 für x = β_{i} für i = 1, …, 2d gilt, folgt, dass diese 2d rationalen Stellen von 𝔽_{q}(x)/𝔽_{q} voll zerlegt in 𝔽_{q}(x, y)/𝔽_{q}(x) sind.

Unter Berücksichtigung von d = \frac{q−1}{3} werden das Geschlecht g′ und die Anzahl der rationalen Stellen N von 𝔽_{q}(x, y)/𝔽_{q} wie folgt berechnet:

g′ = 2 − q + \frac{1}{2}((q − 2)d + (q − 1 − d)2) = \frac{1}{6}(q^{2} − 5q + 10),

N = 2d(q − 1) + 2d + d = \frac{1}{3}(2q + 1)(q − 1).

Damit folgt (q ≥ 16):

N/g′ = 4 (1 + \frac{4\frac{1}{2}q − 10\frac{1}{2}}{q^{2} − 5q + 10}) > 4.

Für die nächsten drei Fälle brauchen wir ein Lemma.

Lemma 5.2 Sei f(x) = x^{2^{n}} + x + 1 ∈ 𝔽_{q}[x], n ∈ ℕ. Sei Char 𝔽_{q} = 2. Dann gilt:

(1) f(x) hat alle Nullstellen in 𝔽_{2^{2n}} \ 𝔽_{2} und ist quadratfrei.

(2) x^{2} + x + 1 | f(x), falls n ≡ 1 mod 2.

Beweis. (1) Wegen x^{2^{2n}} +x = (x^{2^{n}} +x+1)^{2^{n}} +(x^{2^{n}} +x+1) gilt f(x) | x^{2^{2n}} +x. Da die erste Ableitung von f(x) gleich 1 ist, hat f(x) nur einfache Nullstellen in seinem Zerfällungskörper.

(2) f(x) kann für n ≡ 1 mod 2 wie folgt dargestellt werden:

f(x) = x^{2^{n}} + x + 1 = ∑_{k=1}^{n}(x^{2} + x + 1)^{2^{n−k}}.

□

FALL 3. Behauptung 3. Es gilt

𝔽_{2^{2(m−s)}} ∩ 𝔽_{2^{2s}} = 𝔽_{4}, 𝔽_{2^{2(m−s)}} ∩ 𝔽_{q} = 𝔽_{2}, 𝔽_{2^{2s}} ∩ 𝔽_{q} = 𝔽_{2}.

Beweis. Wegen s = \frac{m−1}{2} gilt m − s = \frac{m+1}{2}. Dann folgt ggT (m − s, s) = 1, und damit gilt 𝔽_{2^{2(m−s)}} ∩ 𝔽_{2^{2s}} = 𝔽_{2^{2ggT (m−s,s)}} = 𝔽_{2^{2}}. Die anderen Aussagen folgen aus ggT (m, 2(m − s)) = ggT (m, m + 1) = 1 = ggT (m, m − 1) = ggT (m, 2s). ⊲

Nach Behauptung 3 und Lemma 5.2 sind die Polynome x^{2^{m−s}} + x + 1 und x^{2^{s}} + x + 1 aus der definierenden Gleichung

y^{q−1} = \frac{(x^{2^{m−s}} + x + 1)^{2^{s}}}{x^{2^{s}} + x + 1}

teilerfremd, quadratfrei und haben keine Nullstellen in 𝔽_{q}. Daher definieren sie^{38} nur Stellen von 𝔽_{q}(x)/𝔽_{q}, die nicht rational und nach der definierenden Gleichung voll verzweigt in 𝔽_{q}(x, y)/𝔽_{q}(x) sind.

Da ggT (2^{m} − 2^{s}, q − 1) = ggT (2^{m−s} − 1, 2^{m} − 1) = 1, ist die Stelle P_{∞} auch voll verzweigt in 𝔽_{q}(x, y)/𝔽_{q}(x).

Sei α ∈ 𝔽_{q}^{∗}. Dann gilt für x = α wegen q = 2^{m}:

y^{q−1} = \frac{α^{2^{m}} + α^{2^{s}} + 1}{α^{2^{s}} + α + 1} = \frac{α + α^{2^{s}} + 1}{α^{2^{s}} + α + 1} = 1.

Für x = 0 gilt auch y^{q−1} = 1. Daraus folgt, dass die q rationalen Stellen von 𝔽_{q}(x)/𝔽_{q} voll zerlegt in 𝔽_{q}(x, y)/𝔽_{q}(x) sind.

Da m − s = s + 1 und 2^{s} = \sqrt{\frac{q}{2}} gilt, folgt

g′ = 2 − q + \frac{1}{2}(2^{m−s} + 2^{s} + 1)(q − 2) = \frac{1}{2}(q − 2)(3 · 2^{s} − 1),

N = q(q − 1) + 1,

und damit (q ≥ 8)

N/g′ > \frac{2\sqrt{2}}{3}\sqrt{q}.

FALL 4. Behauptung 4. Es gilt

𝔽_{2^{2(m−s)}} ∩ 𝔽_{2^{2s}} = 𝔽_{4}, 𝔽_{2^{2(m−s)}} ∩ 𝔽_{q} = 𝔽_{4}, 𝔽_{2^{2s}} ∩ 𝔽_{q} = 𝔽_{4}.

Beweis. Wegen s = \frac{m}{2} − 1 gilt m − s = \frac{m}{2} + 1. Damit, und da m ≡ 0 mod 4, folgt ggT (m − s, s) = 1, und damit gilt 𝔽_{2^{2(m−s)}} ∩ 𝔽_{2^{2s}} = 𝔽_{2^{2ggT (m−s,s)}} = 𝔽_{4}. Wegen ggT (m, 2(m − s)) = ggT (m, m + 2) = 2 = ggT (m, m − 2) = ggT (m, 2s) gelten die anderen Aussagen. ⊲

Nach Behauptung 4 und Lemma 5.2 sind die Polynome x^{2^{m−s}} + x + 1 und x^{2^{s}} + x + 1 aus der definierenden Gleichung

y^{q−1} = \frac{(x^{2^{m−s}} + x + 1)^{2^{s}}}{x^{2^{s}} + x + 1}

quadratfrei, haben nur zwei gemeinsame Nullstellen, die in 𝔽_{4} \ 𝔽_{2} ⊂ 𝔽_{q} liegen, und keine weiteren Nullstellen in 𝔽_{q}. Daher können die beiden Polynome durch x^{2} + x + 1 geteilt werden, und die definierende Gleichung sieht danach wie folgt aus:

y^{q−1} = (x^{2} + x + 1)^{2^{s}−1} \frac{(x^{2^{m−s}−2} + … + 1)^{2^{s}}}{x^{2^{s}−2} + … + 1} .

Die Stellen von 𝔽_{q}(x)/𝔽_{q}, die durch die Polynome^{39} im Zähler und im Nenner des Quotienten in der letzten Darstellung definiert sind, sind nicht rational und voll verzweigt in 𝔽_{q}(x, y)/𝔽_{q}(x).

38Bzw. ihre über 𝔽_{q} paarweise verschiedenen nicht linearen Faktoren, falls diese Polynome in welche zerfallen.

39Bzw. durch ihre über 𝔽_{q} paarweise verschiedenen nicht linearen Faktoren, falls diese Polynome in welche zerfallen.

Die zwei rationalen Stellen von 𝔽_{q}(x)/𝔽_{q}, die durch die Faktoren von x^{2} + x + 1 definiert sind, und die Stelle P_{∞} sind voll verzweigt in 𝔽_{q}(x, y)/𝔽_{q}(x) wegen ggT (2^{m} − 2^{s}, q − 1) = 1 (für P_{∞}) und ggT (2^{s} − 1, q − 1) = 1.

Sei α ∈ 𝔽_{q} \{𝔽_{4} \ 𝔽_{2}}. Dann gilt für x = α analog zu Fall 3: y^{q−1} = 1. Daraus folgt, dass die q−2 rationalen Stellen von 𝔽_{q}(x)/𝔽_{q} voll zerlegt in 𝔽_{q}(x, y)/𝔽_{q}(x) sind.

Wegen m − s = s + 2 und 2^{s} = \frac{\sqrt{q}}{2} gilt:

g′ = 2 − q + \frac{1}{2}(2^{m−s} − 2 + 2^{s} − 2 + 3)(q − 2) = \frac{1}{2}(q − 2)(5 · 2^{s} − 3),

N = (q − 2)(q − 1) + 3,

und damit (q ≥ 16)

N/g′ > \frac{4}{5}\sqrt{q}.

FALL 5. Behauptung 5. Es gilt

𝔽_{2^{2(m−s)}} ∩ 𝔽_{2^{2s}} = 𝔽_{16}, 𝔽_{2^{2(m−s)}} ∩ 𝔽_{q} = 𝔽_{4}, 𝔽_{2^{2s}} ∩ 𝔽_{q} = 𝔽_{4}.

Beweis. Wegen s = \frac{m}{2} − 1 gilt m − s = \frac{m}{2} + 1. Damit, und da m ≡ 2 mod 4 ist, folgt ggT (m − s, s) = 2, und damit gilt 𝔽_{2^{2(m−s)}} ∩ 𝔽_{2^{2s}} = 𝔽_{2^{2ggT (m−s,s)}} = 𝔽_{2^{4}}. Wegen ggT (m, 2(m − s)) = ggT (m, m + 2) = 2 = ggT (m, m − 2) = ggT (m, 2s) gelten die anderen Aussagen. ⊲

Nach Behauptung 5 und Lemma 5.2 sind die Polynome x^{2^{m−s}} + x + 1 und x^{2^{s}} + x + 1 aus der definierenden Gleichung

y^{q−1} = \frac{(x^{2^{m−s}} + x + 1)^{2^{s}}}{x^{2^{s}} + x + 1}

quadratfrei, haben eventuell in 𝔽_{16} \ 𝔽_{4} die gemeinsamen Nullstellen, aber keine Nullstellen in 𝔽_{q}. Wir zeigen, dass diese beiden Polynome unter den Voraussetzungen dieses Falls keine gemeinsamen Nullstellen haben.

Existiert ein γ ∈ 𝔽_{16} \ 𝔽_{4}, so dass

x + γ | x^{2^{m−s}} + x + 1 und x + γ | x^{2^{s}} + x + 1

gilt, so teilt x + γ dann auch ihre Summe x^{2^{m−s}} + x^{2^{s}}. Damit folgt

x + γ | x^{2^{m−s}−2^{s}} + 1,

und wegen γ ∈ 𝔽_{16} \ 𝔽_{4} gilt

x + γ | x^{15} + 1.

Nun berechnen wir

ggT (x^{15} + 1, x^{2^{m−s}−2^{s}} + 1) = (x^{ggT (15,3·2^{s})} + 1) = x^{3} + 1 ∈ 𝔽_{4}[x],

was ein Widerspruch zu x + γ ∉ 𝔽_{4}[x] ist.

Alle durch diese Polynome^{40} definierten Stellen von 𝔽_{q}(x)/𝔽_{q} sind nicht rational und voll verzweigt in 𝔽_{q}(x, y)/𝔽_{q}(x).

Da ggT (2^{m} − 1, 2^{m} − 2^{s}) = 2^{ggT (m,m−s)} − 1 = 3 gilt, ist die Stelle P_{∞} verzweigt in 𝔽_{q}(x, y)/𝔽_{q}(x) mit dem Verzweigungsindex \frac{q−1}{3}, und die Anzahl ihrer Fortsetzungen ist gleich 3.

Sei α ∈ 𝔽_{q}. Dann gilt für x = α analog zu Fall 3: y^{q−1} = 1. Daraus folgt, dass die q rationalen Stellen von 𝔽_{q}(x)/𝔽_{q} voll zerlegt in 𝔽_{q}(x, y)/𝔽_{q}(x) sind.

Wegen m − s = s + 2 und 2^{s} = \frac{\sqrt{q}}{2} gilt:

g′ = 2 − q + \frac{1}{2}((2^{m−s} + 2^{s})(q − 2) + (q − 4)) = \frac{1}{2}(q − 2)(5 · 2^{s} − 1) − 1,

N = q(q − 1) + 3,

und damit (q ≥ 64)

N/g′ > \frac{4}{5}\sqrt{q}.

□

In der folgenden Tabelle ist zu jedem Fall jeweils ein Beispiel angegeben. Die fett gedruckten Zahlen bedeuten eine neue Anzahl der rationalen Stellen im Vergleich zu [Gee-Vlu 1], eine in einer Box gedruckte Zahl ist gleich der Anzahl der rationalen Stellen in einem Beispiel in [Gee-Vlu 2], die zwei anderen Ergebnisse sind für die größeren Geschlechter (keine Vergleichsmöglichkeit).

Fall q  Die definierende Gleichung  g′  N N/g′

1. 64 y^{63} = x^{3}(x + 1)^{3}(x^{2} + x + 1)^{3}ϕ_{5}^{4}(x)ϕ_{15}^{4}(x) 460 3795 8,3

2. 16  y^{15} = x^{5}(x^{5} + 1) = x^{5}ϕ_{1}(x)ϕ_{5}(x)  31 165 5,3

3. 8  y^{7} = (x^{4} + x + 1)^{2}/(x^{2} + x + 1)  15 57  3,8

4. 16 y^{15} = (x^{2} + x + 1)(x^{6} + x^{5} + x^{3} + x^{2} + 1)^{2} 49 213 4,3

5. 64  y^{63} = (x^{16} + x + 1)^{4}/(x^{4} + x + 1)  588 4035 6,9

40Bzw. durch ihre über 𝔽_{q} paarweise verschiedenen nicht linearen Faktoren, falls diese Polynome in welche zerfallen.

Literatur

[Aho-Hop-Ull] A. Aho, J. Hopcroft, J. Ullman, The Design and Analysis of Computer Algorithms, Reading, Mass.: Addison-Wesley 1974.

[Ale] I. Aleshnikov, Ganzheitsbasen in einem Turm algebraischer Funktionenkörper: ein Beitrag zur Konstruktion asymptotisch guter algebraischgeometrischer Codes, Dissertation, Universität Essen, 2000.

[Ale-Deo-Kum-Sti] I. Aleshnikov, V. Deolalikar, P. V. Kumar, H. Stichtenoth, Towards a Basis for a Space of Regular Functions in a Tower of Function Fields Meeting the Drinfeld-Vlădut Bound, 5th Int. Conf. Finite Fields and Applications, University of Augsburg, Germany, 1999.

[Elk] N. D. Elkies, Explicit Modular Towers, in Proc. 35tn. Annu. Allerton Conf. Communication, Control and Computing, Urbana, IL, 1997.

[Gar-Sti 1] A. Garcia, H. Stichtenoth, A Tower of Artin-Schreier Extensions of Function Fields Attaining the Drinfeld-Vlădut Bound, Invent. Math. 121, 1995, 211-222.

[Gar-Sti 2] A. Garcia, H. Stichtenoth, On the Asymptotic Behavior of Some Towers of Function Fields over Finite Fields, J. Number Theory 61, 1996, 248-273.

[Gar-Sti-Rüc] A. Garcia, H. Stichtenoth, H. Rück On Tame Towers over Finite Fields, Reine und Angewandte Mathematik 557, 2003, 53-80.

[Gar-Sti-Tho] A. Garcia, H. Stichtenoth, M. Thomas, On Towers and Composita of Towers of Function Fields over Finite Fields, Finite Fields and their Applications 3, 1997, 257-274.

[Gee-Vlu 1] G. van der Geer, M. van der Vlugt, Tables of Curves with Many Points, http://www.wins.uva.nl/˜ geer.

[Gee-Vlu 2] G. van der Geer, M. van der Vlugt, Kummer Covers with Many Points, Finite Fields and their Applications 6, 2000, 327-342.

[Gop] V. D. Goppa, Codes on Algebraic Curves, Sov. Math.-Dokl. 24, 1981, 170-172.

[Grä] H.-G. Gräbe, Grundlegende Algorithmen der Computeralgebra, http://www.informatik.uni-leipzig.de/˜ graebe.

[Hac] G. Haché, Construction effective des codes géométriques, Ph. D. Dissertation, Université Paris 6, France, 1996.

[Knu 1] D. E. Knuth, The Art of Computer Programming, Fundamental Algorithms, Vol. 1, Reading, Mass.: Addison-Wesley 1969.

[Knu 2] D. E. Knuth, The Art of Computer Programming, Seminumerical Algorithms, Vol. 2, Reading, Mass.: Addison-Wesley 1969.

[Knu 3] D. E. Knuth, The Art of Computer Programming, Sorting and Searching, Vol. 3, Reading, Mass.: Addison-Wesley 1969.

[Leo] D. A. Leonard Finding the Defining Functions for the One-Point AG-Codes, IEEE Trans. Information Theory 47, 2001, 2566-2573.

[Pel-Sti-Tor] R. Pellikaan, H. Stichtenoth, F. Torres Weierstrass Semigroups in an Asymptotically Good Tower of Function Fields, Finite Fields and their Applications 4, 1998, 381-392.

[Rab] M. O. Rabin Probabilistic Algorithms in Finite Fields, SIAM J. Comp. 9, 1980, 273-280.

[Sha-Bee] Y. Shany and Y. Be’ery, Towards the Construction of Codes on the First Garcia-Stichtenoth Tower of Function Fields, Tel-Aviv University, Israel, 2001, E-mail: {shany,ybeery}@eng.tau.ac.il.

[Shu-Ale-Kum-Sti-Deo] K. W. Shum, I. Aleshnikov, P. V. Kumar, H. Stichtenoth, V. Deolalikar, A Low-Complexity Algorithm for the Construction of Algebraic-Geometric Codes Better Than the Gilbert-Varshamov Bound, IEEE Trans. Information Theory 47, 2001, 2225-2241.

[Sti] H. Stichtenoth, Algebraic Function Fields and Codes, Springer-Verlag Berlin-Heidelberg 1993.

[Tho] M. Thomas, Türme und Pyramiden algebraischer Funktionenkörper, Dissertation, Universität Essen, 1997.

[Tsf-Vla-Zin] M. A. Tsfasman, S. G. Vlădut, T. Zink, Modular Curves, Shimura Curves, and Goppa Codes, Better Than Varshamov-Gilbert Bound, Math. Nachr. 109, 1982, 21-28.

[Vos-Høh] C. Voss, T. Høholdt, An Explicit Construction of a Sequence of Codes Attaining the Tsfasman-Vlădut-Zink Bound: The First Steps, IEEE Trans. Information Theory 43, 1997, 128-135.