Riemann-Roch Spaces and Computation 9783110426120, 9783110426137

The book focuses on the educational perspective of Riemann-Roch spaces and the computation of algebraic structures conne

210 82 1MB

English Pages 151 Year 2015

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Preface
Preface
Part I: Riemann-Roch Spaces
1 Elements of Algebra
1.1 Domains
1.2 Rings and Fields
1.3 Norm and Trace
1.4 Group of Units
2 Function Fields and Curves
2.1 Algebraic Function Fields
2.2 Affine Curves
2.3 Projective Curves
2.4 Genus of a Curve
3 Riemann-Roch Spaces
3.1 Valuation Rings
3.2 Places and Divisors
3.3 Riemann-Roch Space
3.4 Holomorphy Rings
4 Integral Domains
4.1 Fractional Ideals
4.2 Localization
4.3 R-module V
Part II: Computation
5 Computing Integral Bases
5.1 Discriminant
5.2 Ideal Basis
5.3 Idealizer
5.4 Radical
5.5 Computing the Discriminants Ideal Radical
5.6 Computing Idealizers and Inverse Ideals
5.7 Trager's Algorithm
5.8 Examples
6 Computing Riemann-Roch Spaces
6.1 Reduced Basis Algorithms
6.2 The Dimension of L(D)
6.3 Computing L(D)
7 Computing Resultant and Norm Form Equations
7.1 Resultant
7.2 Computing NL/K (x1a1+ @let@token + xnan)=k
7.3 Examples
8 Computing Integral Points on Rational Curves
8.1 Integral Points on Curves
8.2 Integral Points on Curves with | (C)| 3
8.3 Integral Points on Curves with | (C)| =2 (i)
8.4 Integral Points on Curves with | (C)| =2 (ii)
8.5 Integral Points on Curves with | (C)| =1
Appendices
A Unimodular Matrices
A.1 Transformation Matrix
A.2 Unimodular Transformations
B Algorithm's Codes
B.1 Integral Points 3 Algorithm's Code
B.2 Integral Points 2i Algorithm's Code
B.3 Integral Points 2ii Algorithm's Code
B.4 Integral Points 1 Algorithm's Code
Bibliography
Index
Index of Algorithms
Recommend Papers

Riemann-Roch Spaces and Computation
 9783110426120, 9783110426137

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

Paraskevas Alvanos Riemann-Roch Spaces and Computation

Paraskevas Alvanos

Riemann-Roch Spaces and Computation | Managing Ediror: Aleksandra Nowacka-Leverton Associate Editor: Dimitris Poulakis Language Editor: Nick Rogers

Published by De Gruyter Open Ltd, Warsaw/Berlin Part of Walter de Gruyter GmbH, Berlin/Munich/Boston

This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 license, which means that the text may be used for non-commercial purposes, provided credit is given to the author. For details go to http://creativecommons.org/licenses/by-nc-nd/3.0/.

Copyright © 2014 Paraskevas Alvanos published by De Gruyter Open ISBN 978-3-11-042613-7 e-ISBN 978-3-11-042612-0

Bibliographic information published by the Deutsche Nationalbibliothek The Deutsche Nationalbibliothek lists this publication in the Deutsche Nationalbibliografie; detailed bibliographic data are available in the Internet at http://dnb.dnb.de. Managing Editor: Aleksandra Nowacka-Leverton Associate Editor: Dimitris Poulakis Language Editor: Nick Rogers www.degruyteropen.com Cover illustration: © Paraskevas Alvanos

Contents Preface | VIII

Part I: Riemann-Roch Spaces 1 1.1 1.2 1.3 1.4

Elements of Algebra | 2 Domains | 2 Rings and Fields | 9 Norm and Trace | 13 Group of Units | 15

2 2.1 2.2 2.3 2.4

Function Fields and Curves | 17 Algebraic Function Fields | 17 Affine Curves | 19 Projective Curves | 23 Genus of a Curve | 27

3 3.1 3.2 3.3 3.4

Riemann-Roch Spaces | 32 Valuation Rings | 32 Places and Divisors | 36 Riemann-Roch Space | 39 Holomorphy Rings | 41

4 4.1 4.2 4.3

Integral Domains | 44 Fractional Ideals | 44 Localization | 46 R-module V | 50

Part II: Computation 5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8

Computing Integral Bases | 54 Discriminant | 54 Ideal Basis | 56 Idealizer | 58 Radical | 60 Computing the Discriminants Ideal Radical | 61 Computing Idealizers and Inverse Ideals | 64 Trager’s Algorithm | 66 Examples | 67

6

Computing Riemann-Roch Spaces | 73

6.1 6.2 6.3

Reduced Basis Algorithms | 73 The Dimension of L(D) | 79 Computing L(D) | 81

7 7.1 7.2 7.3

Computing Resultant and Norm Form Equations | 85 Resultant | 85 Computing N L/K (x1 a1 + · · · + x n a n ) = k | 90 Examples | 92

8 8.1 8.2 8.3 8.4 8.5

Computing Integral Points on Rational Curves | 98 Integral Points on Curves | 98 Integral Points on Curves with |Σ∞ (C)| ≥ 3 | 99 Integral Points on Curves with |Σ∞ (C)| = 2 (i) | 106 Integral Points on Curves with |Σ∞ (C)| = 2 (ii) | 109 Integral Points on Curves with |Σ∞ (C)| = 1 | 112

Appendices | 115 A A.1 A.2

Unimodular Matrices | 115 Transformation Matrix | 115 Unimodular Transformations | 116

B B.1 B.2 B.3 B.4

Algorithm’s Codes | 118 Integral Points 3 Algorithm’s Code | 118 Integral Points 2i Algorithm’s Code | 126 Integral Points 2ii Algorithm’s Code | 129 Integral Points 1 Algorithm’s Code | 133

Bibliography | 136 Index | 139 Index of Algorithms | 141

| To my "Flower" Στο ῾῾Τζατζούρι᾿᾿ μου

Preface Riemann-Roch space is a field of functions with applications in algebraic geometry and coding theory. This textbook is focused on theory and on computations that are relevant to Riemann-Roch spaces. It is noted that for the computation of integral points on curves, the study of a Riemann-Roch space is necessary (Alvanos et al., 2011; Poulakis et al., 2000; Poulakis et al., 2002). Besides the computation of integral points on curves, computation of Riemann-Roch spaces are used for the construction of Goppa codes (Goppa, 1981; Goppa, 1988), symbolic parametrizations of curves (Van Hoeij, 1995; Van Hoeij, 1997), integration of algebraic functions (Davenport, 1981) and a lot more (Hiren et.al, 2005). Riemann-Roch space arises from the classical Riemann-Roch theorem which computes the dimension of the field of functions with specific zeros and poles dim D = deg D − g + 1 + i(D). Here D is a divisor, g is the genus of the function field and i(D) an invariant of the function field. The inequality dim D ≥ deg D − g + 1 was initially proved by Riemann (1857) and was upgraded to equality by Roch (1865). The scope of the textbook is not to add original research to the literature but to give an educational perspective on Riemann-Roch spaces and the computation of algebraic structures connected to Riemann-Roch theorem. The proofs of theorems that use stiff techniques are avoided, and proofs with educational value (according to the author’s opinion) are presented, allowing the reader to follow the book without many difficult computation. In order to follow the textbook, the reader should be aware of the basic algebraic structures such as group, ring, prime ideal, maximal ideal, number field, modules, vector spaces and the basics of linear algebra, matrix theory and polynomial theory. The first part of the textbook consists of four chapters where algebraic structures and some of their properties are analysed. The second part of the textbook consists of four more chapters where algorithms and examples connected to Riemann-Roch spaces are presented. Throughout the textbook a variety of examples cover the majority of the cases. This textbook is a résumé of the author’s work and his research the last 15 years. Therefore, the author would like to thank all of his colleagues and friends that helped him in every way during those years. Especially, the author would like to express his deep gratitude to his beloved wife, K. Roditou, for her comments and her support during the writing of this textbook. The author would also like to thank very much the referees for their corrections and their very thoughtful and useful comments and K. Chatzinikolaou for his suggestions about the design of the cover. Last but not least, © 2014 Paraskevas Alvanos This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License.

Preface

| IX

the author would like to express his ultimate respect to his former supervisor and current mathematical mentor prof. D. Poulakis.

| Part I: Riemann-Roch Spaces

1 Elements of Algebra In this first chapter we introduce the algebraic structures that will be used in the following chapters. Definitions are enriched with lots of examples and figures for better understanding. We will only deal with commutative rings and number fields and therefore every reference to a ring or a field implies a commutative ring and a number field respectively.

1.1 Domains In this section we investigate some basic properties of domains that are used throughout the textbook. Starting with the algebraic structure of the commutative ring and adding properties to it, we establish the algebraic structure of the field. Definition A commutative ring R is called an integral domain if for any two elements a, b ∈ R, a · b = 0 implies that a = 0 or b = 0. The definition of integral domain is necessary in order to have a domain where divisibility can occur. As we know the set of n × n invertible matrices, where the identity element of the ring is the identity matrix and the zero element of the ring is the zero matrix, form a commutative ring. The product of two matrices A, B might be the zero matrix while neither of A and B are zero matrices. For instance " # " # " # 0 0 2 0 0 0 · = 0 2 0 0 0 0 Thus, the ring of n × n diagonal matrices is not an integral domain, even though it is a commutative ring. All fields, the ring of rational integers Z and all the subrings of integral domains are integral domains. Proposition 1.1.1. If R is an integral domain then R[x] is also an integral domain. Proof. In order to prove that R[x] is an integral domain it is equivalent to prove that for any two elements f (x) = a n x n + · · · + a1 x + a0 , a n ≠ 0 and g(x) = b m x m + · · · + b1 x + b0 , b m ≠ 0 if f (x)g(x) = 0 then f (x) = 0 or g(x) = 0. The product f (x)g(x) is f (x)g(x) = a n b m x n+m + · · · + (a1 b0 + a0 b1 )x + a0 b0 = 0. Thus a n b m = 0, which is a contradiction. © 2014 Paraskevas Alvanos This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License.

Domains

| 3

Divisibility in commutative rings give rise to interesting properties for the elements of those rings. Those properties inspire the following definitions. Let R be an integral domain. An element u ∈ R is called unit if there is u−1 ∈ R such that u · u−1 = 1 and is called n-th root of unity if u n = 1 for some n positive integer. The element u−1 is called an invertible element of u. An element r ∈ R is called irreducible if there are no non-unit elements a, b of R such that a · b = r. An element p ∈ R is called prime if for any a, b of R such that p|ab, then p|a or p|b. The definition of the prime element is equivalent to the condition that p is prime if the principal ideal (p) is a prime ideal. Two elements r1 and r2 of R are called associates if there is a unit u ∈ R such that r1 = ur2 . Proposition 1.1.2. The prime elements of an integral domain are irreducible. Proof. Let p be a prime element of an integral domain R. Then, for any a, b ∈ R such that p = ab we have that p|a or p|b. Assume, without loss of generality, that p|a. Then there is c ∈ R such that a = pc. Hence, p = ab ⇒ p = pcb ⇒ cb = 1 ⇒ b is a unit and therefore p is irreducible. Definition An integral domain R in which every non-zero element a can be written uniquely with respect to a unit as a product of irreducible elements of R is called a unique factorization domain. This means that if we have an element a of a unique factorization domain R that can be factorized in two ways, for instance a = b1q1 · · · b qnn = c1r1 · · · c rmm where b i and c j are irreducible elements of R and q i and r j are rational integers, then necessarily n = m and each irreducible factor b i is equal up to a unit to exactly one irreducible factor c j . The definition of the unique factorization domain arises from the generalization of the Fundamental Theorem of Arithmetic which states that every positive integer except 1 is either a prime or it can be written uniquely as a product of prime elements. A historical survey of the Fundamental Theorem of Arithmetic can be found in (Agargün et al., 2001). √ Now, let R be the polynomial ring Z[ −5] which is the ring that consists of the √ √ elements a + b −5 for any a, b ∈ Z. The element 9 ∈ Z[ −5] can be written in two ways. That is √ √ 9 = 3 · 3 = (2 + −5)(2 − −5). √



Since 3 does not differ from either (2 + −5) or (2 − −5) by more than a unit, we con√ clude that 9 has two representations with irreducible elements and therefore Z[ −5]

4 | Elements of Algebra

is not a unique factorization domain. On the other hand the set of the Gaussian in√ tegers Z[ −1] = Z[i] is a unique factorization domain and the irreducible Gaussian integers are exactly the rational integer primes which are not a sum of two rational integers and the elements of the form a ± bi such that a2 + b2 is prime. In addition if R is a unique factorization domain then so is R[x]. Proposition 1.1.3. Every irreducible element of a unique factorization domain is prime. Proof. Let r be an irreducible element of the unique factorization domain R. Assume that r|ab for some a, b ∈ R. Then there is a c ∈ R such that ab = cr. Since R is a unique factorization domain, a and b can be factorized uniquely into irreducible elements as follows a1 · · · a n b1 · · · b m = cr. Thus r must be associate to a factor of either a or b. Therefore r|a or r|b which implies that r is prime. Definition An integral domain in which every ideal is principal is called a principal ideal domain. This means that every ideal of R can be generated by a single element. If a and b are elements of the same principal ideal domain then there is a d such that the principal ideal (d) generated by d is equal to the ideal (a, b) generated by a and b. If a and b have no common divisors then every element of the R can be represented as ar1 + br2 for some r1 and r2 of R. Every field K is a principal ideal domain since its trivial ideal (0) is unique and therefore at the same time maximal. Next we will show that the ring of integers Z and the polynomial ring K[x] are also principal ideal domains. Proposition 1.1.4. The ring of integers Z is a principal ideal domain. Proof. Let I be a non zero ideal of Z and a the smallest positive integer of I. According to the euclidean division for any element b ∈ I it holds that b = πa + υ where 0 ≤ υ < a. Since b, πa are elements of I it implies that υ ∈ I but since υ < a and a is the smallest positive integer of I we deduce that υ = 0. Thus, b = πa and therefore I is equal to the principal ideal (a). Proposition 1.1.5. For any field K, the polynomial ring K[x] is a principal ideal domain.

Domains

| 5

Proof. Let I be a non-zero ideal of K[x] and f (x) an element of I having the minimal degree of all elements of K[x]. Assume that there is a g(x) ∈ I and that g(x) = π(x)f (x) + υ(x) where 0 ≤ deg υ(x) < deg f . Since g(x) and π(x)f (x) are elements of I we deduce that υ(x) is also an element of I. But f (x) is an element of minimum degree and 0 ≤ deg υ(x) < deg f , so υ(x) = 0, g(x) = π(x)f (x) and therefore I = (f (x)). Examples of domains that are not principal ideal domains are the bivariate ring K[x, y] and the polynomial ring Z[x]. For example the ideal generated by (x, y) is not a principal ideal of K[x, y] and the ideal (x, n) generated by the two elements x and n ∈ Z where n ≥ 2 is not a principal ideal of Z[x]. Proposition 1.1.6. If R is a principal ideal domain, then every prime ideal of R is maximal. Proof. Assume that (a) is a non-maximal prime ideal of R. Then there is a principal ideal (b) such that (a) ( (b) ( R. Thus, a ∈ (b) and there is c ∈ R such that a = bc. Since b ∉ (a) it implies that c ∈ (a). Thus there is d ∈ R such that c = da and therefore a = bc ⇒ a = bda ⇒ bd = 1. Hence, 1 belongs to (b) which means that (b) = R. This is a contradiction since we assumed that (b) ( R. Proposition 1.1.7. Every principal ideal domain is a unique factorization domain. Proof. In order to prove that a principal ideal domain R is a unique factorization domain it is equivalent to show that every non-unit element a of R has a factorization into irreducible factors with respect to a unit. Initially assume that none of the factors of a is irreducible. Let a1 ∈ R such that a1 |a. Then a1 does not have any irreducible factors. Inductively, we can create an infinite sequence of non-irreducible factors · · · a2 |a1 , a1 |a such that (a) ( (a1 ) ( (a2 ) ( · · · . Now, assume that I is generated by a, a1 , a2 , . . .. Since R is a principal ideal domain, there is a b ∈ R such that b=

n X

r i a i , r i ∈ R, a0 = a.

i=0

Thus b ∈ (a n ) and (b) ⊂ (a n ). On the other hand we have that (a n ) ( (a, a1 , a2 , . . .) = I.

6 | Elements of Algebra

This is a contradiction with the assumption that a was irreducible, and therefore we have proved that every element a of R has at least one irreducible factor. Suppose now that a = a1 r1 where r1 is the irreducible factor of a. If a1 is a unit then a is irreducible. If a1 is not a unit then there is an irreducible factor r2 and some a2 ∈ R such that a1 = a2 r2 . If a2 is a unit then a = a2 r1 r2 is a factorization of a into irreducible factors. This procedure could be continued indefinitely, and therefore a has an irreducible factor. The following theorem is very enlightening since it provide us a sufficient and necessary condition for a unique factorization theorem to be a principal ideal domain Theorem 1.1.8. A unique factorization domain R is a principal ideal domain if and only if every prime ideal of R is maximal. Proof. We will show that if every prime ideal of R is maximal then R is a principal ideal domain, since the converse is obvious by 1.1.7. Let I be a non-trivial ideal of R and a, b ∈ R where a = a1 · · · a n and b = b1 · · · b m are the decompositions of a and b respectively into irreducible elements such that a i ≠ b j for any i and j with respect to the units of R. Since I is prime, at least one factor from p i and b j belong to I. Without loss of generality suppose that p1 , q1 ∈ I. Since p1 , q1 are irreducibles, by 1.1.3 we get that (p1 ) and (q1 ) are primes and maximal by our assumption. This is a contradiction since p1 ≠ q1 and therefore it holds that (p1 ) ( (p1 , q1 ) ⊂ I ( R and (q1 ) ( (p1 , q1 ) ⊂ I ( R. Now let I be the set of non-principal ideals of R and assume that I is not an empty set. Let I1 ⊂ I2 ⊂ · · · and I=

[ (I i ).

If I is a principal ideal (a), then a ∈ I i for some i and therefore I i = (a). This is a contradiction and therefore I ∈ I. By Zorn’s lemma (see (Vereshchagin and Shen, 2002) or (Komjáth and Totik, 2006)), we get that there is I a maximal ideal of I. If I is not a prime ideal, then there exist a, b ∈ R such that ab ∈ I and a, b ∉ I. Then I ( (I, a) = (c)

Domains

| 7

and I ( (I, b) = d for some c, d ∈ R. Hence I = (I, ab) = (I, a)(I, b) = (c)(d) = (cd), which is a contradiction. There is no I satisfying those conditions which implies that I is an empty set. Next we will investigate the properties of the so called Noetherian rings. We will only investigate the Noetherian rings that are commutative. So when we refer to a Noetherian ring we will always mean a commutative Noetherian ring. Definition A ring in which every ascending sequence of ideals I0 ⊂ I1 ⊂ I2 ⊂ · · · there exists an n such that I0 ⊂ I1 ⊂ I2 ⊂ · · · ⊂ I n = I n+1 = · · · is called a Noetherian ring or Noetherian domain. Proposition 1.1.9. Let R be a ring. The following sentences are equivalent (i) For every ascending sequence of ideals I1 ⊂ I2 ⊂ I3 ⊂ · · · there is an index n such that I n = I n+1 = · · · . (ii) Every non-empty set of ideals of R has a maximal ideal. (iii) Every ideal of R is finitely generated. Proof. (i)→(ii). Let I1 be a non-maximal ideal of a non-empty set of ideals I. Thus, there is an ideal I2 ∈ I such that I1 ( I2 . If I2 is not maximal then there is an ideal I3 ∈ I such that I2 ( I3 . In this way, we can construct an infinite sequence I1 ⊂ I2 ⊂ I3 ⊂ · · · which by the hypothesis after n ideals it becomes eventually constant. Therefore I n is the maximal ideal of I. (ii)→(iii). Let I1 be an ideal of R and I the set of ideals of R that are generated by finitely many elements of I1 . I is not an empty set since (0) ∈ I. Now, assume that there is element I2 = (a1 , . . . , a n ) in I which is maximal and not equal to I1 . Then there is a ∈ I1 such that a ∉ I2 which implies that there is I3 = (a1 , . . . , a n , a) such that I2 ( I3 . This is a contradiction since we assumed that I2 is a maximal set of I and therefore such an a cannot exist. Thus I2 = I1 and therefore I1 is finitely generated.

8 | Elements of Algebra (iii)→(i). Let I1 ⊂ I2 ⊂ I3 ⊂ · · · be an ascending sequence of ideals in R and define the ideal I=

∞ [

Ii .

i=1

Suppose that I is generated by (a1 , . . . , a n ). All a i belong to at least one of those I i . Assume I n includes all the others I i and since all I i belong to an ascending sequence we deduce that I n = I which means that the ascending sequence becomes constant after I n . Since every ideal of a principal ideal is generated by a single element we deduce the following corollary. Corollary 1.1.10. Every principal ideal domain is a Noetherian domain. We can easily verify that Z is a Noetherian ring as well as the polynomial ring K[x] for a given field K. But in the case when we have a ring R, the proof that R[x] is Noetherian is non-trivial. The theorem that proves this assumption is called Hilbert’s basis theorem. Inductively it can be also shown that if R is Noetherian then R[x1 , . . . , x n ] is as well. On the other hand, the polynomial rings of infinite variables R[x1 , x2 , . . .] are not Notherian rings since the infinite ascending sequence (x1 ) ⊂ (x1 , x2 ) ⊂ · · · never becomes constant. Proposition 1.1.11. If a ring R is Noetherian and every irreducible element of R is prime, then R is a unique factorization domain. Proof. Assume that the set I of ideals that are generated by each one of the elements of R that are not units and that can not be factorized into irreducible elements of R is not an empty set. Then, since R is Noetherian there is a maximal ideal I = (a) where a is not irreducible and therefore not prime. So (a) is not a prime ideal which is a contradiction since every maximal ideal is prime. Hence, we deduce that all elements of R can be written as a product of irreducible factors. Let us try to prove the uniqueness. Let a ∈ R such that a = b1 · · · b n = c1 · · · c m where b i and c j are primes, n, m ∈ Z and n < m. It holds that b1 divides c1 · · · c m and since b1 is a prime, we can assume without loss of generality that b1 divides c1 .

Rings and Fields

| 9

Then b1 = u1 c1 and since both b1 and c1 are irreducible we deduce that u1 is a unit. Following the same procedure for all b i we obtain the relation b1 · · · b n = u1 · · · u n b1 · · · b n c n+1 · · · c m which implies that 1 = u1 · · · u n c n+1 · · · c m . Since u i are units we deduce that c n+1 , . . . , c m are also units which is a contradiction. So n = m and b i are equal c i with respect to the unit u = u1 · · · u n , where u i units of R. Definition An integral domain that (i) is Noetherian, (ii) is integrally closed (see p.13) and (iii) every nonzero prime ideal of it is maximal is called Dedekind domain. An immediate corollary of the definition of the Dedekind domain and proposition 1.1.8 follows. Corollary 1.1.12. A Dedekind domain R that is a unique factorization domain is a principal ideal domain. Now we have a better view of the main algebraic domains and the figure 1.1 that follows gives us a minimal representation of how those domains are connected to each other.

1.2 Rings and Fields A very interesting type of ring regarding the properties that it carries is the local ring. Definition A ring that contains a unique maximal ideal is called local ring. Thus, all fields are local rings, since its unique trivial ideal (0) is at the same time maximal. An easy example to help understand the structure of a local ring is the field of rational numbers with the elements with denominators that are generated by a natural number removed. For example, the ring that contains the elements of Q minus the elements with denominator divisible by 5 is a local ring. A very interesting and useful property of local ring is provided by the proposition that follows. By R − I we denote the set R − I = {r ∈ R | r ∉ I }.

10 | Elements of Algebra

Figure 1.1: Domains

Proposition 1.2.1. If R is a local ring and I its maximal ideal then the subset R − I of R is precisely the set of units of R. Proof. Suppose that there is an a ∈ R − I such that a is not a unit, then there is another ring containing a and therefore there is another maximal ideal besides I. Conversely, if I 0 is another maximal ideal, then there exists a ∈ I 0 and a ∉ I. If a was a unit then I 0 would be R. Therefore, a is not a unit. It is obvious that for any field K with maximal ideal {0} the elements K − {0} are all invertible. Consider the local ring which contains the elements of Q less the elements with denominator divisible by 5. The maximal ideal, are the elements with numerator divisible by 5. All the other elements are invertible. Now let R and S be two rings with S ⊂ R. We remind to the reader that an element r ∈ R is called integral over S if there are s i ∈ S such that r n + s n−1 r n−1 + · · · + s1 r + s0 = 0. The set of elements of R that are integral over S is called the integral closure of S in R. In the case where the integral closure of S in R coincides with R, then we say that R is integral over S and R is called extension ring of S. The procedure where from a ring S we obtain an extended ring R is called ring extension. In order to extend a ring S we attach an element r that is not in S. Thus, the set R = S[r] = {s0 + s1 r + · · · + s n−1 r n−1 | s i ∈ S, r ∉ S}

Rings and Fields

| 11

is the extended ring of S by attaching r. The same way we can attach finitely many elements. For instance, if in the ring of integers Z we attach i, we get the ring of Gaussian integers Z[i]. The polynomial ring S[x] is also a ring extension of S. Definition The ring of all integral elements over Z of a field K is called the ring of integers of K and is denoted by O K . The ring of integers O K of K have a basis which is called the integral basis of K. So, O K is a free Z-module which means that if {a1 , . . . , a n } is an integral basis of K then O K = {z1 a1 + · · · + z n a n | z i ∈ Z}. For example the ring of integers of the rational field Q is Z and its basis is the trivial {1}. Analogous definitions occur for fields. Definition Let L and K be two fields with K ⊂ L. An element y ∈ L is called algebraic over K if there are a i ∈ K such that y n + a n−1 y n−1 + · · · + a1 y + a0 = 0. If the element is not algebraic, then it is called transcendental. If every element of L is algebraic over K then we say that L is an algebraic extension of K. √

For example i ∈ C is algebraic over R since i is a root of y2 + 1. Also, 2 is algebraic over Q since it is a root of y2 − 2, while π is not, since there is no polynomial with rational coefficients having π as a root. The field extension of L over K is denoted by L/K. It is easy to verify that if L/K and M/L are algebraic extensions the so M/K is. Given a field K we can create a larger field that contains K. If a ∉ K, then by the field   f (a) K(a) = | f (x), g(x) ∈ K[x], g(x) ≠ 0 . g(a) √

For example, for a =

2 and K = Q we get the field √



Q( 2) = {x + y 2 | x, y ∈ Q}. √

This is a field extension and in particular the smallest extension of Q containing

2.

Definition A field K is called algebraically closed if K contains all the roots of all polynomials K[x]. For instance, the field of rational numbers is not algebraically closed, since the roots of x2 − 2 are not contained in Q. On the other hand, the field of complex numbers is an algebraically closed field.

12 | Elements of Algebra Definition The minimal polynomial p(x) of a over a field K is called separable if the number of its distinct roots are equal to deg p(x). In that case, the extension K(a)/K is a separable extension. For example the field extension Q(i)/Q is separable since the minimal polynomial of i is x2 + 1 and it has two distinct roots, i and −i. In particular, all field extensions of number fields are separable. Definition If L/K is a field extension, then the dimension of L as a K-vector space is called the degree of L over K and is denoted by [L : K] or dimK L. In the case when K = Q the degree of the extension L/Q is simply denoted by dim L. Therefore, the basis of L over K consists of [L : K] elements. One of the basic properties of field dimension is that if L/K and M/L are two field extensions then [M : K] = [M : L] · [L : K]. This property is proved easily using minimal polynomials. The field extension can be characterised as a finite extension or an infinite extension depending to the dimension of its extension. If [L : K] < ∞ then L/K is a finite extension, otherwise it is called infinite. The finite extensions are algebraic extensions. The extensions of degree 2 are often called quadratic extensions and the extensions of degree 3 are often called cubic extensions. Definition The smallest field extension that contains two field extensions L/K and M/K is called compositum of L and M. The compositum of two fields L and M is usually denoted as LM. For an integral domain R, define the set R0 = {(a1 , a2 ) | a1 , a2 ∈ R, a2 ≠ 0} and the equivalence relation (a1 , a2 ) ∼ (b1 , b2 ) ⇐⇒ a1 b2 = a2 b1 . So, the equivalence classes that arise by the above equivalence relation we call them fractions and it holds that a1 b1 = ⇐⇒ (a1 , a2 ) ∼ (b1 , b2 ). a2 b2 The set of all fractions under the usual operations of multiplication and addition form a field which is called field of fractions of R. For example the field of fractions of the ring of integers is the field of rationals and the field of fractions of K[x] for a given field K is K(x).

Norm and Trace

| 13

Definition An integral domain whose integral closure in its field of fraction is itself is called an integrally closed domain. Let a1 , . . . , a n be elements of Rn which are linearly independent over R. Then, {a1 , . . . , a n } consists a basis for Rn as a vector space over R. The set {a1 , . . . , a n } forms a basis for a free Z-module of rank n. Definition The set Λ=

( n X

) zi ai | zi ∈ Z

i=1

where a1 , . . . , a n is a basis for Rn is called a lattice. Thus, every lattice in Rn consists of the elements that are generated by the elements of a basis of Rn and all their linear combinations with integer coefficients.

1.3 Norm and Trace Two of the most interesting constructions that are associated to field extensions are norm and trace. Definition In a field extension L/K with [L : K] = n the norm of an element a ∈ L over K is ![L:K(a)] n Y N L/K (a) = ai i=1

and the trace of an element a is TrL/K (a) = [L : K(a)]

n X

ai

i=1

where a i are the conjugate roots of the minimal polynomial of a over K. In order to distinguish the cases were K is the field of rationals the norm over a non trivial extension K of Q is called relative norm of an element. Analogously, we refer to the trace over a non trivial extension K of Q as relative trace of an element. Obviously, in case a ∈ K then N L/K (a) = adimK L and TrL/K (a) = a · dimK L. √

For example, suppose that we have the extension Q( 2)/Q and we need to com√ pute the norm and the trace of a = 2 − 2. The minimal polynomial of a is x2 − 4x + 2

14 | Elements of Algebra √

and [Q( 2)/Q(a)] = 1. The other root of x2 − 4x + 2 is a2 = 2 +



2. Thus

NQ(√2)/Q (a) = a1 · a2 = 8 and TrQ(√2)/Q (a) = a1 + a2 = 4. Some of the basic properties of norm and trace are arising from the following lemma. Lemma 1.3.1. For any algebraic extension L/K it holds that (i) N L/K (ab) = N L/K (a) · N L/K (b), for a, b ∈ L. (ii) N L/K (ka) = k[L/K] N L/K (a), for a ∈ L and k ∈ K. (iii) TrL/K (k1 a + k2 b) = k1 TrL/K (a) + k2 TrL/K (b), for a, b ∈ L and k1 , k2 ∈ K. Proof. The proof of the lemma is an immediate application of the definitions of norm and trace. A homogeneous form in [L : K] variables based on the norm of the field extension L/K is called norm form. That is, the map N:L



K

x1 a1 + · · · + x n a n



N L/K (x1 a1 + · · · + x n a n )

where {a1 , . . . , a n } is the basis of L over K and x i the variables. An equation of the form N L/K (x1 a1 + · · · + x n a n ) = k is called the norm form equation and will see an efficient algorithm for solving those kind of equations in Chapter 7. Norm forms are useful for solving Diophantine equations, such as the Pell equations (Alvanos and Poulakis, 2009). Let L = Q(a) be a separable extension, p(x) the minimal polynomial of a and {a1 , . . . , a n } the set of all roots of a in C. The homomorphism σi : L

,→

C

a

7→

ai

is called embedding of L. If σ i (a) ∈ R then the embedding is called a real embedding, otherwise it is called a complex embedding. Since in a polynomial the complex roots appear in pairs, if r is the number of real embeddings and s the number of pairs of the complex embeddings then r + 2s = n. In terms of embeddings if L/K is a separable extension, then the trace of an element is TrL/K (a) =

n X i=1

σ i (a)

Group of Units

| 15

and the norm of an element is N L/K (a) =

n Y

σ i (a).

i=1

Moreover, if the minimal polynomial of a over K is x r + a r−1 x r−1 + · · · + a1 x + a0 it can be proved that TrL/K (a) = −

n · a r−1 r

and n

N L/K (a) = (−1)n a0r . Thus, the trace and the norm of an element a of an extension L/K is an element of K. In particular, if K = Q then N(a) and Tr(a) are rational integers.

1.4 Group of Units The units in a ring R form under the operation of multiplication a group called the group of units or unit group of R and is usually denoted by U R . This group might be finite as in the case of the integers Z where the units are {−1, 1} or it can be infinite as √ √ in the case of the ring of integers of Q( 2). It is easy to verify that (3 − 2 2)s for any s ∈ N is a unit of OQ(√2) and therefore UQ(√2) is an infinite group. In particular, if O K is the ring of integers of K, then by Dirichlet’s Unit Theorem we get that the group of units of a ring of integers is a finitely generated abelian group. Theorem 1.4.1 (Dirichlet’s Unit Theorem). Let K be a field, r1 the number of real embeddings and r2 the number of conjugated pairs of complex embeddings. Then, the group of units U K of O K is isomorphic to Z × Zr where r = r1 + r2 − 1 and Z is the finite cyclic group of the roots of unity in O K . Proof. Section 7.4 in (Jarvis, 2014). This theorem provide us with the exact number of multiplicatively independent generators needed in order to compute the unit group of the ring of integers of a field. By the term independent generators we refer to the elements whose product equals 1 if and only if they are in power of 0, i.e. u1 , . . . , u r are linearly independent units of O K if and only if u1k1 · · · u kr r = 1 ⇐⇒ k1 = · · · = k r = 0. So, every unit u of O K can be represented as follows: u = ζu1k1 · · · u kr r where k1 , . . . , k r ∈ Z and ζ is a root of unity.

16 | Elements of Algebra Definition The finite cyclic group of the roots of unity in a ring of integers is called the torsion group while the group that is generated by the multiplicatively independent generators is called torsion free part of the group or just free part of the group. The set of the generators that generates the free part of the group is called fundamental set of units. Proposition 1.4.2. Let a be an integral element of O K (i) a is a unit ⇐⇒ N(a) = ±1 (ii) a is irreducible ⇐⇒ N(a) is a prime rational integer Proof. (i). Initially we will show that if a is a unit then N(a) = ±1. So, if a is a unit there is b ∈ O K such that ab = 1. Thus, ab = 1 ⇒ N(ab) = N(1) ⇒ N(a)N(b) = 1 and since N(a) is a rational integer we deduce that N(a) = ±1. Conversely, if N(a) = ±1 then by definition of the norm a1 · · · a n−1 a = ±1, where a1 , . . . , a n−1 are the conjugates of a. Thus, a is a unit with invertible element a1 · · · a n−1 or −a1 · · · a n−1 . (ii). Now, let a be an integral element of O K with norm equal to a prime rational integer. Assume that there are b, c ∈ O K such that a = bc. By applying norm on both sides we get that N(a) = N(b)N(c). Since N(a) is prime we get that N(b) = ±1 or N(c) = ±1. Hence, b or c is a unit and therefore a is irreducible. Conversely, assume that a is irreducible and that N(a) is not a prime rational integer. Then there is a unit b and an integral element c such that a = bc and N(a) = N(b)N(c) with N(b) ≠ ±1, which is a contradiction according to (i). The above proposition combined with the definition of relative norm gives the definition of relative units over a number field. Definition An element u ∈ L of a finite extension L/K is called a relative unit over K if and only if N L/K (u) = ζ , where ζ is root of unit in K. The group that consists of all relative units is called relative unit group. It is of interest to compute the generators of a relative unit group in the field of algebra in general. We compute unit groups in Chapter 7 in order to compute norm form equations.

2 Function Fields and Curves In this chapter we introduce algebraic function fields, affine, and projective curves. The connection of these three structures arises from the fact that the field of fractions of the coordinate ring of a curve is a function field.

2.1 Algebraic Function Fields In this section we present algebraic function fields and we provide some basic properties of them. Definition Let K be a field and x a transcendental element over K. The infinite algebraic extension K(x) is called a rational function field and is denoted by K(x)/K. The rational function field where K = Q consists of quotients of elements of the form a n x n + · · · a1 x + a0 where a i are rational numbers. Definition Let K(x) be a rational function field. A finite algebraic extension L of K(x) is called an algebraic function field and is denoted by L/K(x). To create an algebraic function field we need a rational function field K(x) and an irreducible polynomial f over K(x) of positive degree. So let f = y n + · · · + f1 (x)y + f0 (x), where f i (x) are elements of K(x). An algebraic function field L/K(x) is the field K(x)[y]/ < f >. Proposition 2.1.1. Let L/K(x) be a function field where L/K(x) = n and z ∈ L a transcendental element over K, then [L : K(z)] is finite. Proof. Since z ∈ L, it is algebraic over K(x). Hence, there are a i (x) ∈ K[x] such that a n (x)z n + · · · + a1 (x)z + a0 (x) = 0. Writing the above equations in terms of x we get a0m (z)x m + · · · + a01 (z)x + a00 (z) = 0. Thus, x is algebraic over K(z). Now, we have that [L : K(z)]

=

[L : K(z)(x)][K(z)(x) : K(z)]

© 2014 Paraskevas Alvanos This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License.

18 | Function Fields and Curves



[L : K(x)][K(z)(x) : K(z)] < ∞.

Thus [L : K(z)] is finite. Definition Let L/K(x) be an algebraic function field. The algebraic function field L0 /K 0 (x) where L0 is an algebraic extension of L and K 0 is an algebraic extension of K is called an algebraic function field extension of the function field L/K(x). Every algebraic function field is an algebraic function field extension of a rational function field. For convenience with the term function field we will refer to both cases of algebraic and rational function fields. Definition Let L/K(x) be a function field. The subfield ˆ = {a ∈ L | a algebraic over K } K ˆ = K then K is called algebraically closed in is called the field of constants of L/K. If K L/K(x). ˆ its field of Proposition 2.1.2. Let L/K(x) be a function field where [L : K(x)] = n and K ˆ : K] ≤ n. constants, then [K ˆ It is enough to show Proof. Let A = {a1 , . . . , a m } be a linearly independent set over K. that the elements of A are linearly independent over K(x) which is equivalent to show that there are linearly independent over K[x]. Suppose that a1 k1 [x] + · · · + a n k n [x] = 0

(2.1.1)

where k i [x] ∈ K[x]. We will show k i [x] = 0. Since k i [x] = k is x s + · · · + k i1 x + k i0 we can write 2.1.1 in terms of x as follows s m X X j=0

! k ij a i

x s = 0.

i=1

Since all k ij a i belong to K, the above equation implies that x is an algebraic element over K. This is a contradiction and therefore m X

k ij a i = 0.

i=1

Since a i are linearly independent, then all k ij are equal to zero which implies that all k i [x] are equal zero too.

Affine Curves

| 19

2.2 Affine Curves Throughout this chapter K will denote an algebraically closed field. Definition The set An (K) = {(x1 , . . . , x n ) | x i ∈ K } is called n-dimensional affine space over K. The elements of An are called points of An . For n = 1 we have A which is called affine line and for n = 2 we have A2 which is called the affine plane. Definition Let f (x, y) ∈ K[x, y]. The set C = {(x, y) ∈ A2 (K) | f (x, y) = 0} is called affine plane algebraic curve over K. For simplicity, instead of affine plane algebraic curve we will use the term affine algebraic curve. The polynomial f is called the defining polynomial of C. There are many properties that arise from the definition of the defining polynomial of an affine algebraic curve. For example a polynomial g = kf where k ∈ K defines the same curve. The elements (x, y) of the curve C are called points of the curve and we denote the set of points of C that is defined by f by V(f ). Proposition 2.2.1. The number of points of an affine curve C defined by the polynomial f (x, y) over K are infinite. Proof. Let f (x, y) be the bivariate polynomial f (x, y) = f n (y)x n + · · · + f1 (y)x + f0 (y) where f i (y) ∈ K[y]. If f n (y) = · · · = f1 (y) = 0 then the set {(x, y) ∈ A2 (K) | f0 (y) = 0}

is obviously infinite. Now suppose that there is f i (y) for i ∈ {1, . . . , n} such that f i (y) = 0. Then, the set A = {a ∈ A | f1 (y) = · · · = f n (y) = 0} is finite. Thus, for all a ∈ A − A the polynomial f (x, a) has at least one root and since the set A − A is infinite we conclude that f (x, y) has an infinite number of roots which implies that the curve has infinitely many points. One of the most important invariants of the algebraic curves is the degree of the curve. Since every affine curve is defined by a polynomial we define the degree of an affine curve as follows.

20 | Function Fields and Curves Definition The degree of an affine curve defined by a minimal polynomial is equal to the degree of that polynomial. Affine curves of degree 1 are the lines and of degree 2 are the conics. Next suppose that a polynomial f of K[x, y] can be factorized over K into irreducible factors as follows f (x, y) = f1 (x, y)m1 · · · f n (x, y)m n where f i (x, y) irreducible polynomials of K[x, y] and m1 , . . . , m n rational integers. The irreducible polynomials f i (x, y) are called components of C. Furthermore, the curve C is called irreducible if its defining polynomial f (x, y) is irreducible. Definition The singular points of a curve C defined by f (x, y) are the points P = (a, b) where ∂f ∂f (P) = (P) = 0. f (a, b) = ∂x ∂y The points that are not singular are called regular, non-singular or simple points. For example, let f (x, y) = y2 − x3 and C the curve defined by f (figure 2.1). Then ∂f ∂f = −3x2 and = 2y. ∂x ∂y Thus, the partial derivatives of f (x, y) vanish only for x = y = 0 which implies that the curve defined by f (x, y) has a singularity at (0, 0).

Figure 2.1: Cusp

Definition Let C be a curve defined by f (x, y) and P a point on the curve. If for all i+j < k ∂ i+j f (P) = 0 f (a, b) = ∂x i ∂y j and there is at least one non-zero partial derivative for the case i + j = k, then we call k the multiplicity of P.

Affine Curves

| 21

As we have seen before in the curve defined by f (x, y) = y2 − x3 , P = (0, 0) is a singular point. Computing the second partial derivatives of f we find that ∂f ∂f = −6x and = 2. ∂x ∂y So, there is a second partial derivative that is not zero for (x, y) = (0, 0) and therefore the singularity of P = (0, 0) has multiplicity equal to 2. The singular points of a curve are points were the graph of the curve has an "unusual" behaviour. As we have already seen, the curve defined by f (x, y) = y2 − x3 has a singular point at (0, 0). This singular point is called cusp. A cusp is a point of a curve where the tangent is different from the left and from the right of the singularity. Another big class of singular points are nodes. A node is a point where the curve intersects itself (figure 2.2). For example the curve defined by C : f (x, y) = y2 − x3 − x2 has a node at P = (0, 0). We can easily verify, by computing the partial derivatives of f that P is a singular point and its multiplicity is 2.

Figure 2.2: Node

Another interesting class is the acnodes. An acnode is a point which belongs to the plot of the curve but is isolated from the line that represents the curve. For example the point (0, 0) that belongs to the curve C : f (x, y) = y2 − x3 + x2 is a singular point of the curve but it is far away from the line of the curve (figure 2.3). Definition An irreducible curve C defined by polynomial f is called rational if there are polynomial x1 (t), x2 (t), y1 (t) and y2 (t) of K[t] and finite sets A and B such that the map ϕ:K−A



V(f ) − B

22 | Function Fields and Curves

Figure 2.3: Acnode

 t

7→

x1 (t) y1 (t) , x2 (t) y2 (t)



is a bijection. The ordered pair of the image of the above map is called the parametric representation of C. It is of interest to compute, or parametrize rational curves. There are a lot of methods for parametrization. Typically, one fixes a non-singular point in order to parametrize the curve with respect to that point. In the following example we will show an easy way to parametrize a rational curve. Example Let f (x, y) = x2 + y2 − 4 be a rational curve of degree d = 2. We can write f (x, y) in the form f d (x, y) + · · · + f1 (x, y) + f0 , where f i (x, y) are homogeneous polynomials of degree i. For a point (a, b) of multiplicity d − 1, we can parametrize the curve as follows. Initially we need to compute a point on the curve of multiplicity 1. In our case, P = (2, 0) is such a point since it is point of the curve (f (P) = 0) and for the first partial derivatives we have ∂f ∂f = 2y ⇒ (P) = 0 ∂y ∂x and ∂f ∂f = 2x ⇒ (P) = 4 ≠ 0 ∂x ∂x Next we compute f (x + a, tx + b) for a = 2 and b = 0. Thus, f (x + 2, tx) = x2 + t2 x2 + 4x. The parametric representations of f (x + 2, tx) are given by x(t) = −

tf (1, t) f d−1 (1, t) , y(t) = − d−1 , f d (1, t) f d (1, t)

Projective Curves | 23

in case f d (1, t) is non-zero. Thus, we get x(t) = −

4t 4 , y(t) = − 2 . t2 + 1 t +1

In order to obtain the parametrization of f (x, y) we simply change coordinates by setting u(t) = x(t) + a, v(t) = y(t) + b. Thus u(t) = −

4t 2t2 − 2 , v(t) = − 2 . t2 + 1 t +1

is a parametrization of the curve. Let C be an affine algebraic curve over K. The set I(C) = {f ∈ K[x, y] | f (P) = 0, ∀P ∈ C} is called the ideal of the curve C and if f (x, y) = f1 (x, y)m1 · · · f n (x, y)m n where f i (x, y) irreducible polynomials of K[x, y] and m1 , . . . , m n ∈ Z, we can verify that I(V(f )) = (f1 · · · f n ). Furthermore, the quotient ring Γ(C) = K[x, y]/I(C) is called the coordinate ring of C and is actually a ring of polynomial functions on C. Moreover, the field of fractions of the coordinate ring Γ(C) is the set   g(x, y) K(C) = | g(x, y), h(x, y) ∈ Γ(C), h(x, y) ≠ 0 h(x, y) and it is precisely the function field K(x, y).

2.3 Projective Curves Projective curves are actually the natural extension of affine curves and therefore the results and the definitions are very similar. As in the previous section K will denote an algebraically closed field and K * will denote the set K − {0}. In the set (K n+1 )* we can establish an equivalence relation as follows. (a1 , . . . , a n+1 ) ∼ (b1 , . . . , b n+1 ) if and only if there is a k ∈ K * such that b i = ka i for all i ∈ {1, . . . , n + 1}. We define by (a1 : · · · : a n+1 ) the equivalent class of (a1 , . . . , a n+1 ).

24 | Function Fields and Curves Definition The set Pn (K) = {(x1 : · · · : x n+1 ) | (x1 , . . . , x n+1 ) ∈ (K n+1 )* } is called n-dimensional projective space over K. The projective space P1 is called the projective line and the projective space P2 is called the projective plane. Every element P of the projective space is called a point and every (x1 , . . . , x n+1 ) that represents P is called homogeneous coordinate system of P. Each point has infinitely many representations since (kx1 , . . . , kx n+1 ) ∼ (x1 , . . . , x n+1 ) for all k ∈ K * . Now let P = (a1 : · · · : a n+1 ) be a point of the projective space Pn (K). There is at least one a i for some i ∈ {1, . . . , n + 1} such that a i ≠ 0. Suppose, without loss of generality, that a n+1 ≠ 0. The map ϕ : An (K)



Pn (K)

(x1 , . . . , x n )

7→

(x1 : · · · : x n−1 : 1)

is a bijection. Therefore we can say that An (K) is isomorphically embedded to Pn (K). The set n P∞ = {(x1 : · · · : x n : 0) | x i ∈ K, x21 + · · · + x2n ≠ 0} is called the set of infinite points and the elements of it are called points at infinity. One can verify that the map ψ : Pn (K)



Pn−1 (K)

(x1 : · · · : x n : 0)

7→

(x1 : · · · : x n−1 : 1)

is a bijection. Thus, the set of infinite points is isomorphic to Pn−1 . Definition Let F(x, y, z) be a homogeneous polynomial of K[x, y, z]. The set C = {(x : y : z) ∈ P2 (K) | F(x, y, z) = 0} is called projective plane algebraic curve over K. The homogeneous polynomial F is called the defining polynomial of the projective curve of C. The degree of a projective curve defined by a homogeneous polynomial is equal to the degree of the homogeneous polynomial. The elements (x : y : z) of the curve C are called the points of the curve and we denote the set of points of C that is defined by F as V(F). Suppose that f (x, y) ∈ K(x, y) is of degree d greater than one. Setting x y F(x, y, z) = z d f ( , ) z z

Projective Curves | 25

we get a homogeneous polynomial of the same degree with f . This procedure is called homogenization. Conversely, if we have a homogeneous polynomial F(x, y, z), then by setting f (x, y) = F(x, y, 1) we obtain a polynomial in two variables. This procedure is called dehomogenization. Since f (x, y) = F(x, y, 1), the points of a projective curve defined by F are exactly the points of an affine curve defined by f plus the points of the projective curve at infinity. The curves defined by f and F respectively are called associates. In correspondence to the definition of the singular points in an affine plane curve we define the singular points in a projective plane curve. Definition The singular points of a projective curve C : F(x, y, z) = 0 are the points P = (a : b : c) where the partial derivatives of F(x, y, z) vanish i.e. F(a, b, c) =

∂F ∂F ∂F (P) = (P) = (P) = 0. ∂x ∂y ∂z

The points that are not singular are called regular, non-singular point or simple points. If for all i + j + k < m ∂ i+j+k F F(a, b, c) = (P) = 0 ∂x i ∂y j ∂z k and there is at least one non-zero partial derivative for the case i + j + k = m, then m is defined to be the multiplicity of P. Since the points of a projective curve defined by F are exactly the points of the affine curve defined by f plus the points of the projective curve at infinity, we deduce that a singular point of an affine curve is also a singular point for its associate projective curve. The converse does not holds since a projective curve might have a singularity at infinity. Definition An irreducible projective curve C defined by F(x, y, z) is called rational if there are polynomials x(s, t), y(s, t), and z(s, t) of K[s, t] of the same degree and finite sets A and B such that the map ϕ :P−A



(s : t)

7→

V(F) − B x(s, t) : y(s, t) : z(s, t)



is a bijection. The triplet x(s, t), y(s, t), z(s, t) is called a parametric representation of the projective curve. Proposition 2.3.1. A projective plane curve defined by the irreducible homogeneous polynomial F(x, y, z) is rational if and only if the affine plane curve defined by the irreducible homogeneous polynomial f (x, y) = F(x, y, 1) is rational.

26 | Function Fields and Curves

Proof. Assume that F(x, y, z) is rational. According to the definition, there are homogeneous polynomials x(s, t), y(s, t) and z(s, t) of the same degree and finite sets A and B such that ϕ :P−A



(s : t)

7→

V(F) − B x(s, t) : y(s, t) : z(s, t)



is a bijection. We will prove that u(t) =

y(1, t) x(1, t) , v(t) = y(1, t) y(1, t)

is a parametrization of f (x, y). Let A0 = {t ∈ A | (1 : t) ∈ A} and B0 = {(x, y) ∈ V(f ) | (x : y : 1) ∈ B}. Then the map ψ : A − A0



t

7→

V(f ) − B0 x(t), y(t)



is obviously bijective and therefore f (x, y) is rational. Conversely, suppose that f (x, y) is rational. Then, there are polynomials x0 (t), y0 (t) and z0 (t) and finite sets A and B such that the map ϕ :A−A



t

7→

V(f ) − B  0  x (t) y0 (t) , z0 (t) z0 (t)

is a bijection. Let A0 = {(0 : 1)} ∪ {(1 : t) ∈ P | t ∈ A} and B0 = {(x : y : 1) ∈ P2 | (x, y) ∈ B} ∪ {(x : y : 0) ∈ P2 | (x : y : 0) ∈ F }. By setting x(s, t)

=

s n x0 (t/s),

y(s, t)

=

s n y0 (t/s),

z(s, t)

=

s n z0 (t/s),

where n is the maximal degree among {deg x0 , deg y0 , deg z0 } we get that the map ϕ : P − A0



(s : t)

7→

V(F) − B0  x(s, t) : y(s, t) : z(s, t)

is a bijection and therefore F(x, y, z) is rational.

Genus of a Curve | 27

Next we will see how we can compute a parametric representation of a projective rational curve if the parametric representation of its associated affine rational curve is known. Example Let F(x, y, z) = x2 + y2 − 4z2 defines a projective rational curve of degree d = 2. By 2.3.1 we have that f (x, y) = F(x, y, 1) = x2 + y2 − 4 is a rational affine curve. By the example in the previous section we know that f has a parametric representation given by: 4t 2t2 − 2 , y(t) = − 2 . t2 + 1 t +1 Now, we homogenize the above fractions and get x(t) = −



2t2 − 2s2 4ts , − 2 . t2 + s2 t + s2

Finally, we set x(s, t) = 2t2 − 2s2 , y(s, t) = 4ts, z(s, t) = t2 + s2 , and the result follows. As in the case of the affine curves, the ideal of curve of a projective algebraic curve is

I(C) = {F ∈ K[x, y, z] | F homogeneous , F(P) = 0, ∀P ∈ C} and its coordinate ring is Γ = K[x, y, z]/I(C). Furthermore, the field of fractions of the coordinate ring is   G(x, y, z) K(C) = | G(x, y, z), H(x, y, z) ∈ Γ(C), H(x, y, z) ≠ 0 . H(x, y, z)

2.4 Genus of a Curve Finally we will see a very important invariant which is called the genus of a curve. We now define the tangent of an affine curve. If P = (a, b) is a non-singular point of C then (x − a)

∂f ∂f (P) + (y − b) (P) = 0 ∂x ∂y

is the tangent of C at the non-singular point P. If P = (a, b) is a singular point of multiplicity m then we define the polynomial X (x − a)i (y − b)j ∂ i+j f · i j (P). i!j! ∂x ∂y

i+j=m

(2.4.1)

28 | Function Fields and Curves By setting x0 = x − a and y0 = y − b we get a homogeneous polynomial and since K is algebraically closed we deduce that the above polynomial can be factorized into m linear factors. These linear factors are the tangents of C at the singular point P. They are not always distinct. Hence, we separate the singular points as follows. Definition A singular point of a curve with multiplicity m that has exactly m distinct tangents is called ordinary. Otherwise it is called non-ordinary. This is equivalent to saying that the polynomial 2.4.1 has m or m − 1 distinct roots with respect to the variable z = xy . Otherwise, the point at infinity would have a multiple root. Definition Let C be a projective plane curve of degree d with only ordinary singular points P1 , . . . , P n that have multiplicities m1 , . . . , m n respectively. The positive rational integer n (d − 1)(d − 2) X m i (m i − 1) g= − 2 2 i=1

is called the genus of the projective plane curve. The genus of an affine plane curve is equal to the genus of its associated projective plane curve. Obviously a non-singular curve of degree d has genus g= and since

(d − 1)(d − 2) 2

n X m i (m i − 1) 2 i=1

is a positive rational integer, we can say that the genus of a curve starts from (d −1)(d − 2)/2 and is reducing for each singular point by m(m − 1)/2 where m is the multiplicity of the singular point. An immediate question that arises from the definition of genus is what happens in case when a curve has non-ordinary singular points. In that case, it is possible to transform the curve with non-ordinary singular points into a curve with only ordinary singular points while preserving the genus of the curve. A method of transforming a curve with non-ordinary singular points into a curve with the same genus having only ordinary singular points can be found in (Walker, 1978). A nonordinary singular point with multiplicity m reduces the genus of the curve by at least m(m − 1)/2. One of the most interesting aspects that arises from this definition is that a curve has genus 0 if only if it is rational (see (Lang, 1983)) which means if it can be parametrized. Another large family of curves are curves of genus 1. Those curves are called elliptic curves and they can be represented by an equation of the form y2 = x3 + ax + b.

Genus of a Curve | 29

It is of great interest to compute the integral points on rational curves and that is what we will do in Chapter 8. Ending this section we give some examples of curves with all kind of singular points in order to compute their genus. Example Now let the curve C defined by f (x, y) = y2 − x3 − 1. computing the partial derivatives we get that ∂f ∂f = −3x2 , = 2y ∂x ∂y obviously the partial derivatives vanish only for (x, y) = (0, 0) which is not a point in C. Thus, our curve has not singular points and therefore g=

(3 − 1)(3 − 2) =1 2

which means that f (x, y) = y2 − x3 − 1 is an elliptic curve. √

Example Now, let C be a projective curve over the field K = Q( 3 −2). For convenience, √ set 3 −2 = a. Let F(x, y, z) = 4ax3 + 4(1 − a)x2 y + (a − 4)xy2 + y3 + a2 yz2 be the defining polynomial of C. In order to define the singular points we need to compute the partial derivatives. Hence ∂F ∂x ∂F ∂y ∂F ∂z

=

12ax2 + 8(1 − a)xy + (a − 4)y2

=

4(1 − a)x2 + 2(a − 4)xy + 3y2 + a2 z2

=

2a2 yz

we can easily see that the partial derivative of z is equal to 0 for z = 0 or y = 0. For y = 0 we see that the partial derivatives ∂F ∂F = 12ax2 , = 4(1 − a)x2 + a2 z2 ∂x ∂y are equal to 0 only for x = z = 0 but this is not a solution since (0 : 0 : 0) does not belongs to the projective plane. For z = 0 we obtain the following that partial derivatives ∂F ∂x

=

12ax2 + 8(1 − a)xy + (a − 4)y2 ,

30 | Function Fields and Curves ∂F ∂y

=

4(1 − a)x2 + 2(a − 4)xy + 3y2

which are equal to 0 for y = 2x. So, the only singular point of the curve is (1 : 2 : 0) and that is a point at infinity. In order to compute the multiplicity of the singularity we now compute the second partial derivatives. The second partial derivative ∂2 F = 8(1 − a)x + 2(a − 4)y ∂x∂y for x = 1 and y = 2 is not equal to 0. Therefore, the multiplicity of P = (1 : 2 : 0) is 2. In order to find if the singularity is ordinary we need to compute the sum X (x − 1)i (y − 2)j (z − 0)k ∂ i+j+k f · i j k (P). i!j!k! ∂x ∂y ∂z

i+j+k=m

Computation gives us the homogeneous polynomial (4a + 8)x2 + (−4a − 8)xy + (a + 2)y2 + 2a2 z2 . It is easy to see that the above polynomial is not a perfect square and therefore the curve C has an ordinary singularity at P(1 : 2 : 0). Since the unique singular point of the curve is ordinary, we compute the genus of the curve for d = 3 and m = 2 by definition and we get that n

g=

(3 − 1)(3 − 2) X 2(2 − 1) − = 0. 2 2 i=1

So, actually the curve C is a rational curve. Next, we will give a simple example without any singular points but since the following curve is also rational we give the parametrization of it. √

Example Let C be a conic curve over Q( 3 2). Let f (x, y, z) = x2 − 2y2 − z2 . be the defining polynomial of C. By computing the partial derivatives of F we get ∂F ∂F ∂F = 2x, = −4y, = −2z. ∂x ∂y ∂z The partial derivatives are equal to 0 for x = y = z = 0 but there is no such a point in the projective plane and therefore the conic has no singular points. Thus the genus of the curve is g=

(2 − 1)(2 − 2) =0 2

Genus of a Curve | 31

which implies that the curve is a rational curve and in addition the curve can be parametrized. One of the parametrization of the curve is ϕ:P



(s : t)

7→

V(F)  x(s, t) : y(s, t) : z(s, t)

where x(s, t)

=

2s2 + t2

y(s, t)

=

2ts

z(s, t)

=

−2s2 + t2 .

The genus of every conic curve is equal to zero and it can be shown that those curves contain no singular points.

3 Riemann-Roch Spaces In this chapter we introduce Riemann-Roch spaces and the classic theorem that connects the dimension of them to the degree of a divisor and to the genus of a function field or curve. We do not give any details on the proof of Riemann-Roch theorem since our target is to understand the structure of the space and to be able to compute it. The lemmas and propositions that are following can be found widely in literature in similar or the same versions (for example (Stichtenoth, 1993), (Lang, 1983), (Fulton and Lang, 1985), (Jacobson, 1974) and (Atiyah and Macdonald, 1969)). In our case we try to expand where possible and include only those that provide us structure elements.

3.1 Valuation Rings In this chapter we introduce another two very interesting structures of rings called valuation rings and discrete valuation rings. Discrete valuation rings are closely connected to the theory in Chapter 8 for computing rational points on curves. Definition Let R be an integral domain and F its field of fractions. Then, the set n o R = a ∈ F | a ∈ R or a−1 ∈ R is called valuation ring. A very interesting property of valuation rings is that they are local rings, which means that they have exactly one maximal ideal. Theorem 3.1.1. Every valuation ring is a local ring. Proof. Let R be a valuation ring and U R be its group of units. We will show that P = R − U R , the set of non-units of R, is the unique maximal ideal of R. Let p ∈ P and r ∈ R. If pr ∈ U R this implies that p is a unit which is a contradiction. Now, let p, q be elements of P. This implies that either p/q or q/p belongs to R. If q/p was an element of R and p + q was a unit it would imply that p is also a unit since p + y = p(1 + y/p). Therefore p + y belongs to P. Similarly, if p/q was an element of R and p + q was a unit it would imply that q is a unit. Thus, P is an ideal. Now suppose that P is not a maximal ideal and P0 ⊃ P. Since P consists of all nonunits it implies that P0 contains at least one unit element. Therefore P0 = R. Finally, suppose to obtain a contradiction that P is not the unique maximal ideal and that there is another maximal ideal P00 . Since P00 is another maximal ideal this means that © 2014 Paraskevas Alvanos This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License.

Valuation Rings

| 33

it is not contained in P0 and therefore it contains unit elements. So, P is the unique maximal ideal of R. For example the set R={

ap n | gcd(p, a) = gcd(p, b) = 1} b

is a valuation ring where its field of fractions is the field of rational numbers Q and its maximal ideal is (p). Next we will see two of the main properties of valuation rings that connect them to the principal ideal domains, Noetherian domains and integrally closed domains. Proposition 3.1.2. Every valuation ring R is integrally closed domain in its field of fractions F. Proof. Let a ∈ F and suppose that it is integral over R. If a ∈ R then R is integrally closed. If a is not in R then a−1 belongs to R since R a valuation ring. But, we assumed that a is integral over R and therefore there is a polynomial a n + r n−1 a n−1 + · · · + r1 a + r0 = 0

(3.1.1)

for some r i ∈ R. By multiplying 3.1.1 by a−n+1 we see that a + r n−1 + r n−2 a−1 + · · · + r1 a−n+2 + r0 a−n+1 = 0 which implies that a = −r n−1 − r n−2 a−1 − · · · − r1 a−n+2 − r0 a−n+1 = 0. Since we assumed that a−1 ∈ R it implies that a ∈ R, and therefore R is integrally closed. Proposition 3.1.3. The ideals of a valuation ring R are totally ordered. Proof. Let I, J be two ideals of R and suppose without loss of generality that I is not a subideal of J. Let a ∈ I − J and b ∈ J. If a/b belongs to R then a = (a/b)b ⇒ a ∈ J which is a contradiction. Therefore, since R is a valuation ring (a/b)−1 = (b/a) belongs to R which means that b = (b/a)a ∈ R ⇒ b ∈ I. Hence, J ⊂ I. Proposition 3.1.4. A valuation ring R is a principal ideal domain if and only if it is a Noetherian Domain.

34 | Riemann-Roch Spaces

Proof. Suppose that R is Noetherian. By definition every ideal of R is finitely generated and by 3.1.3 we have that the ideals of R are totally ordered. Thus, if I = (a1 , . . . , a n ), by 3.1.3 without loss of generality we get that (a1 ) ⊂ (a2 ) ⊂ · · · ⊂ (a n ) and therefore I = (a n ) is a principal ideal. The converse is obvious since every principal ideal domain is a Noetherian domain (proposition 1.1.10). Now let R be an integral domain. We define the element ∞ with the following properties • a ± ∞ = ∞, ∀a ∈ R. • a · ∞ = ∞, ∀a ∈ R − {0}. • ∞ · ∞ = ∞. 1 • ∞ = 0. 1 • 0 = ∞. Definition Let F/K(x) be a function field. The surjective map v : F → Z ∪ {∞} that satisfies the following three conditions: • v(ab) = v(a) + v(b), • v(a + b) ≥ min{v(a), v(b)}, • v(0) = ∞ is called discrete valuation. An immediate consequence of the definition of the discrete valuation is the following lemma. Lemma 3.1.5. Let v be a discrete valuation and a, b ∈ F/K(x) such that v(a) ≠ v(b), then v(a + b) = min{v(a), v(b)}. Proof. Since v(a) ≠ v(b) we can assume without loss of generality that v(a) < v(b). Assume now that v(a + b) ≠ min{v(a), v(b)}. Thus, we have that v(a + b) > v(a) which implies v(a) = v((a + b) − b) ≥ min{v(a + b), v(−b)}. Hence v(a) ≥ min{v(a + b), v(b)} > min{v(a), v(b)} > v(a) which is a contradiction. Thus v(a + b) = min{v(a), v(b)}.

Valuation Rings

| 35

The following proposition connects the valuation rings with the discrete valuation rings. Proposition 3.1.6. Let v be a discrete valuation on the function field F/K(x), then (i) V = {a ∈ F | v(a) ≥ 0} is a valuation ring. (ii) U V = {a ∈ F | v(a) = 0} is the unit group of V. (iii) P = {a ∈ F | v(a) > 0} is the maximal ideal of V, Proof. (i). By the definition of the valuation ring it is easy to see that V is a ring. In order V to be a valuation ring, we need to show that for every element a of F, a ∈ V or a−1 ∈ V. Let a ∈ F such that a ∉ V. Thus, v(a) < 0. Now, since a · a−1 = 1 we have that v(a · a−1 ) = v(1) ⇒ v(a) + v(a−1 ) = v(1). For a = 1 we get that v(1) = 0 and therefore v(a−1 ) = −v(a) > 0. So a−1 ∈ V, which implies that V is a valuation ring. (ii). If a is a unit of V it implies that both a and a−1 are elements of V. In that case both v(a) and v(a−1 ) are greater or equal to zero. This can only happened if and only if v(a) = v(a−1 ) = 0. (iii). The maximal ideal of V consists of all nonunits of V (proposition 1.2.1). The result follows from (i) and (ii). Proposition 3.1.6 leads us to the definition of the discrete valuation ring. Definition If v is a discrete valuation on a function field F/K(x), then the set V = {a ∈ F | v(a) ≥ 0} is called a discrete valuation ring. Obviously, all discrete valuation rings are valuation rings. The converse doesn’t always hold. Definition Let V be a discrete valuation ring defined by the discrete valuation v and P its maximal ideal. An element t is called uniformizer or prime element for P if and only if v(t) = 1. Proposition 3.1.7. Let F/K(x) be a function field, V a discrete valuation ring and t the uniformizer of the maximal ideal P of V. It holds that (i) t generates P, (ii) every nonzero element a of F has a unique representation of the form a = ut n where u is a unit of V and n an integer. (iii) V is a principal ideal domain and for all ideals I of V there is t ∈ V such that I = (t n ).

36 | Riemann-Roch Spaces

Proof. (i). Let (t) be the principal ideal generated by the uniformizer t. Since P is maximal and unique we have that (t) ⊂ P. Let p be an element of P. According to 3.1.6, v(p) > 0 where v is the discrete valuation associated to the discrete valuation ring V. On the other hand, we have v(pt−1 ) = v(p) + v(t−1 ) = v(p) − v(t) = v(p) − 1 ≥ 0. So, pt−1 belongs to V and since t−1 ∉ V it implies that p ∈ (t). Therefore P = (t). (ii). Let v be the discrete valuation, such that v(a) = n. From a = ut n we get that u = at−n . We can easily see that v(at−n ) = v(a) + v(t−n ) = v(a) + v(t n ) = n − n = 0 which implies by proposition 3.1.6 that u is a unit. This establishes the uniqueness of the representation. (iii). Let I be a non-zero subideal of the maximal ideal P and a ∈ I such that v(a) = n to be the smallest. By (ii) we have that there is u, t ∈ V such that a = ut n which implies that t n = au−1 . Since P is generated by t it implies that (t n ) ⊂ I. Conversely, let a0 be an element of I with v(a0 ) = m. Thus v(a0 t−m ) = v(a0 ) + v(t−m ) = v(a0 ) + v(t m ) = m − m = 0 and therefore a0 t−m is a unit. Hence there is u0 such that a0 = u0 t m and since m ≥ n therefore a0 ∈ (t n ). So I ⊂ (t n ). Discrete valuation rings have actually more and very interesting and useful properties. For example every discrete valuation rings since they are principal ideal domains it follows that they are Dedekind domains and unique factorizations domains with actually a unique irreducible element.

3.2 Places and Divisors In this section we will deal with the discrete valuation rings of a function field and especially with their maximal ideals. Definition The maximal ideals of the discrete valuation rings of a function field are called places. Since the maximal ideal P of a discrete valuation ring V is unique we can determine the discrete valuation ring by its place. We will denote the discrete valuation ring V with maximal ideal P by V P . The set of the places of a function field F/K(x) will be denoted by PF and we will see that it is an infinite set.

Places and Divisors | 37

Definition Let F/K(x) be a function field, a an element of it and P a place in PF . We say that P is a zero of a if and only if v(a) > 0 and is a pole of a if and only if v(a) < 0, where v is the discrete valuation associated to the place P. It is proved (Stichtenoth, 1993) that the poles and and zeros of an element of a function field are finite. Since a place is a maximal ideal V P /P will always be a field and this allow us to define the degree of P. Definition Let F/K(x) be a function field and P ∈ PF . The field F P = V P /P is called residue class field of P. The dimension of F P as a K-vector space is called the degree of the place P. In order to understand better the structure of a place of a function field we will try initially to identify the places of a rational function field K(x)/K. For every irreducible polynomial p(x) ∈ K(x) we define the discrete valuation rings   f (x) | f (x), g(x) ∈ K[x], p(x)| ̸ g(x) V p(x) = g(x) and their places  P p(x) =

 f (x) | f (x), g(x) ∈ K[x], p(x)|f (x), p(x)| ̸ g(x) . g(x)

Besides V p(x) , another valuation ring of the function field is   f (x) V∞ = | f (x), g(x) ∈ K[x], deg f (x) ≤ deg g(x) g(x) and its place is:  P∞ =

 f (x) | f (x), g(x) ∈ K[x], deg f (x) < deg g(x) . g(x)

P∞ is called place at infinity and together with the places P p(x) , they form the set PK(x) . Definition Let F 0 /K 0 (x) be a function field extension of F/K(x). We say that a place P0 of PF0 lies over or is an extension of P if and only if P ⊂ P0 . Since all algebraic fields F/K(x) are extensions of the rational function field K(x)/K, this implies that all places PF are lying over (are extensions) of a place of PK(x) . The set of places lying over the place at infinity P∞ is called the set of infinite places. The set of places form a free Z-module. This leads us to the next definition. Definition We call divisor of a function field the sum X D= nP P PF

38 | Riemann-Roch Spaces where all but finite n P ∈ Z are equal to zero. We denote the group of divisors by DF . By setting v P (D) = n P we can define an ordering relation as follows. Let D1 and D2 be divisors of DF , then D1 ≤ D2 ⇐⇒ v P (D1 ) ≤ v P (D2 ) for all P ∈ PF . D1 is called subdivisor of D2 if and only if D1 ≤ D2 . Now let a ∈ F/K(x) be a non-zero element with P1 , . . . , P m zeros and Q1 , . . . , Q n poles. We define (x) = (x)0 − (x)∞ to be the principal divisor of a, where (x)0 =

m X

v Pi P i

i=1

is the zero divisor of a and (x)∞ = −

n X

v Qi Q i

i=1

is the pole divisor of a. Two divisors D1 and D2 are called equivalent if D1 = D2 + (y) for some y ∈ F. Definition Let F/K(x) be a function field and D=

m X

n Pi P i

i=1

a divisor of DF . The sum deg D =

m X

v P i (D) deg P i

i=1

is called the degree of D. Finally, we present a corollary of Kummer’s theorem as it is proved in (Stichtenoth, 1993). Kummer’s corollary provides us a relation between the places of an arbitrary function field F/K(x) and the rational function field K(x)/K. We denote by P a the place of PK (x) that is equal to P p(x) where p(x) = x − a. Corollary 3.2.1 (Kummer’s Corollary). Let f (t) = t n + f n−1 (x)t n−1 + · · · + f1 (x)t + f0 (x)

Riemann-Roch Space | 39

be a polynomial of K(x)[t] irreducible over K(x). Let y such that f (y) = 0 and a ∈ K such that f j (a) ≠ ∞ for all j ∈ {0, . . . , n − 1}. Set f a (t) = t n + f n−1 (a)t n−1 + · · · + f1 (a)t + f0 (a). Suppose that f a (t) =

r Y

ϕ i (t),

i=1

where ϕ i (t) irreducible, monic, pairwise distinct polynomials of K[t]. It holds that (i) for every i ∈ {1, . . . , r} there is a unique place P i ∈ PK(x,y) such that x − a ∈ P i and ϕ i (y) ∈ P i . (ii) if f a (t) has n distinct roots in K, then for every b for which f a (b) = 0 there is a place P a,b ∈ PK (x, y) such that x − a and y − b are elements of P a,b . Moreover, the degree of P a,b is equal to 1. Kummer’s initial theorem can be found also in (Stichtenoth, 1993) and in (Cassels and Fröhlich, 1967).

3.3 Riemann-Roch Space Definition Let F/K(x) be a function field and D a divisor of DF . The set L(D) = {a ∈ F/K(x) | a ≠ 0, (a) ≥ −D} ∪ {0} is called Riemann-Roch space of D. The following lemma justifies why L(D) is called a space. Lemma 3.3.1. Let F/K(x) be a function field. For any divisor D the Riemann-Roch space L(D) is a K-vector space. Proof. Let a, b ∈ L(D) and k ∈ K. For every place of PF we have that v P (a + b) ≥ min{v P (a), v P (b)} ≥ −v P (D) and v P (ka) = v P (k) + v P (a) ≥ −v P (D). Thus, a + b and ka belong to L(D) and therefore L(D) is a K-vector space. Suppose that D=

r X i=1

ni Pi −

s X j=1

mj Qj

40 | Riemann-Roch Spaces where P i are the zeros, Q j are the poles and n i , m j ∈ N. From the relation (a) ≥ −D we understand that L(D) consists of all functions of the function field that have zeros of orders greater or equal to m1 , . . . , m s in the points Q1 , . . . , Q s , respectively, and poles at the points P1 , . . . , P r of orders at most n1 , . . . , n r , respectively. Lemma 3.3.2. Let F/K(x) be a function field and D, D1 , D2 ∈ DF . We have that (i) a ∈ L(D) if and only if v P (a) ≥ −v P (D) for all P ∈ PF . (ii) If D1 ≤ D2 , then L(D1 ) ⊂ L(D2 ). (iii) L(D1 ) ≠ {0} if and only if there is a divisor D2 equivalent to D1 such that D2 ≥ 0. Proof. (i) Let (a) =

r X

ni Pi −

i=1

s X

mj Qj .

j=1

Obviously, a ∈ L(D) if and only if (a) ≥ −D, which holds if and only if v p (a) ≥ −v P (D). (ii) Since D1 ≤ D2 , it implies that v P (D1 ) ≤ v P (D2 ) for all P ∈ PF . If a ∈ L(D1 ), then v P (a) ≥ −v P (D1 ) ≥ −v P (D2 ). Thus, a ∈ L(D2 ). (iii) L(D1 ) is not the trivial field if and only if there is a non-zero a ∈ F such that (a) ≥ −D1 ⇐⇒ (a) + D1 ≥ 0. By setting D2 = (a) + D1 the result follows. Definition The map ω : PF → F, where ω(P) ∈ F for all but finitely many P of PF , is called adele of F/K(x). The set of all adeles Ω F form a K-vector space that is called adele space. For a divisor D ∈ DF we define the set Ω F (D) = {ω ∈ Ω F | v p (ω) + v p (D) ≥ 0, ∀P ∈ PF } to be the adele subspace of D. The dimension as a K-vector space of the quotient field Ω F /(Ω F (D) + F) it called index speciality of D and is denoted by i(D). Index of speciality is actually an invariant for function fields. Another invariant of the function fields is their genus. We define as genus of a function field defined by a polynomial f (x, y) = a n (x)y n + · · · a1 (x)y + a0 (x) where a i (x) are elements of K(x) the genus of the non-singular model of the curve C defined by f (x, y).

Holomorphy Rings |

41

Theorem 3.3.3 (Riemann-Roch Theorem). Let g be the genus of the function field F/K(x). It holds that dim D − deg D = i(D) − g + 1 for every D ∈ DF . The proof of this well known theorem can be found in several textbooks of the literature such as (Stichtenoth, 1993), (Fulton and Lang, 1985) and (Fried and Jarden, 1986).

3.4 Holomorphy Rings In this last section of the chapter we introduce another one algebraic structure with a lot of interesting properties. Definition Let F/K(x) be a function field and Σ a set of places. The ring V Σ = {a ∈ F | v P (a) ≥ 0, ∀P ∈ Σ} is called holomorphy ring and the ring V Σ = {a ∈ F | v P (a) ≥ 0, ∀P ∉ Σ} is called complement of the holomorphy ring V Σ . If Σ = {P} has a unique element then it is the discrete valuation ring V P . Therefore, a holomorphy ring is the intersection of all V P where P ∈ Σ. Obviously, every holomorphy ring has a unique complement which it is also a holomorphy ring. Proposition 3.4.1. Let V Σ be a holomorphy ring of the function field F/K(x). (i) V Σ is integrally closed. (ii) The field of fractions of V Σ is F. (iii) V Σ is a principal ideal domain. ˆ of a ring R in F is equal to V Σ where Σ is the set of all places (iv) The integral closure R that R ⊂ V P . (v) The cardinality of an integral basis of V Σ over R is equal to [F : K(x)]. Proof. Detail proof of all of the above properties of the holomorphy rings can be found in (Stichtenoth, 1993). ˆ ∞ is equal to V Σ where Σ is the set By the above proposition for R = V∞ we get that V ˆ of infinite places of the function field and V∞ has integral basis over V∞ of [F : K(x)] ˆ and its elements. Obviously, the complementary holomorphy ring of V Σ is V Σ = K[x] also a ring with basis of n elements.

42 | Riemann-Roch Spaces

We can represent a divisor D as follows D=

r X

ni Pi −

i=1

s X

mj Qj

j=1

where, n i , m j ∈ Z, Q i are infinite places of Σ and P i are the places that are not in Σ. For convenience we call this representation the representation on infinite places. The next proposition due to Hess provides us another way to represent a divisor. Lemma 3.4.2. Let F/K(x) be a function field and Σ the set of infinite places. Then there is a bijection between the places of F/K(x) and the prime ideals of V Σ and V Σ . Proof. Since by 3.4.1 the holomorphy rings V Σ and V Σ are principal ideal domains it implies that the prime ideals are maximal ideals. The maximal ideals of V Σ and V Σ are V Σ ∩ P for all P ∉ Σ and V Σ ∩ Q for all Q ∈ Σ. So the map ϕ : PF



V(P)

P

7→

V Σ ∩ P, P ∉ Σ

Q

7→

V Σ ∩ Q, Q ∈ Σ

is a bijection. Proposition 3.4.3. Let F/K(x) be a function field and Σ the set of infinite places. If IΣ and IΣ are the sets of ideals of V Σ and V Σ , respectively, then there is a bijection between the sets DF and IΣ × IΣ . Proof. Let D=

r X i=1

ni Pi −

s X

mj Qj

j=1

be the representation of D on infinite places. According to the previous lemma there is a bijection between the places of F/K(x) and the prime ideals of V Σ and V Σ . Thus, the map ψ : DF



D

7→

IΣ × IΣ   r s X X  n i (P i ∩ V Σ ) − m j (Q j ∩ V Σ ) i=1

j=1

is a bijection. Hence, by the last proposition we deduce that we can represent every divisor of DF uniquely with the ordered couple (D Σ , D Σ ) where   s r Y Y Σ Σ n m (D , D Σ ) =  (P i ∩ V ) i , (Q i ∩ V Σ ) i  . i=1

j=1

Holomorphy Rings |

43

This representation of the divisor D is called ideal representation and it will help us to compute the Riemann-Roch spaces. We recall that if I is an ideal of an integral domain V where F is its fields of fractions, the set I −1 = {a ∈ F | aI ⊂ V } is called inverse ideal of I. Theorem 3.4.4 (Hess’ Theorem). Let F/K(x) be a function field and D=

r X i=1

ni Pi −

s X

mj Qj .

j=1

the representation of D on infinite places. It holds that L(D) = (D Σ )−1 ∩ (D Σ )−1 where (D Σ , D Σ ) is the ideal representation of D. Proof. By definition of the inverse ideal, the elements that belong to (D Σ )−1 are exactly the u for which u · D Σ ⊂ V Σ . In D Σ belong all functions that have at Q j order at least m j . Thus, in (D Σ )−1 belong the functions that at Q j have order at most m j . Analogously, the elements that belong to (D Σ )−1 are all functions that have at P i order at least n i . The intersection of those two inverse ideals gives us the function field L(D). The following corollary is an immediate consequence of the Hess’ theorem and is needed in order to compute Riemann-Roch spaces by Hess’ algorithm. Corollary 3.4.5. Let D be a divisor of DF and (D Σ , D Σ ) its ideal representation. Then the ideal representation of D+r·(x)0 , where r ∈ Z, is (x r ·D Σ , D Σ ) and the ideal representation of D + r · (x)∞ is (D Σ , x−r · D Σ ).

4 Integral Domains In this chapter we introduce some properties that arise from integral domains. We provide lemmas and propositions in order the structures to be better understood. For this chapter V is an integral domain and F the field of fractions of V.

4.1 Fractional Ideals A very interesting structure that is highly connected to the Dedekind domains are the fractional ideals. Definition Let V be an integral domain and F its field of fractions. The V-module I of F is called a fractional ideal for V if there exists a non-zero a ∈ V such that aI ⊂ V. It is easy to see that for a = 1 the fractional ideal I coincides to the usual ideal often referred as the integral ideal in order to be distinguished from the arbitrary fractional ideal. Next, we define the ordinary operations among fractional ideals as usual. That is, the sum of two ideals I and J is the set that consists of all the elements a + b where a and b are elements of I and J respectively. The set of all finite sums X a i b j , where a i ∈ I, b j ∈ J is the product of I and J. Finally, the quotient of I by J is the set {a ∈ F | aJ ⊆ I }

and is denoted by (I : J). Obviously, for I = V we get that (V : J) = J −1 . Definition Let I be a fractional ideal of V. If there is a fractional ideal J such that IJ = V then I is called invertible. Lemma 4.1.1. Let I be a fractional ideal of V. If J is a fractional ideal of V such that IJ = V, then J = I −1 . Proof. It is enough to show that J is (V : I). We have that J ⊂ (V : I) = (V : I) · V = (V : I) · I · J ⊂ V · J = J. The result follows. Lemma 4.1.2. Every invertible ideal is finitely generated

© 2014 Paraskevas Alvanos This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License.

Fractional Ideals |

45

Proof. Let I be an invertible ideal of V. Since II −1 = V it implies that there are a i ∈ I and a0i ∈ I −1 such that a1 a01 + · · · + a n a0n = 1. By multiplying the above equation with b ∈ I we get ba1 a01 + · · · + ba n a0n = b where ba0i belong to V. Hence I = Va1 + · · · + Va n and therefore {a1 , . . . , a n } are the generators of I. Proposition 4.1.3. If every non-zero fractional ideal of an integral domain V is invertible then V is a Dedekind domain. Proof. In order to prove that V is a Dedekind domain we need to prove that V is Noetherian, integrally closed and every prime ideal is maximal. Initially by 1.1.9 and 4.1.1 we deduce that V is Noetherian. Now let a ∈ F integral over V. In order to prove that V is integrally closed it is enough to prove that V[a] = V. Since every ideal of V is invertible it follows that V[a] is also invertible. Therefore there is (V[a])−1 such that (V[a])−1 V[a] = V . Thus we have that V[a] = V[a] · V ⇒ V[a] = V[a] · V[a] · (V[a])−1 . Since V[a] · V[a] = V[a] we have that V[a] = V[a] · (V[a])−1 ⇒ V[a] = V which means that V is integrally closed. Finally let I be a prime ideal and P be maximal such that I ⊂ P. So, IP−1 is a proper ideal and (IP−1 )P = I which implies that IP−1 ⊂ I or P ⊂ I and therefore I is equal to the maximal ideal P. Definition Let I ⊆ F be a fractional ideal of V. The set Ann(I) := {a ∈ F | aI = 0} is called annihilator of I. The following lemma provides us with some basic properties of the annihilator of the quotient ideals.

46 | Integral Domains Lemma 4.1.4. Let I, J be two fractional ideals of V. It holds that (i) Ann(I + J) = Ann(I) ∩ Ann(J). (ii) (I : J) = Ann((I + J)/I). (iii) If I ∼ = V /J then Ann(I) = J. Proof. (i). Let a ∈ Ann(I) ∩ Ann(J). Then, aI = 0 and aJ = 0 which implies that a(I + J) = 0. Thus, a ∈ Ann(I + J). Conversely, consider a ∈ Ann(I + J). Then, by definition, a ∈ F with a(I + J) = 0 for every c ∈ I and b ∈ J . Thus ∀c ∈ I and ∀b ∈ J we obtain that aI = 0 and aJ = 0. The result follows. (ii). Let a ∈ Ann(I + J)/I. Then, by definition, a ∈ F with a(I + J) ⊆ I. So, ∀b ∈ J we have that aJ ⊆ I. Thus, a ∈ (I : J). Conversely, let a ∈ (I : J), then a ∈ F with aJ ⊂ I. Obviously, we have that aI ⊆ I. Thus, ∀c ∈ I and ∀b ∈ J it holds that a(I + J) ⊆ I. Therefore, a ∈ Ann((I + J)/I). (iii). Let a ∈ Ann(I). Then, by definition, a ∈ F with aI = 0 and since I ∼ = V /J we have that a ∈ F with a(V /J) = 0. Thus, a belongs to J. Conversely, let a be an element of J. It implies that a(V /J) = 0 and since M ∼ = V /J we have that aI = 0. Thus, a ∈ Ann(I).

4.2 Localization Next we will see how we can create a local ring from an arbitrary integral domain. The main idea of creating a local ring is to transform an integral domain where not all elements are invertible into a local ring where we can determine exactly which elements are invertible. Lemma 4.2.1. Let P be a prime ideal of V. The set VP = {

a | a ∈ V , b ∈ V − P} b

P0 = {

a | a ∈ P, b ∈ V − P} b

is a local ring V P and

is its maximal ideal. Proof. Every element a/b of V − P0 is a unit because if a does not belong to P, then b/a belongs to V P . Obviously a b · =1 b a and therefore a/b is a unit. So by the proposition 1.2.1 we get that V P is a local ring. In order to prove that P0 is a maximal ideal, assume that a/b ∈ P0 and c/d ∈ V P . Then a c ac · = ∈ P0 b d bd

Localization |

47

since ac ∈ P and bd ∉ P. The procedure of obtaining the ring V P from V is called localization of V at P. Let P = {p n | p ∈ V }. The corresponding localization Vp = {

a | a ∈ V , b ∈ V − P} b

is called localization of V at p. For example, if V = Z and a = 2 we get Z(2) = {

a | a ∈ Z, b odd } b

with maximal ideal a | a even , b odd }. b Analogously to the definition of V P , we define the set P(2) = {

IP = {

a | a ∈ I, b ∈ V − P} b

to be the localized fractional ideal I at P. One can see that if there is an a ∈ V such that aI ⊂ V it implies that aI P ⊂ V P . So, I P is a fractional ideal of V P . The next two lemmata provide us with some basic properties of localized fractional ideals. Lemma 4.2.2. Let I, J be two fractional ideals and P a prime ideal of V. It holds that (i) (I + J)P = I P + J P . (ii) (IJ)P = I P J P . (iii) (I ∩ J)P = I P ∩ J P . (iv) (I/J)P ∼ = I P /J P . Proof. During the proof a, b, s, s1 and s2 are elements such that a ∈ I, b ∈ J and s, s1 , s2 ∉ P. (i) Let (a + b)/s ∈ (I + J)P . It implies that a/s + b/s ∈ I P + J P , thus (I + J)P is a subset of I P + J P . Now let a/s1 ∈ I P and b/s2 ∈ J P . It holds that b as + bs1 a + = 2 . s1 s2 s1 s2 Obviously, since I, J and S are ideals, as2 belongs to I, bs1 belongs to J and s1 s2 does not belongs to P. Therefore, (as2 + bs1 )/(s1 s2 ) belongs to (N + M)P . The result follows. (ii). The proof is analogous to (i). (iii). Since I ∩ J ⊂ I it follows that (I ∩ J)P ⊂ I P . Similarly, we know that (I ∩ J)P ⊂ J P and therefore (I ∩ J)P ⊂ I P ∩ J P . Now let x ∈ I P ∩ J P . Thus there are a ∈ I, b ∈ J and s1 , s2 ∈ P such that x=

a b = . s1 s2

48 | Integral Domains

So y = as2 = bs1 ∈ I ∩ J and therefore x = y(s1 s2 )−1 ∈ I P ∩ J P which implies that I P ∩ J P ⊂ (I ∩ J)P . (iv). For J ⊂ I we introduce functions ι and σ as follows ι : I P → J P , a/s → b/s and σ : J → (I/J), b/s → b/s. One can see that ι is an injection and that σ is a surjection. Therefore, we have (I/J)P ∼ = Im(σ) ∼ = I P /Ker(σ) ∼ = I P /Im(ι) ∼ = I P /J P . The result follows. Lemma 4.2.3. Let I, J be fractional ideals and P a prime ideal of V. It holds that (i) Ann(J)P = Ann(J P ) (ii) (I : J)P = (I P : J P ). Proof. (i). We will prove this lemma inductively. Since the fractional ideals are finitely generated, we will first prove the lemma for the case where a fractional ideal is produced by a single element, and then for the case that we have a sum of fractional ideals. Let J be a fractional ideal generated by a single element initially. Then, its elements will be all elements of V except those elements that vanish all elements of J. Therefore J∼ = V /Ann(J) and by lemma 4.2.2 we get JP ∼ = V P /Ann(J)P . Finally, from the above conjugation by lemma 4.1.4 we get that Ann(J P ) = Ann(J)P which means that the lemma holds for the case where the fractional ideal is generated by a single element. Next, we assume that the lemma holds for two fractional ideals J1 and J2 . Thus, we have that Ann(J i )P = Ann((J i )P ) for i ∈ {1, 2}. We will show that the same holds for J1 + J2 . Applying localization to lemma 4.1.4 we have that Ann(J1 + J2 )P = (Ann(J1 ) ∩ Ann(J2 ))P

Localization |

49

and by lemma 4.2.2(ii) we get Ann(J1 + J2 )P = Ann(J1 )P ∩ Ann(J2 )P . Since we have assumed that the lemma holds for J1 and J2 we know Ann(J1 + J2 )P = Ann((J1 )P ) ∩ Ann((J2 )P ). Again, by 4.1.4(i) and 4.2.2(i) we get Ann((J1 )P ) ∩ Ann((J2 )P ) = Ann((J1 )P + (J2 )P ) = Ann((J1 + J2 )P ). Therefore the lemma holds for any fractional ideal. (ii). By lemma 4.1.4 we have that (I : J) = Ann((I + J)/I). By localization we get that (I : J)P = Ann((I + J)/I)P and as we have proved in (i) (I : J)P = Ann(((I + J)/I)P ). By using now 4.2.2 we get (I : J)P = Ann((I P + J P )/I P )) = (I P : J P ). The result follows. Proposition 4.2.4. Let I be a fractional ideal of V. If for every maximal ideal P of V, I P is invertible then I is invertible. Proof. Let J = I · (V : I). According to 4.1.1 in order to prove that I is invertible it is enough to show that J = V. We localize the relation J = I · (V : I) and by using 4.2.3 we get J P = I P · (V P : I P ). Since I P is invertible we obtain that J P = V P . So, we have established that J ⊄ P for every maximal ideal of V and therefore J = V.

50 | Integral Domains

4.3 R-module V In this section we prove some properties of the R-module V. Lemma 4.3.1. Let V be a Noetherian integral domain and F its field of fractions. A nonzero V-submodule I of F is a fractional ideal of V if and only if it is finitely generated. Proof. Suppose that I is a fractional ideal of V. Then there is a ∈ F such that aI ⊂ V. Since V is Noetherian it is finitely generated, and therefore, I is too. Conversely, suppose I is finitely generated and let a be the least common multiple of the denominators of the generators of I. By multiplying I with a it turns to be a V-module which implies that aI ⊂ V and therefore is fractional. Lemma 4.3.2. Let v ∈ V. R[v] is finitely generated as a R-module if and only if v is integral over R. Proof. Suppose that R[v] is finitely generated. Every element a ∈ R[v] can be written as X j a= ri v where r i ∈ R, which is actually an R-linear combination of v. Therefore v is integral over R. Conversely, suppose that v is integral over R. Then, there are r i ∈ R such that v n + r n−1 v n−1 + · · · + r1 v + r0 = 0. Thus, v n = −r n−1 v n−1 − · · · − r1 v − r0 which implies that v n belongs to the R-module generated by the set {1, v, . . . , v n−1 }. For any rational integer r > 0 we have that v n+r = (−r n−1 v n−1 − · · · − r1 v − r0 )v r . Hence R[v] is an R-module generated by {1, v, . . . , v n−1 }. Lemma 4.3.3. Let V be a R-module that contains a submodule N such that V /N and N are Noetherian R-modules. Then V is a Noetherian R-module. Proof. Let P1 ⊂ P2 ⊂ · · · be an ascending sequence of R-submodules of V. Since N ⊂ V we get that P1 ∩ N ⊂ P2 ∩ N ⊂ · · ·

R-module V | 51

is also an ascending sequence of R-submodules of V. N is Noetherian and therefore there is s such that P s ∩ N = P s+1 ∩ N = · · · . Similarly, for ascending sequence (P1 + N)/N ⊂ (P2 + N)/N ⊂ · · · of V /N, there is t, such that (P t + N)/N = (P t+1 + N)/N = · · · and therefore N + P t = N + P t+1 = · · · . Now let p0 ∈ P t+1 . Hence, p0 ∈ N + P t+1 which implies that p0 ∈ N + P t and therefore p0 = n + p for some p ∈ P t and n ∈ N. Thus n = p − p0 ∈ P t ⇒ n ∈ N ∩ P t = N ∩ P t+1 . Hence, n ∈ P t and since p ∈ P t it implies that p0 = n + p ∈ P t . Thus P t = P t+1 = · · · which implies that V is a Noetherian R-module. Theorem 4.3.4. Let R be a Noetherian ring. Every finitely generated R-module V is Noetherian. Proof. Assume that V is generated by two elements {a1 , a2 } which means that V = a1 R + a2 R. Since R is Noetherian it implies that R i = a i R are Noetherian. Moreover, it holds that V /R1 = (R1 + R2 )/R1 ∼ = R2 /(R1 ∩ R2 ). Since R1 and R2 are Noetherian it implies that R2 /(R1 ∩ R2 ) is Noetherian and therefore V /R1 is Noetherian. Since V /R1 and R1 are Noetherian by 4.3.3 we obtain that V is Noetherian. The result follows inductively. Obviously, the above theorem holds if R is a principal ideal domain since by proposition 1.1.10 R is Noetherian too.

| Part II: Computation

5 Computing Integral Bases In this chapter we present Trager’s method ((Trager, 1984)) for computing integral bases. Since Trager’s thesis alternative methods for computing integral bases have been published (for instance Van Hoeij (Van Hoeij, 1994)). We chose to present Trager’s algorithm since he uses elementary mathematics and therefore is a clear starting point for young researchers. The majority of the lemmas and the propositions of this chapter are influenced by Trager’s thesis ((Trager, 1984)). Until the end of the chapter R should be considered to be a principal ideal domain with field of fractions K(x) and V will be an integral domain over R with field of fractions F. By the end of the chapter we will be able to compute an integral basis of the holomorphy rings V Σ and V Σ , the integral closures over V∞ and K[x] respectively.

5.1 Discriminant In this section we introduce the discriminant of an arbitrary set of elements from V. Definition Let {v1 , . . . , v n } be a set of V and {σ1 , . . . , σ n } the n different embeddings of the algebraic closure of F. The matrix   σ1 (v1 ) · · · σ n (v1 )   ..   . M =  ..  · · · .   σ1 (v n ) · · · σ n (v n ) is called the conjecture matrix of {v1 , . . . , v n }. The square of the determinant of M is called the discriminant of {v1 , . . . , v n } and it is denoted by disc(v1 , . . . , v n ). Obviously, v1 , . . . , v n are linearly independent if and only if disc(v1 , . . . , v n ) is non zero. Lemma 5.1.1. If {v1 , . . . , v n } are integral elements over R, then disc(v1 , . . . , v n ) is a polynomial over R. Proof. Since TrL/K (v) =

n X

σ i (v)

i=1

© 2014 Paraskevas Alvanos This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License.

Discriminant

we can easily verify that the matrix product   σ1 (v1 ) · · · σ n (v1 ) σ1 (v1 )   .. .. ..     . ··· . .   σ1 (v n ) · · · σ n (v n ) σ1 (v n )

··· ···

σ n (v1 ) .. .

···

σ n (v n )

| 55

    

is equal to    TrF/K(x) (v1 , . . . , v n ) = a  

TrF/K(x) (v21 ) .. .

··· ···

TrF/K(x) (v1 v n ) .. .

TrF/K(x) (v n v1 )

···

TrF/K(x) (v2n )

   . 

Further, since the trace is a polynomial over R the result follows. The following lemma presents the connection among the discriminants of the integral bases of V. Lemma 5.1.2. Let {v1 , . . . , v n } be an integral basis of V and {w1 , . . . , w n } a set with elements of V (i) If {w1 , . . . , w n } are linearly independent over R, then there exists an r ∈ R such that disc(v1 , . . . , v n ) · r2 = disc(w1 , . . . , w n ). (ii) If {w1 , . . . , w n } is an integral basis of V, then r is a unit of R. Proof. (i). Since {v1 , . . . , v n } is an integral basis of V, it implies that all w i can be written in the form w i = a i1 v1 + · · · + a in v n , where a ij ∈ R for all i, j ∈ {1, . . . , n}. Therefore, we have that     w1 v1      ..   .   .  = A ·  ..      wn vn where A = (a ij ). We can easily verify that M(w1 ,...,w n ) = A · M(v1 ,...,v n ) where M(w1 ,...,w n ) and M(v1 ,...,v n ) are the conjugate matrices of {w1 , . . . , w n } and {v1 , . . . , v n }, respectively. This implies that disc(w1 , . . . , w n ) = (det A)2 · disc(v1 , . . . , v n )

(5.1.1)

Thus, r = det A. (ii). If {w1 , . . . , w n } is an integral basis, then A is invertible and therefore its determinant is a unit of R.

56 | Computing Integral Bases

Since the discriminants of all integral bases of V over R are equal up to a unit, they generate the same ideal. This remark leads us to the following definition. Definition The ideal that is generated by the discriminant of an integral basis of V over R is called the discriminants ideal of V over R. We will denote the discriminants ideal of V by I(V).

5.2 Ideal Basis In this section we compute bases of the ideals of the holomorphy rings V Σ and V Σ as they were defined in section 3.4. Definition Let I be an ideal of V and {a1 , . . . , a n } be linear independent elements of I over R. If for all a ∈ I there are r1 , . . . , r n ∈ R such that a = r1 a1 + · · · + r n a n , then the set {a1 , . . . , a n } is called an ideal basis of I over R. For the following proofs we recall that if f and g are elements of the polynomial ring K[x] then the degree of h = f /g is equal to the degree of f minus the degree of g. Proposition 5.2.1. Let {v1 , . . . , v n } be an integral basis of V Σ , then every ideal I of V Σ has a basis {a1 , . . . , a n } of the form a1 = a11 v1 a2 = a21 v1 + a22 v2 .. . a n = a n1 v1 + a n2 v2 + · · · + a nn v n where a ij ∈ K[x] and a ii ≠ 0. Proof. In order to prove this lemma we will construct the basis of I from the basis of V. We define n classes of I as follows: The first class consists of all elements of I of the form a11 v1 and a11 ≠ 0; the second class consists of all elements of the form a21 v1 + a22 v2 and a22 ≠ 0. Similarly, we define all of the n classes of I. From the first class we choose an element a1 = a11 v1 where a11 has the least degree of all a11 of the first class. In the same way, we choose one element from each one of the n classes.

Ideal Basis

| 57

Thus we have constructed the set {a1 , . . . , a n } where a1 = a11 v1 a2 = a21 v1 + a22 v2 .. . a n = a n1 v1 + a n2 v2 + · · · + a nn v n with a ij ∈ K[x] and a ii having the least degree among the elements of the i-th class of I. Next, we will show that {a1 , . . . , a n } are linearly independent over K[x]. According to 5.1.1 we have that disc(a1 , . . . , a n ) = (det A)2 · disc(v1 , . . . , v n ) where



0

···

0

a22

···

0

···

···

···

a n−1,2

···

a n−1,n−1

a n2

···

a n,n−1

a11

  a21   A =  ···   a  n−1,1 a n1

0

(5.2.1)



 0    ··· .  0   a nn

This implies that disc(a1 , . . . , a n ) =

n Y

!2 a ii

· disc(v1 , . . . , v n ).

i=1

Since the discriminants are non-zero this implies that a1 , . . . , a n are linearly independent. Finally, we need to prove that a1 , . . . , a n generate the ideal I. Let a be an element of I. Since a is an element of V it can expressed as follows a = r1 v1 + · · · + r n v n ,

(5.2.2)

where r i ∈ K[x]. We will show that a can be written as a linear combination of a1 , . . . , a n . Since the euclidean division occurs in K[x] there are π n (x), υ n (x) ∈ K[x] with deg υ n (x) < deg a nn or υ n (x) = 0 such that r n = a nn π n (x) + υ n (x). By 5.2.3, 5.2.2 and 5.2.1 we find that the element a − π n (x)a n is equal to (r1 − π n (x)a n1 )v1 + · · · + (r n−1 − π n (x)a n,n−1 )v n−1 + υ n (x)v n .

(5.2.3)

58 | Computing Integral Bases

Clearly, the element a − π n (x)a n is an element of the n-th class of I. The way we have constructed the classes it follows that deg a nn ≤ deg υ n (x). On the other hand, by euclidean division we know that deg υ n (x) < deg a nn or υ n (x) = 0. Thus, υ n (x) = 0 and therefore a − π n (x)a n = r01 v1 + · · · + r0n−1 v n−1 , where r0i = r i − π n (x)a ni . Following the same procedure successively for the coefficients of v n−1 , . . . , v1 we get that a − π n (x)a n − · · · − π1 (x)a1 = 0. So, a is a linear combination of {a1 , . . . , a n }. Proposition 5.2.2. Let {v1 , . . . , v n } be an integral basis of V Σ , then every ideal I of V Σ has a basis {a1 , . . . , a n } of the form a1 = a11 v1 a2 = a21 v1 + a22 v2 .. . a n = a n1 v1 + a n2 v2 + · · · + a nn v n where a ij ∈ V∞ and a ii ≠ 0. Proof. The proof of this proposition is analogous to 5.2.1. The only difference is that from each one of the classes of I that we need to construct we obtain the following elements a1 = a11 v1 a2 = a21 v1 + a22 v2 .. . a n = a n1 v1 + a n2 v2 + · · · + a nn v n with a ij ∈ V∞ and a ii are having the highest degree of the elements of the i class. The rest are similar.

5.3 Idealizer The idealizer of an ideal I of a ring V is the largest ring in which I is still an ideal. Definition Let I be an ideal of V. The set IF (I) = {x ∈ F | xI ⊂ I } is called idealizer of I in F.

Idealizer

| 59

The idealizer I of I contains V and it is a subset of I −1 . For simplicity we denote IF (I) by I(I). Lemma 5.3.1. If I and J are two ideals of V, then the idealizer I(IJ) contains the idealizers I(I) and I(J). Proof. Every element a of IJ is a finite sum of the form X a= ai bi where a i ∈ I and b i ∈ J. Let u be an element of I(I). Then, ua i ∈ I and therefore ua i b i ∈ I. Thus I(I) ⊂ IJ which is by definition subset of I(IJ). Similarly for I(J). The main theorem that Trager presents in his thesis concerning the idealizer is the following and we prove it similarly. Theorem 5.3.2. The ring V is integrally closed if and only if the idealizer of every first ideal that contains discriminants ideal of V over R is equal to V. Proof. Assume that V is integrally closed. By definition, we have that V ⊂ I(I). It is sufficient to prove that I(I) ⊂ V which means that the elements of I(I) are integral over R. Let v1 , . . . , v n be a basis of I and u an element of I(I). By definition, uI ⊂ I and therefore there are r ij in R such that uv i =

n X

r ij v j .

j=1

Now, let A be the n × n matrix A = (a ij ) = (r ij − u · δ ij ) where δ ij is Kronecker’s delta. The determinant of A is a polynomial over R. If we prove that det A = 0, we know that u is a root of the above polynomial and therefore integral over R. Let U be the n × 1 column matrix where its entries are the elements of the I basis. It holds that    v1 r11 − u r12 · · · r1n − u  r   r22 − u · · · r2n − u     ..  21 A·U =   .   ···  ··· ··· ···  r n1 − u r n2 · · · r nn − u vn  Pn    0 j=1 r 1j v j − uv 1     .    ..  .. =  = .      Pn r v − uv n 0 nj j j=1

60 | Computing Integral Bases

If adj A is the adjugate matrix of A by elementary operation adj A · A

=

det A · I ⇐⇒

T

=

det A · I · U T ⇐⇒

adj A · 0

=

det A · U ⇐⇒

0

=

det A · U

adj A · A · U

which implies that det A · v i = 0 for every i = 1, . . . , n and therefore det A = 0. By this theorem we can check whether an integral domain is integrally closed or not.

5.4 Radical In order to define a set of all possible roots of the ideal I we introduce the radical of an ideal. Definition Let I be an ideal of V. The set √

I = {a ∈ V | ∃n ∈ N such that a n ∈ I }

is called the radical of I. √

It is very easy to verify that

I is an ideal.

Lemma 5.4.1. Let I be an ideal of a Noetherian ring V. Then \ √ I= P, P∈P

where P the set of all prime ideals P of V that contain I. √

Proof. In case I = V, then obviously I = I = V and therefore the proposition holds. √ Now let I ( V and P be a prime ideal of P. If a ∈ I, then there is n ∈ N such that √ a n ∈ I. Hence a n ∈ P and since P is prime it implies that a ∈ P. Thus, I ⊂ P and since this holds for every I ⊂ P we have that \ √ I⊂ P. P∈P



Now, let a be an element of V such that a ∉ I. Let A be the set {a, a2 , . . .}. Obviously I ∩ A = ∅. Now let J = {J | I ⊂ J, J ∩ A = ∅}

Computing the Discriminants Ideal Radical

|

61

be the set of ideals that contain I and a n does not belongs to J for all n ∈ N. Since every ideal is a subideal of a maximal ideal, there exists a maximal ideal P of J that contains I, but not the element a. This implies that a is not in the intersection of prime ideals containing I. Hence \ √ P⊂ I P∈P

and the result follows. The following theorem of Trager provide us with another necessary and sufficient condition for V to be integrally closed. Theorem 5.4.2. A ring V is integrally closed if and only if the idealizer of the radical of the discriminants ideal of V is equal to V. Proof. Corollary 2.8 in (Trager, 1984) This theorem is the way Trager’s algorithm tests whether an integral domain V is integrally closed.

5.5 Computing the Discriminants Ideal Radical In this section we compute the radical of the discriminants ideal. Since the discriminants ideal is a principal ideal generated by an element r ∈ R and R is a principal ideal domain, we know that r has a unique representation up to units of the form r = r1 · · · r m where r1 , . . . , r m ∈ R. On the other hand, the radical of the discriminants ideal is the intersection of all prime ideals that contain r (5.4.1). Thus, it is sufficient to compute the principal ideals generated by r i . Definition The radical of an ideal of V that is generated by an irreducible element r of R is called the r-radical of V. Proposition 5.5.1. Let a ∈ V and x m + a1 x m−1 + · · · + a m−1 x + a m the minimal polynomial of a where a i ∈ R. a is an element of the r-radical if and only if the coefficients a i are divisible by r. Proof. Proposition 5.15 in (Atiyah and Macdonald, 1969).

62 | Computing Integral Bases

For R = K[x] or R = V∞ and V the integral domain with field of fractions F, the degree m of the minimal polynomial of a must divide n, which is the degree of the extension [F : K(x)]. Since n TrF/K(x) (a) = − a1 m by proposition 5.5.1 we obtain the following corollary: Corollary 5.5.2. If a is an element of an r-radical of V, then r divides the trace of a. This corollary lead us to the following definition. Definition The set {a ∈ V | ∀b ∈ V , r devides Tr(ab)}

is called r-trace-radical. Let a be an element of an r-radical. Then, for all b ∈ V, ab belongs to the r-radical. Thus, the trace Tr(ab) of ab is divided by r. Hence, a is an element of the r-traceradical. Corollary 5.5.3. Every r-radical of V is a subset of the r-trace-radical. By Trager (Trager, 1984) in case R = K[x] the problem of computing an r-radical becomes the computation of the r-trace-radical and since R is a principal ideal domain we can easily verify the following corollary. Corollary 5.5.4. Any r-trace-radical is equal to the q-trace-radical where q is the product of all the prime divisors of p. Next, we present methods for computing the r-trace-radical according to Trager’s algorithm. Let {v1 , . . . , v n } be a basis of V. By definition, the r-trace-radical is the set with the elements u ∈ V such that Tr(uv) is divisible by r for all v ∈ V. Therefore, we know that r divides Tr(uv i ) for all i ∈ {1, . . . , n}. Now, let u = u1 v1 + · · · + u n v n , where u j are elements of R. Since u j ∈ R we know:     n n n X X X  Tr(uv i ) = Tr  u j v j v i  = u j Tr  vj vi  = u j Tr v j v i . i,j=1

i,j=1

(5.5.1)

i,j=1

Thus, in order to compute u that belongs to the r-trace-radical we need to determine {u1 , . . . , u n } such that 5.5.1 are divisible by r or equivalent by q, where q is the product

Computing the Discriminants Ideal Radical

|

63

of the prime divisors of r (5.5.4). Let Tr(v1 , . . . , v n ) be the matrix   Tr(v21 ) · · · Tr(v1 v n )   ··· ··· ···   Tr(v n v1 ) · · · Tr(v2n ) and I n×n the identity matrix. From 5.5.1 we have that the elements of the multiplication   u1  .   Tr(v1 , . . . , v n ) ·   ..  un and obviously the elements of the multiplication   u1  .   q · I n×n ·   ..  un are divisible by q. Therefore the r-trace-radical is the set with elements   " # u1  .  Tr(v1 , . . . , v n )  T2n×n · U n×1 = ·  ..  . q · I n×n un By a unimodular transformation (see Appendix A.2) we can transform the matrix T2n×n to the form # " ˜ T T2n×n = O ˜ is a n × n upper triangular matrix with elements from K(x) and O the n × n where T ˜ −1 consist of the basis of the zero matrix. Clearly, the columns of the inverse ideal T r-trace-radical. Discriminants Ideal Radical Algorithm Input: Basis of the discriminants ideal of V. Output: Basis of the radical of the discriminants ideal of V. Step 1: Compute the product q of all irreducible divisors of disc(v1 , . . . , v n ). Step 2: Define the 2n × n matrix " # Tr(v1 , . . . , v n ) T= qI Step 3: Transform T by applying R-unimodular transformations to the matrix " # ˜ T T= O ˜ is a n × n upper triangular matrix with elements from K(x) and O the n × n where T zero matrix.

64 | Computing Integral Bases ˜ −1 = (a ij ) Step 4: Compute of the inverse matrix T Step 5: Compute the basis {u1 , . . . , u n } where uj =

n X

a ij v i

i=1

for all j = {1, . . . , n}.

5.6 Computing Idealizers and Inverse Ideals In this section we present Trager’s algorithm for computing the idealizer and the inverse ideal of an ideal I of V. Although computing the inverse ideal is not necessary for computing an integral basis, it is necessary for computing Riemann-Roch spaces (Chapter 6). Let {a1 , . . . , a n } be a basis of an ideal I and {v1 , . . . , v n } be a basis of V. It holds that n X u ∈ I −1 ⇐⇒ ua i = r ij v j , ∀i = 1, . . . , n. j=1

Since u ∈ V it can be also represented in the form u=

n X

ui vi

i=1

where u i ∈ K(x). By A i we denote the transformation matrix of multiplication by a i with respect to the basis {v1 , . . . , v n }. Then obviously   v1  .   Ai ·   ..  = (r ij ). vn So u ∈ I −1 if and only if its u i belong to R. Thus, we need to find a basis of {u1 , . . . , u n } such that the above product has coefficients from R. Let A be the matrix   A1  .   A=  ..  . An By R-unimodular transformations from left we can bring A to the form " # ˜ A A= O

Computing Idealizers and Inverse Ideals |

65

˜ is the n × n upper triangular matrix with elements from K(x) and O the (n2 − where A n) × n zero matrix. Thus     v1 v1  .    n2 n  ˜  .  A·  ..  ∈ R ⇐⇒ A ·  ..  ∈ R . vn vn ˜ −1 gives us the basis of the inverse ideal I −1 . The columns of A Inverse Ideal Algorithm Input: Basis {a1 , . . . , a n } of I and {v1 , . . . , v n } of V. Output: Basis {a01 , . . . , a0n } of I −1 . Step 1: Compute of the matrices A i that represent the multiplication by a i with respect to the basis {v1 , . . . , v n }. Step 2: Define the n2 × n matrix   A1  .   A=  ..  An Step 3: Transform A by R-unimodular transformation to the matrix # " ˜ A A= O ˜ is a n × n upper triangular matrix with elements from K(x) and O the where A 2 (n − n) × n zero matrix. ˜ −1 = (a ij ) Step 4: Compute of the inverse matrix A Step 5: Compute the basis {a01 , . . . , a0n } where a0j =

n X

a ij v i ,

i=1

for all j ∈ {1, . . . , n} The algorithm for computing the idealizer I(I) of an ideal I is analogous to the algorithm for computing the inverse ideal since their definitions are very close. The only difference is that u ∈ I(I) ⇐⇒ ua i =

n X

r ij a j , ∀j = 1, . . . , n,

j=1

where r ij ∈ R. Therefore, matrices A i are the transformation matrices with respect to the basis of {a1 , . . . , a n } and not to {v1 , . . . , v n }. Idealizer Algorithm

66 | Computing Integral Bases Input: Basis {a1 , . . . , a n } of the radical of the discriminants ideal of V. Output: Basis {a01 , . . . , a0n } of the idealizer of radical of the discriminants ideal of V. Step 1: Compute the matrices A i that represent the multiplication by a i with respect to the basis {a1 , . . . , a n }. Step 2: Define the n2 × n matrix   A1  .   A=  ..  An Step 3: Transform A by R-unimodular transformation to the matrix # " ˜ A A= O ˜ is a n × n upper triangular matrix with elements from K(x) and O the where A 2 (n − n) × n zero matrix. ˜ −1 = (a ij ) Step 4: Compute of the inverse matrix A 0 0 Step 5: Compute the basis {a1 , . . . , a n } where a0j =

n X

a ij v i ,

i=1

for all j ∈ {1, . . . , n} Now, we have all we need to present Trager’s algorithm and to compute V Σ and V Σ .

5.7 Trager’s Algorithm The steps of Trager’s algorithm are as follows. Let F = K(x, y) be a function field where x is the transcendental element and y is an element with polynomial over K(x) f (x, y) = y n + a1 (x)y n−1 + · · · + a n−1 (x)y + a n (x), where a1 (x), . . . , a n (x) ∈ K(x). Clearly, {1, y, . . . , y n−1 } is an integral basis of K[x, y] over K[x]. Trager’s algorithm starts from this basis and every iteration of the algorithm outputs a basis of a K[x]-module greater than K[x, y] until we get the integral closure of K[x]. Trager’s algorithm works not only over K[x] but over any principal ideal domain. Therefore, it works the same way for V∞ . Let  Cf = max ddeg(a i )/ie | 1 ≤ i ≤ n and g(x, y) = x−nCf f (x, x Cf y).

Examples |

67

By substitution we get g(x, y) =

x nCf y n + a1 (x)x(n−1)Cf y n−1 + · · · + a n−1 (x)x Cf y + a n (x) x nCf

which implies that g(x, y) = y n +

a1 (x) n−1 a n (x) a n−1 (x) y + nCf . y + · · · + (n−1)Cf Cf x x x

g(x, y) is a minimal polynomial of y over V∞ and since y/x Cf is integral over V∞ , the set   y n−1 y 1, Cf , . . . , (n−1)Cf x x is a basis of V∞ [y]. Trager’s algorithm as in the case of K[x], starts from the basis of V∞ [y] and every iteration of the algorithm outputs a basis of a V∞ -module greater than V∞ [y] until we get the integral closure of V∞ . Trager’s Algorithm Input: Basis of V over R Output: Basis of the integral closure of V Step 1: Compute discriminants ideal I(V). p Step 2: Compute discriminants ideal radical I(V). p Step 3: Computep idealizer of discriminants ideal radical I( I(V)). p Step 4: If V ( I( I(V)) then set I( I(V)) = V and go to step 1. Else output the basis. Trager’s algorithm has been a base for the construction of more efficient or faster algorithms for computing integral bases (for instance (Van Hoeij, 1994)).

5.8 Examples In this section we give three separate examples. In the first example we compute the integral closure of K[x] which is V Σ , and in the second we compute the integral closure of V∞ which is V Σ . Both examples are used by Hess in (Hess, 2002) for computing Riemann-Roch spaces. We compute the integral bases of his example by using Trager’s algorithm. The final example is an example for computing an inverse ideal. Example Let F/K(x) be a function field where [F : K(x)] = 2, K = Q and f (x, y) = y2 − x3 − 1 is the minimal polynomial of y over K(x). We are going to apply Trager’s algorithm for R = K[x]. According to Trager’s algorithm we start from the integral basis of V = R[y] = K[x, y]

68 | Computing Integral Bases which is {1, y}. Following the steps of the algorithm we start by computing the discriminant of the {1, y}. By definition we get that Tr(1) Tr(y) disc(1, y) = , Tr(y) Tr(y2 ) where Tr = TrF/K(x) . We can compute the trace of an element in many ways and we can easily deduce that Tr(1) = 2, Tr(y) = 0 and Tr(y2 ) = 2x3 + 2. Thus, we get 2 0 3 disc(1, y) = = 4(x + 1). 0 2x3 + 2 In the next step we compute the radical of the discriminants ideal. We notice that the discriminant is a product of irreducible divisors of K(x). Thus, we determine the matrix   2 0  0 2x3 + 2    T= . 3  4(x + 1)  0 3 0 4(x + 1) Successively, we multiply the first row by −2(x3 + 1) and we add it to the third row, we multiply the second row by −2 and we add it to the fourth row and we divide the first two rows by 2. All those are K[x]-unimodular transformations and the matrix that we obtain after all is   1 0  0 x3 + 1    T= .  0  0 0 0 ˜ that is defined We can easily deduce that the inverse matrix of the 2 × 2 submatrix of T by the first two rows of T is # " 1 0 −1 ˜ = . T 0 x31+1 ˜ −1 consists a basis of discriminants ideal According to the algorithm the columns of T radical with respect to the basis {1, y}. Let {u1 , u2 } be the basis of the discriminants ideal radical. It holds that     1 1 {u1 , u2 } = 1, 3 . · y = 1, y x +1 The third step is to compute the idealizer of the discriminants radical. According to the algorithm we initially need to compute the appropriate matrices A1 and A2 . In order to compute A s = (a ij )s we have to solve the systems ( u s · 1 = a11 u1 + a12 u2 Σs = u s · y = a21 u1 + a22 u2

Examples |

69

where a ij ∈ K[x] and s = 1, 2. For s = 1 we get that a11 = 1, a12 = 0, a21 = 0, a22 = y2 = x3 + 1. Thus, " # 1 0 A1 = . 0 x3 + 1 Similarly, for s = 2 we get that a11 = 1, a12 = 0, a21 = 0, a22 = 1. Thus, " # 1 0 A2 = . 0 1 According to the second step of the algorithm for computing the idealizer, we define the matrix   1 0  0 x3 + 1    A= .  1  0 0 1 By K[x]-unimodular transformations we bring A to the form   1 0  0 1    A= .  0 0  0 0 ˜ that consists of the first two rows is the Hence, the inverse matrix of the 2 × 2 matrix A identity matrix. Thus, the basis of the idealizer of discriminants radical is the same with the basis of K[x, y]. So, K[x, y] is integrally closed and {1, y} is its basis. Example Let F/K(x) be defined as in the previous example. We will compute the integral closure of V∞ . As it is mentioned in 5.7 we begin from basis n y o {w1 , w2 } = 1, Cf x of V∞ [y] where Cf is equal to 2. The procedure is analogue to the first example. We have that Tr(w2 ) Tr(w w ) 1 2 1 disc(w1 , w2 ) = 2 Tr(w1 w2 ) Tr(w2 ) Tr( 1 ) Tr( y ) 4 4 x x = 2 Tr( xy4 ) Tr( xy4 ) where Tr = TrF/K(x) . By computing the elements of the above determinant we get that  Tr

1 x4

 = 2, Tr

 2 y y 2x3 + 2 = 0 and Tr = . x4 x4 x4

70 | Computing Integral Bases

Hence, we obtain that  y  4x3 + 4 . disc 1, 2 = x x4 Next we compute the radical of discriminants ideal. The element (4x3 + 4)/x4 of V∞ is irreducible and therefore we set q=

4x3 + 4 . x4

Next, we define    T= 

2 0 2x3 +2 x4

0 By V∞ -unimodular transformations we get  1   0 T=  0 0



0 3

2x +2 x4

0 2x3 +2 x4

0

  . 



3

x +1 x4

0 0

   

and the inverse matrix of 2 × 2 submatrix of T is " # 1 0 −1 ˜ = T . 4 0 x3x+1 So, the basis of discriminants radical is {u1 , u2 }, where u1 = 1 · w1 + 0 · w2 = 1 · 1 = 1 4 4 u2 = 0 · w1 + x3x+1 · w2 = x3x+1 · xy2 =

x2 y

.

In the third step we compute the idealizer of the discriminants ideal radical. Initially we need to compute the matrices A s = (a ij )s by solving the systems ( Σs =

u s · 1 = a11 u1 + a12 u2 u s · y = a21 u1 + a22 u2

where a ij ∈ V∞ and s = 1, 2. For s = 1 we get that a11 = 1, a12 = 0, a21 = 0, a22 = y2 /x4 . Thus, " # 1 0 A1 = . 2 0 xy4 Similarly, for s = 2 we get that a11 = 0, a12 = 1, a21 = 1, a22 = 0. Thus, " # 0 1 A2 = . 1 0

Examples

| 71

Thus, we define  " A=

A1 A2

#

1

0



2

  0 =  0 1

y x4

  . 1  0

By V∞ -unimodular transformations we transform A into the upper triangular matrix   1 0  0 1    A= .  0 0  0 0 ˜ is the Hence, as in the previous example, the inverse matrix of the 2 × 2 submatrix A identity matrix and therefore the basis of the idealizer of discriminants radical is the same with the basis of V∞ [y]. So, V∞ [y] is integrally closed and {1, y/x2 } is its basis.

Example Next we will compute an inverse ideal. Let V be as in the previous example and let I be an ideal of V∞ [y] and  3 4 y y , {u1 , u2 } = x6 x8 is a basis of I. From the previous example we have shown that n yo {v1 , v2 } = 1, 2 x is a basis of V∞ [y]. Let ( Σs =

u s · v1 = a11 v1 + a12 v2 u s · v2 = a21 v1 + a22 v2

be two systems, where a ij ∈ V∞ and s = 1, 2. For s = 1 we get # " # " 2 a11 a12 0 xy4 A1 = = y4 a21 a22 0 8 x

and for s = 2 we get " A2 =

a11 a21

a12 a22

#

" =

0

Next, we define " A=

y4 x8

A1 A2

#

0 y4 x8

# .

72 | Computing Integral Bases

and by suitable V∞ -unimodular transformations we obtain 

0

 y4  A =  x8  0 0 ˜ is The inverse matrix of the 2 × 2 submatrix A " 0 ˜ −1 = A 8 x y4

y2 x4



 0  . 0  0

x4 y2

# .

0

Thus, the basis of I −1 is {u01 , u02 }, where u01 = 0 · v1 + u02 =

x4 y2

x8 y4

· v2 =

· v1 + 0 · v2 =

x8 y4 x4 y2

·

y x2

=

·1=

x6 y3 x4 y2

6 Computing Riemann-Roch Spaces In this chapter we introduce Hess’ algorithm (Hess, 2002) for computing RiemannRoch spaces. During the chapter F/K(x) should be considered as a function field, x is transcendental over K and F/K(x) is an extension of degree n.

6.1 Reduced Basis Algorithms In this first section we present two algorithms very similar to Paulus (Paulus, 1998) algorithms that diagonalize a matrix. Paulus algorithms are adapted in such a way that they can be used for computing Riemann-Roch spaces. Let A = (a ij ) be a n × n K(x)-matrix with det(A) ≠ 0. The following algorithm transforms matrix A by applying K[x]-unimodular column transformations to A0 such that n X deg(det(A0 )) = |a j |, j=1

where |a j | = max{deg(a1j ), . . . , deg(a nj )}

is the degree of the j-th column. The polynomials a1j , . . . , a nj of the j-th column that are of degree |a j |, are called leading polynomials. Reduced Basis Algorithm Input: Matrix A = (a ij ) = (h ij /g ij ) with det(A) ≠ 0 and h ij , g ij ∈ K[x]. Output: Matrix A0 such that deg(det(A0 )) =

n X

|a j |,

j=1

where |a1 | ≤ · · · ≤ |a n |, and B2 K[x]-unimodular matrix such that AB2 = A0 . Step 1: Compute the least common multiple d of g ij . Set a ij = (d · h ij )/g ij , then A = 0 1 0 d A , where A is a matrix with elements from K[x]. If deg(det(A0 )) =

n X

|a j |

j=1

then go to step 4, otherwise continue to step 2. Step 2: Count the leading polynomials in the first row. If the first row has at least two leading polynomials then go to step 3. If the first row has one or no leading polynomials then we count the leading polynomials of the second row in the columns © 2014 Paraskevas Alvanos This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License.

74 | Computing Riemann-Roch Spaces

that there is no leading polynomial from the first row. If the leading polynomials are at least two then we go to step 3. If the second row has one or no leading polynomials then we count the leading polynomials of the third row in the columns where there are no leading polynomials from the first and the second row. Continue this procedure until the n-th row. If the n-th row has one leading polynomial go to step 4, otherwise go to step 3. Step 3: Let a i1 , . . . , a im be the leading polynomials of the i-th row that belong to columns without leading polynomials in the rows above the i-th row. Let a i1 ≤ . . . ≤ a im , without loss of generality, where 2 ≤ m ≤ n and a ij = k i|a j | x|a j | + · · · + k i1 x + k i0 for j = 1, . . . , m. Subtract k i|a j | |a j |−|a1 | x − times k i|a1 | column 1 from columns 2, 3, . . . , m. Go to step 2. Step 4: Permute the columns such that |a1 | ≤ · · · ≤ |a n |. d Step 5: Multiply matrix by xdeg d Proof of correctness. Let A0 = (a ij ) be an n × n matrix. The algorithm of reduced basis gradually diminishes the degree of columns until the sum of the degrees of the columns is equal to the degree of the determinant. More precisely, the algorithm is attempts to create a leading polynomial in the first row. The second row must also have a leading polynomial in a column other than the column of the leading coefficient of the first row. In the third row there must be a leading polynomial in a column different than the columns of the leading coefficient of the first and the second row and so on. This form of the matrix is the desirable form since if X det A0 = ϵ(σ)a1,σ1 · · · a n,σ n σ∈S n

where ϵ(σ) = ±1, there is σ ∈ S n such that for every τ ≠ σ we have that deg(ϵ(σ)a1,σ1 · · · a n,σ n ) ≥ deg(ϵ(τ)a1,τ1 · · · a n,τ n ). More precisely, in the first step we compute the least common divisor of the denominators in order to avoid computations with fractions. Then, we do computation only with leading polynomials. Let A be the matrix   .. .. .. .. ..  . . . . .   . . .   .   . f r .. f s ..  .   .. .. .. .. .. . . . . .

Reduced Basis Algorithms | 75

Suppose that we apply step 3 to columns above where without loss of generality fr

=

x r + · · · + a0

fs

=

x s + · · · + b0

and s ≤ r. According to the algorithm we subtract x r−s times the s-th column from r-th column. Obviously, the degree of the column after subtraction will be the same or less. Thus, a new leading polynomial will appear in the same entry with f r or in an entry above f r or in an entry below f r or a combination of those three cases. An example of the Reduced Basis Algorithm follows. For convenience, during the example the leading polynomials are underlined. Example Let

   A= 

x3 x2 x2 x4 + 1

x x x+1 x2 + 1

x2 2 x −1 x2 x3

x x2 0 x+1

   . 

be a matrix over Q. By 1, 2, 3 and 4 we denote the first, second, third and forth column respectively. Obviously, d = 1 and after some elementary computation we get that det A = −2x6 + x5 + x4 + 2x3 − x2 − x and 4 X

|a j | = 11 ≠ 6 = deg(det A).

j=1

Thus, we continue to the second step. In the first row there are no leading polynomials. In the second row there is only one and in the third there are none. In the fourth row there are three leading polynomials and therefore we continue to step 3. The leading coefficient with the least degree is in the second column. Therefore, consider:   0 x 0 x  −x3 + x2 x −1 x2  step 3 for i=4   A −−−−−− −−−−−−−→  . 1→1−x2 ·2, 3→3−x·2  −x3 x + 1 −x 0  −x2 + 1 x2 + 1 −x x + 1 We return to step 2 and we apply step 3 for the third row.  x2 x 0 x  x2 x −1 x2 step 3 for i=2  − −−−−− → 1→1+x·4  −x 3 x + 1 −x 0 x + 1 x2 + 1 −x x + 1

   . 

76 | Computing Riemann-Roch Spaces

The row with more then one leading coefficients is the third, so   x2 x 0 x  2x2 x −1 x2  step 3 for i=3   −−−−−−→  . 1→1−x2 ·3  0 x + 1 −x 0  x3 + x + 1 x2 + 1 −x x + 1 We continue the same way 0 x2 −x2 − x 1

x x x+1 x2 + 1

0 −1 −x −x

x x2 0 x+1



−x  0 step 3 for i=2 −−−−→  1→1−4  −x 2 − x −x  −x  0 step 3 for i=3  − −−−−− → 1→1−x·3  −x x2 − x  −x  0 step 3 for i=3  − −−−−− → 1→1−x·3  −x x2 − x  −2x  −x step 3 for i=3 −−−−→  1→1−2  −2x − 1 −x − 1

x x x+1 x2 + 1

0 −1 −x −x

x x2 0 x+1



x x x+1 x2 + 1

0 −1 −x −x

x x2 0 x+1



x x x+1 x2 + 1

0 −1 −x −x

x x2 0 x+1



x x x+1 x2 + 1

0 −1 −x −x

x x2 0 x+1



 step 3 for i=4

  

− −−−−− → 1→1−x·2



   

   

   

   

   

Now, 4 X

|a j | = |a1 | + |a2 | + |a3 | + |a4 | = 1 + 2 + 1 + 2 = 6,

j=1

and therefore we continue to step 4 and permute the second with the third column and to obtain   0 x x −2x  −x −1 x x2  step 4   −−−→  . 2↔3  −2x − 1 −x x + 1 0  −x − 1 −x x2 + 1 x + 1 Since d = 1 we have that output.

d xdeg d

= 1 and therefore the above matrix is our algorithm’s

Reduced Basis Algorithms | 77

The next algorithm is the natural continuation of Reduced Basis Algorithm since it diagonalizes its output. Diagonalization Algorithm P Input: Matrix A = (a ij ) where a ij ∈ K[x] and deg(det A) = nj=1 |a j | with |a1 | ≤ · · · ≤ |a n |. Output: Matrix A0 of the form (x−d i δ ij ), where d n ≤ · · · ≤ d1 rational integers and B1 a V∞ -unimodular matrix such that B1 A = A0 . Step 1a: Permute the rows of A in order to get the matrix   0 a11 a012 · · · a01n   a0 0 0  21 a22 · · · a2n     ··· ··· ··· ···  0 0 0 a n1 a n2 · · · a nn where deg a0i1 ≤ deg a011 for all i =|a2, . . . , n (therefore a011 is a leading polynomial). x 1| Step 1b: Multiply the first row by a11 where |a01 | = deg a011 . Hence, we obtain the matrix  |a |  x 1 a0012 · · · a001n  a0  0 0  21 a12 · · · a2n     ··· ··· ··· ···  a0n1 a0n2 · · · a0nn where a001i =

a01i ·x|a1 | . a011

a0

Step 1c: Subtract the first row from rows 2, . . . , n by x|ai11 | times. Thus we get the matrix   |a | x 1 a0012 · · · a001n  0 a0022 · · · a002n    .   ··· ··· ··· ···  0 a00n2 · · · a00nn Step 2: Permute the rows 2, . . . , n of matrix such that the entry in the second row and second column is a leading polynomial (similar to step 1a). Next, multiply the second row in order to get x|a2 | in the entry (2, 2) and finally we subtract the second row from the others in order to zero the second column. Repeat the same procedure until the n-th row. The matrix that results will have the form  |a |  x 1 0 ··· 0  0 x |a2 | · · · 0     .  ··· ··· ··· ···  0 0 · · · x |a n | Step 3: Set −d i = |a i |.

78 | Computing Riemann-Roch Spaces

Proof of correctness. Initially we will show that we can always find a leading polynomial. Obviously in step 1a we can find a leading polynomial. Let  |a |  x 1 a0012 · · · a001n  0 a0022 · · · a002n       ··· ··· ··· ···  0 a00n2 · · · a00nn be the matrix after step 1c. Suppose that there in no leading polynomials among a0022 , . . . , a00n2 . Then, a0012 must be a leading polynomial which implies that deg a0012 > ˜ where deg a00i2 for i = 2, . . . , n. The determinant of A is equal to x|a1 | A   a0022 · · · a002n  ˜ = A  ··· ··· ··· . a00n2 · · · a00nn Hence, the degree of the determinant of A is equal to ˜ |a1 | + deg(det A). ˜ then If |a0i | is the degree of the i-th column of A, ˜ ≤ |a1 | + |a02 | + · · · + |a0n |. deg(det A) = |a1 | + deg(det A) Since we assumed that deg a0012 > deg a00i2 it follows that deg(det A) ≤ |a1 | + |a02 | + · · · + |a0n | < |a1 | + |a2 | + · · · + |a n | =

n X

|a j |

j=1

which is a contradiction. Thus, there will always be a leading polynomial. Obviously, all the transformations among rows are V∞ -unimodular. Every transformation of the rows corresponds to a multiplication of A by a matrix from the left. The product of all those matrices that correspond to the transformations is the matrix B1 such that B1 A = (x−d i δ ij ) where d n ≤ · · · ≤ d1 . An example of the Diagonalization Algorithm follows. Example We will apply the Diagonalization Algorithm to the matrix   x2 x2 1   A = (a ij ) =  x x + 1 x3 + 1  0 x2 + 1 x over Q(x) with determinant det A = −x7 − x5 − x4 + 2x3 − x2 + x.

The Dimension of L(D) | 79

Obviously, deg(det A) =

n X

|a j | = 7.

j=1

By 1, 2 and 3 we denote the first, second and third row respectively. Following the steps of the algorithm we have     x2 x2 1 x2 x2 1 step 1c   step 2a   x A −−−−−1−→  0 1 x3 + 1 − 1x  −−−→  0 x2 + 1  3↔2 4 2→2− x ·1 x +x−1 0 x2 + 1 x 0 1 x 



x2   0 0

 x2 x2 1 3 step 2b step 2c   x −−−−−−→  0 x2 −−−−−−−−−−−−→ x2 +1  1 2 4 3 ↔ 3− ·2, 1↔1−2 2→ 2x ·2 x2 x +1 0 1 x +x−1 x   −x3 +x2 +1 x2 0 x2 +1 step 3b   x3 −−−−−− →  0 x2  −−−−−−− x2 +1 x3 (x3 +x) 6 4 3 2 3 → x +x +x −2x +x−1 6 +x4 +x3 −2x2 +x−1 ·3 x 0 0 x3 +x   3 2 +1 0 −xx+x x2 0 2 +1 step 3c   2 x3 −−−→  0 x2  −−−−−−−−−−−−−−− x x2 +1 1 −x3 +x2 +1 2 ↔ 2− ·3, 1 ↔ 1− ·3 x2 +1 x2 +1 0 0 0 x3

 0  0 . 3 x

Therefore, d1 = −2, d2 = −2 and d3 = −3. In both of the examples of this section we applied the algorithms for K = Q. That was only for convenience since integral elements of arbitrary fields might have denominators.

6.2 The Dimension of L(D) This section consists of the Hess’ main theorem (Hess, 2002) for computing RiemannRoch spaces. Lemma 6.2.1. Let A = (a ij ) be a n × n matrix with a ij ∈ K(x) and det(A) ≠ 0. There exists B1 V∞ -unimodular and B2 K[x]-unimodular matrices and uniquely determined d1 , . . . , d n ∈ Z such that d n ≤ · · · ≤ d1 and  −d  x 1 0 ··· 0  0 x−d2 · · · 0    B1 AB2 =  .  ··· ··· ··· ···  0 0 · · · x−d n

80 | Computing Riemann-Roch Spaces

Proof. According to reduced basis algorithm we can bring A = (a ij ) by applying K[x]unimodular column transformations to the matrix A0 such that n X

|a j | = deg(det A0 ),

j=1

where |a1 | ≤ · · · ≤ |a n | and |a j | = max{deg(a1j ), . . . , deg(a nj )}

is the degree of the j-th column. The product of the matrices of the K[x]-unimodular transformations composes of the matrix B2 . Next, by applying V∞ -unimodular transformations to the rows of A (diagonalization algorithm) we obtain the diagonal matrix A00 = (x−d j δ ij ) where d n ≤ · · · ≤ d1 and δ ij is the Kronecker’s symbol. The product of the matrices of the V∞ -unimodular transformations composes of the matrix B1 . The uniqueness of d j come out clearly from the algorithms. Lemma 6.2.2. Let M be a free K[x]-module of rank n and N be a free V∞ -module of rank n of the n-th dimension vector space F over K(x). There are bases {v1 , . . . , v n } of M and {u1 , . . . , u n } of N and a uniquely determined n × n matrix A such that [v1 , . . . , v n ]A = [u1 , . . . , u n ] where A = (x−d j δ ij ) and d1 , . . . , d n ∈ Z such that d n ≤ · · · ≤ d1 . Proof. Let {v01 , . . . , v0n } and {u01 , . . . , u0n } be bases of M and N, respectively. There is a n × n K(x)-transformation matrix B such that [v01 , . . . , v0n ]B = [u01 , . . . , u0n ]. According to 6.2.1 there exists a uniquely determined matrix A = B1 BB2 of the desired form. Since, B1 and B2 are V∞ -unimodular and K[x]-unimodular transformations respectively, the product [v01 , . . . , v0n ]B1 gives us a basis of M (that is {v1 , . . . , v n }) and [u01 , . . . , u0n ]B−1 2 gives us a basis of N (that is { u 1 , . . . , u n }). The main theorem of Hess (Hess, 2002) concerning the bases of Riemann-Roch spaces follows. Theorem 6.2.3 (Hess’ Main Theorem). For every divisor D of DF there are uniquely determined rational integers d1 , . . . , d n with d n ≤ · · · ≤ d1 and K(x)-linearly independent elements u1 , . . . , u n of F such that the set {x j u i | ∀i ∈ {1, . . . , n}, 0 ≤ j ≤ d i + r}

is a K-basis of the Riemann-Roch space L(D + r(x)∞ ) for all r ∈ Z.

Computing L(D) |

81

Proof. Theorem 5.1 (Hess, 2002)

Since d1 , . . . , d n of the previous theorem are unique, the next definition follows. Definition Let D be a divisor, (D Σ , D Σ ) its ideal representation and (x−d i δ ij ), where d n ≤ · · · ≤ d1 , the transformation matrix between the bases of (D Σ )−1 and (D Σ )−1 . The elements d1 , . . . , d n are called K[x]-invariants.

6.3 Computing L(D) In this section we present Hess’ algorithm (Hess, 2002) for computing a K-basis of L(D) for a given divisor D. Hess’ Algorithm Input: Divisor D. Output: A K-basis of L(D). 000 Σ Step 1: By Trager’s algorithm we compute a K[x]-basis {u000 1 , . . . , u n } of V and a V ∞ 000 000 basis {v1 , . . . , v n } of V Σ . Step 2: By propositions 5.2.1 and 5.2.2 we compute a K[x]-basis {u001 , . . . , u00n } of D Σ and a V∞ -basis {v001 , . . . , v00n } of D Σ . Step 3: By inverse ideal algorithm we compute a K[x]-basis {u01 , . . . , u0n } of (D Σ )−1 and a V∞ -basis {v01 , . . . , v0n } of (D Σ )−1 . Step 4: By Appendix A.1 we compute the transformation n × n matrix A such that [v01 , . . . , v0n ]A = [u01 , . . . , u0n ]. Step 5: By the reduced basis algorithm we compute a K[x]-unimodular matrix B2 and the basis [u1 , . . . , u n ] = [u01 , . . . , u0n ]B2 . Step 6: By the diagonalization algorithm we compute the K(x)-invariants d1 , . . . , d n . Step 7: By theorem 6.2.3 we compute the basis of L(D). Next, we fully analyse Hess’ example from his work (Hess, 2002) using our algorithms from the previous chapters. Example Let F/K(x) be a function field, where K = Q, f (x, y) = y2 − x3 − 1. Let P∞ be the infinite place of PK(x) and P p(x) the place of PK(x) , where p(x) = x − 2. We can determine the places of PF that are extensions of P∞ and P p(x) by Kummer’s theorem. According to Kummer’s corollary (3.2.1) for a = 2 we have f2 (y) = y2 − 9 = (y − 3)(y + 3).

82 | Computing Riemann-Roch Spaces

Thus, there are two places P1 and P2 of PF over P p(x) of PK(x) of degree 1. The ideals that correspond to the places P1 and P2 are p1 = (x − 2)V Σ + (y − 3)V Σ and p2 = (x − 2)V Σ + (y + 3)V Σ . In order to determine the places over P∞ , i.e. the place that is generated by 1/x we use 0 again Kummer’s corollary. Hence, we have that f∞ = y2 , which means that there is one place of PF over the P∞ of PK(x) that it is generated by y/x2 , of degree 1. We will denote this place Q∞ and the ideal that corresponds to it by q = xy2 V Σ . Following Hess’ algorithm we will compute a K-basis of L(D), where D = 3Q∞ −P1 . According to Hess’ theorem we have that L(D) = p1 ∩ q−3 . In the first step we need to compute the bases of V Σ and V Σ , respectively. This has been done in section 5.8 and it was shown that the bases of V Σ and V Σ are {1, y} and {1, y/x2 },

respectively. In the second step we compute bases for p1 and q−3 . By definition of p1 {x − 2, y − 3}

is a K[x]-basis of p1 and since q is generated by y/x2 it implies that  y 2 n y o 1, 2 x2 x is a basis of q3 . In the next step we have to compute the inverse ideal of q3 . We have already found in 5.2 that the set  3n x yo 1, 2 y x is a basis of q−3 . In the fourth step we compute as in the appendix A.1 a 2 × 2 K(x)-transformation matrix A from the basis of p1 to the basis of q−3 . It holds that !  3  x3 +1 x 0 3 x ,x . (x − 2, y − 3) = x−2 y − 3x x In the fifth step in order to compute B2 we compute the degree of determinant of A. By elementary computation we deduce that deg(det A) = 0 and B2 is the identity matrix. Therefore the basis remains the same (i.e. {x − 2, x − 3}). Finally, by the diagonalization algorithm we find that d1 = d2 = 0 and therefore we output the basis of L(D) which is {x − 2, x − 3}.

Computing L(D) |

83

By using the results from the above example we can easily compute the cases presented in the next table. In order to compute the bases we use Hess’ basic theorem 6.2.3. D P∞ − P1 P∞ − P1 3P∞ − P1

4P∞ − P1

Transformation Matrix  2  0 (x − 2, y − 3) = xy , 1 x−2  4 2 x−2 x x x (x − 2, y − 3) = y2 , y 0  3  0 (x − 2, y − 3) = xy , x x2 ,

(x − 2, y − 3) =

y

−3

x

(1, y) =

P∞

2P∞

(1, y) =



x2 y

4

x y2



,1 2

,

x y



0

x3 +1 x2

1

0

x3 +1 x4

3P∞

(1, y) =

x6 y3

,

x4 y2

!

1 !

!

0 3

0 



!

x3 +1 x3 − 3x − x32

0 

!

−3

x−2 x x−2 x2



!

x3 +1 x2

0

 

x3 +1 x4

x +1 x2 (x3 +1)2 x6

 

0

The transformation matrix of the first row is computed in the Appendix A.1. All transformation matrices are computed in the same way. D

dim D

k(x)-invariants

Basis

P∞ − P1

0

d1 = −1, d2 = −1



P∞ − P1

1

d1 = 0, d2 = −1

{(x − 2)}

3P∞ − P1

2

d1 = 0, d2 = 0

{(x − 2), (y − 3)}

4P∞ − P1

3

d1 = 1, d2 = 0

{(x − 2), x(x − 2), (y − 3)}

P∞

1

d1 = 0, d2 = −1

{1}

2P∞

2

d1 = 1, d2 = −1

{1, x}

3P∞

3

d1 = 1, d2 = 0

{1, x, y}

Next we provide a simplified version of Hess’ algorithm for rational function fields. Hess’ Algorithm for Rational Function Fields Input: Divisor D = n1 P1 + · · · + n r P r + nP∞ , where n i ∈ Z and P i places of PK(x) generated by p i ∈ K[x]. Output: A K-basis of L(D). Step 1: Determine {1} as a K[x]-basis of V Σ and {1} as a V∞ -basis of V Σ . Step 2: Determine {p1n1 · · · p nr r } as a K[x]-basis of D Σ and {x−n } as a V∞ -basis of D Σ . −n r Σ −1 1 Step 3: Determine {p−n and {x n } as a V∞ -basis of 1 · · · p r } as a K[x]-basis (D ) −1 (D Σ ) .

84 | Computing Riemann-Roch Spaces Step 4: Determine the 1 × 1 matrix A = [a] where −n r 1 a = x−n p−n 1 · · · pr

as the transformation matrix from K[x]-basis of (D Σ )−1 to the V∞ -basis of (D Σ )−1 . Step 5: Compute d = n + n1 deg p1 + · · · + n r deg p r . Step 6: If d < 0 then L(D) = ∅, otherwise the set  −n −n1 x p1 | 0 ≤ i ≤ d is the basis of L(D). Thus, the time that Hess’ algorithm for rational function fields need to compute a basis is the same as the time it needs to compute d. Now let K(x)/K be a rational function field, P∞ the place at infinity and P1 , P2 , P3 and P4 the places that are generated by x, x + 1, x + 3 and x + 4 respectively. In the table below, we compute the basis of L(D) by using Hess’ algorithm for rational function fields. The examples of this table are the same or similar examples to the book of Joyner, Kreminski, Turisco (Joyner et al., 2004). The authors use the algebraic computational program MAGMA http://magma.maths.usyd.edu.au/magma/ to compute the bases while we compute them directly from Hess’ algorithm for rational function fields. D

Basis of L(D)

2P∞ − 2P3

(x + 3)2

P∞ − 2P3



2P∞ − 2P1

x2

3P∞ − 2P1

x2 , x3

3P∞ − 2P2

(x + 1)2 , x(x + 1)2

6P1 − 2P2 − 3P3

x−5 (x + 1)2 (x + 3)3 , x−6 (x + 1)2 (x + 3)3 x−5 (x + 1)2 (x + 3)3 x−6 (x + 1)2 (x + 3)3 x−7 (x + 1)2 (x + 3)3

7P1 − 2P2 − 3P3 −2P∞ + P1 + 2P2 − 3P3



−2P∞ + 2P1 + 2P2 − 3P3

x−2 (x + 1)−2 (x + 3)3

−2P∞ + 3P1 + 2P2 − 3P3

x−2 (x + 1)−2 (x + 3)3 , x−1 (x + 1)−2 (x + 3)3 x−1 (x + 1)2 (x + 3)−3 , (x + 1)2 (x + 3)−3 , x(x + 1)2 (x + 3)−3

P1 − 2P2 + 3P3 −P1 + 2P2 − 3P3

3P∞ − 2P2 − 2P3 + 3P4

4P∞ − 2P2 − 2P3 + 3P4

∅ (x + 1)2 (x + 3)2 (x + 4)−3 , x(x + 1)2 (x + 3)2 (x + 4)−3 , x2 (x + 1)2 (x + 3)2 (x + 4)−3 (x + 1)2 (x + 3)2 (x + 4)−3 , x(x + 1)2 (x + 3)2 (x + 4)−3 , x2 (x + 1)2 (x + 3)2 (x + 4)−3 , x3 (x + 1)2 (x + 3)2 (x + 4)−3

7 Computing Resultant and Norm Form Equations A very useful tool for diophantine equations, number theory, computer algebra and algebraic geometry is the resultant. The resultant allows us to identify common factors between multivariable polynomials and common roots between univariate polynomials. Let K be a number field of degree m and L a finite field extension of K of degree n. Let O L and O K denote the rings of integers of L and K, respectively and {a1 , . . . , a n } be an integral basis of L over K. In this chapter, besides the resultant we compute the elements x1 , . . . , x n ∈ O K such that N L/K (x1 a1 + · · · + x n a n ) = k. √

In the case where n = 2, a1 = 1 and a2 = d, and d is a non-square element of Z, the above equation turns to be the well known generalized Pell equation x2 − dy2 = k, where k is a non-zero integer. In case k = 1 we have the so called classical Pell equation. Finding integral solutions of the Pell equation is one of the oldest problems in number theory. Methods for solving the classical Pell equation over Z can be found in (Barbeau, 2003; Lenstra, 2002; Williams, 2002; Buchmann and Williams, 1998; Buchmann, 1987) while methods for solving the generalized Pell equation over Z can be found in (Matthews, 2000; Mollin, 1998, 2001). Dirichlet (Dirichlet, 1842) was the first who studied the classical Pell equation over a field other than Z. More precisely, he found the solutions of Pell equation over Z[i]. Solutions of the generalized Pell equation over a ring of integers of an arbitrary quadratic field have been given in (Niven, 1942, 1943; Fjellstedt, 1953; Skolem, 1945; Val´fiš, 1951). Some of the applications of Pell equation are the construction of pseudorandom number generators (Huber, 1994), and the construction of suitable elliptic curves for cryptographic applications (Cohen and Frey, 2006).

7.1 Resultant In this first section we present the resultant of univariate and multivariate polynomials. Definition Let f (x) = f n x n + · · · + f1 x + f0 and g(x) = g m x m + · · · + g1 x + g0 © 2014 Paraskevas Alvanos This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License.

86 | Computing Resultant and Norm Form Equations

be two polynomials over K. The determinant f0 f1 · · · f n−1 0 f0 · · · f n−2 ··· ··· ··· ··· 0 0 ··· f0 Res(f , g) = g g · · · g 0 1 m−1 0 g0 · · · g m−2 ··· ··· ··· ··· 0 0 ··· g0

fn f n−1 ··· f1 gm g m−1 ··· g1

0 fn ··· f2 0 gm ··· g2

··· ··· ··· ··· ··· ··· ··· ···

f n 0 0 gm 0 0

is called resultant of f and g. To clarify, the matrix above consists of m + n rows and columns and g0 is in the (m + 1)-th row. For example consider two polynomials over Q: f (x)

=

x2 + 1

g(x)

=

x3 − 2x + 1.

The resultant of f and g is Res(f , g) =

1 0 0 1 0

0 1 0 0 1

1 0 1 −2 0

0 1 0 1 −2

0 0 1 0 1

= 10

The following two propositions provide us with the necessary and sufficient conditions in order for two polynomials to have a non constant common factor. Proposition 7.1.1. Two polynomials f (x), g(x) of K[x] have non-constant common factor if and only if there are s(x), t(x) in K[x] with deg s(x) < deg f (x) and deg t(x) < deg g(x) such that f (x)t(x) = g(x)s(x). Proof. Suppose that f (x), g(x) have a non-constant common factor. Then, there is an h(x) ∈ K[x] such that f (x) = h(x)s(x) and g(x) = h(x)t(x). Thus f (x)t(x) = h(x)s(x)t(x) = g(x)s(x). Clearly, deg s(x) < deg f (x) and deg t(x) < deg g(x). Conversely, suppose that there are s(x), t(x) with deg s(x) < deg f (x) and deg t(x) < deg g(x) such that f (x)t(x) = g(x)s(x). Since K[x] is a unique factorization domain the irreducible factors of f (x)t(x) are equal to the irreducible factors of g(x)s(x) up to units. Since deg s(x) < deg f (x) this means that at least one non-constant irreducible factor of f (x) is equal to an irreducible factor of g(x) up to a unit of K.

Resultant |

87

Proposition 7.1.2. For any two polynomials f (x), g(x) of K[x] there are s(x), t(x) in K[x] with deg s(x) < deg f (x) and deg t(x) < deg g(x) such that f (x)t(x) = g(x)s(x) if and only if Res(f , g) = 0 Proof. Let f (x) = f n x n + · · · + f1 x + f0 , g(x) = g m x m + · · · + g1 x + g0 and s(x) = s n x n−1 + · · · + s2 x + s1 , t(x) = t m x m−1 + · · · + t2 x + t1 be polynomials of K[x] such that f (x)t(x) = g(x)s(x). By multiplying the above polynomials we can see that f0 t1

=

g0 s1

f1 t1 + f0 t2

= .. .

g1 s1 + g0 s2

fn tm

=

gm sn

Setting t1 , . . . , t m , s1 , . . . , s n as variables in the above equations, the system has nontrivial solutions if and only if the determinant of the matrix of variables coefficients is equal to zero. The determinant of the above system is equal to Res(f , g). Therefore f (x)t(x) = g(x)s(x) if and only if Res(f , g) = 0. The corollary that follows is an immediate consequence of the two last propositions. Corollary 7.1.3. Two polynomials f (x), g(x) over K[x] have non-constant common factor if and only if Res(f , g) = 0. In case where the polynomials are homogeneous and multivariate we can apply the resultant to any of their variables. Proposition 7.1.4. Let f (x1 , . . . , x r ), g(x1 , . . . , x r ) be two homogeneous polynomials of K[x1 , . . . , x r ]. Then, Res(f , g) is equal to zero or Res(f , g) is a homogeneous polynomial of degree deg f · deg g. Proof. Let f (x1 , . . . , x r ) = f n + f n−1 x r + · · · + f0 x nr and g(x1 , . . . , x r ) = g m + g m−1 x r + · · · + g0 x m r

88 | Computing Resultant and Norm Form Equations

where f0 g0 ≠ 0. Since f , g are homogeneous, the polynomials f i and g i are also homogeneous of i-th degree or they are equal to zero. By changing coordinates from x i to tx i we have that n t fn t n−1 f n−1 ··· f0 0 · · · 0 tn fn t n−1 f n−1 · · · f0 · · · ··· ··· ··· · · · · · · · · · Res(tx1 , . . . , tx r−1 ) = m m−1 t gm t g m−1 ··· g0 0 ··· 0 tm gm t m−1 g m−1 · · · g0 · · · ··· ··· ··· ··· ··· ··· If one multiplies the rows of the above determinant by t m , t m−1 , . . . , t, t n , t n−1 , . . . , t respectively, then one has multiplied Res(tx1 , . . . , tx r−1 ) by t µ where µ=

n m (m + 1) + (n + 1). 2 2

After this multiplication, the above determinant takes the form fn t n+m−1 f n−1 ··· f0 0 n+m−1 n+m−2 0 t fn t f n−1 · · · f0 ··· ··· ··· ··· ··· n+m t g m t n+m−1 g m−1 ··· g0 0 n+m−1 n+m−2 0 t g t g · · · g m m−1 0 ··· ··· ··· ··· ···

··· ··· ··· ··· ··· ···



where obviously each column has the same degree. Thus, the above determinant is equal to fn f n−1 ··· f0 0 · · · 0 fn f n−1 · · · f0 · · · ··· ··· · · · · · · · · · · · · t n+m · t n+m−1 · · · t2 · t = g m g m−1 ··· g0 0 ··· 0 gm g m−1 · · · g0 · · · ··· ··· ··· ··· ··· ··· which implies t ν Res(x1 , . . . , x r−1 ) where ν=

m+n (m + n + 1). 2

Thus, we have that t µ Res(tx1 , . . . , tx r−1 ) = t ν Res(x1 , . . . , x r−1 ) which implies that Res(tx1 , . . . , tx r−1 ) = t mn Res(x1 , . . . , x r−1 ).

Resultant |

89

Therefore, Res(f , g) if is not equal to 0, and is a homogeneous polynomial of degree deg f · deg g = mn. The computation of the resultant of two multivariate polynomials f and g is often called elimination of x. For example, if f (x, y, z) = x2 + yz and g(x, y, z) = 2x + z are two homogeneous polynomials of Q[x, y, z] the resultant of f and g on x is 1 0 yz Resx (f , g) = 2 z 0 = z2 − 4yz 0 2 z which as expected, was of degree is deg f · deg g = 2. Next, we will describe an algorithm that uses the resultant and for which a given f ∈ M[x, y] (M[x, y] is the function field defined by F[x, y]) computes c, d ∈ O M such that cf and d/f are integral elements over O M [x]. Denominators Algorithm Input: a(x, y), b(x, y) ∈ M[x, y] such that f = a(x, y)/b(x, y). Output: c, d ∈ O M such that cf and d/f are integral elements over O M [x]. Step 1: Compute the resultant R y (G, F) on y of G(x, y, t) = b(x, y)t − a(x, y) and F(x, y). Step 2: Factorize R y (G, F) over M(x, y). Step 3: Determine the irreducible factor R0y (G, F) of R y (G, F) for which R0x (G, F) = 0. Thus R0y (G, F) = A0 (x)t n + A1 (x)t n−1 + · · · + A n (x), where A0 (x), A n (x) ∈ M and A j (x) ∈ M[x](j = 1, ..., n − 1). Step 4: Compute c, d ∈ O M such that ci

A i (x) ∈ O M [x] A0 (x)

for all i = 1, . . . , n and d n−i

A i (x) ∈ O M [x] A n (x)

for all i = 0, . . . , n − 1. The proof of correctness can be found in (Alvanos and Poulakis, 2011). Since this algorithm is useful for computing integral points on rational curves we won’t present separate examples but they are found in 8.2 and its code is in the Appendix.

90 | Computing Resultant and Norm Form Equations

7.2 Computing N L/K (x1 a1 + · · · + x n a n ) = k In this section we will compute the set of solutions (x1 , . . . , x n ) of the norm form equation N L/K (x1 a1 + · · · + x n a n ) = k, (7.2.1) where {a1 , . . . , a n } is an integral basis of L over K. In order to do so, we initially need to compute the structure of the set of the solutions x1 , . . . , x n ∈ O nK of the equation N L/K (x1 a1 + · · · + x n a n ) = 1.

(7.2.2)

The norm of L over K induces a group epimorphism as follows N : U K [a1 , . . . , a n ]



UK

x1 a1 + · · · + x n a n

7→

N L/K (x1 a1 + · · · + x n a n )

(7.2.3)

Thus, (x1 , . . . , x n ) is a solution of 7.2.2 if and only if x1 a1 + · · · + x n a n ∈ ker N. Since ker N is a unit group, it consists of a free part and a torsion part. Thus in order to compute the solutions of 7.2.2 we need to compute a basis of the free part of ker N and find a generator of the torsion subgroup of ker N. The following proposition which can be found in (Alvanos and Poulakis, 2009), provides us information about the fundamental set of the unit group. Proposition 7.2.1. Let K be a field and L a finite extension of degree n and N : U K [a1 , . . . , a n ]



UK

x1 a1 + · · · + x n a n

7→

N L/K (x1 a1 + · · · + x n a n )

(7.2.4)

an epimorphism between unit groups where {a1 , . . . , a n } is the integral basis of L over K and x i ∈ O K . If F is a fundamental set of units of ker N then the cardinality of F is card F = s1 − r1 + s2 − r2 , where r1 and s1 are the numbers of the real embeddings of K and L respectively and r2 and s2 are the number of conjugated pairs of complex embeddings of K and L respectively. Proof. Since {a1 , . . . , a n } is an integral basis of O L over K and {b1 , . . . , b m } is an integral basis of O K over Q, the set {a i b j | 1 ≤ i ≤ n, 1 ≤ j ≤ m}

is a basis of the subring O K [a1 , . . . , a n ] of L. By lemma ((Schmid, 2006), lemma 1.1) we see that rank U K [a1 , . . . , a n ] = rank U L = s1 + s2 − 1

Computing N L/K (x1 a1 + · · · + x n a n ) = k

| 91

and since N is an epimorphism we know that rank U K [a1 , . . . , a n ] = rank U K + rank(ker N). Since rank U K = r1 + r2 − 1 it follows that card F = rank(ker N) = s1 − r1 + s2 − r2

As was already mentioned, in order to compute 7.2.1 we need initially to compute 7.2.2. Next we present the two algorithms of (Alvanos and Poulakis, 2009) in a more efficient way. Norm Equation Algorithm 1 Input: Fields K and L, where L is an algebraic extension of K. Output: A basis for the solutions of N L/K (ϵ) = 1, where ϵ is a unit of U L . Step 1: Compute an integral basis {a1 , . . . , a n } of L over K. Step 2: Compute a basis {e1 , . . . , e r } of the unit group U K [a1 , . . . , a n ]. Step 3: Compute the elements N i = N L/K (e i ), i = 1, . . . , r. Step 4: Compute a basis {c1 , . . . , c s } of the lattice Λ = {(λ1 , . . . , λ r ) ∈ Zr | N1λ1 · · · N rλ r } where c j = (c j1 , . . . , c jr ), j = 1, . . . , s. Step 5: Compute the elements x i = e1c i1 · · · e cr ir , for i = 1, . . . , s. Step 6: Output the basis {x i } of the set of solutions. All the steps of the norm equation algorithm 1 can be implemented in several computational systems. The computation of the first step can be carried out by Trager’s Algorithm, while steps from 2, 3, 4, 5 and 6 can be carried out by algorithms embedded in KASH http://www.math.tu-berlin.de/~kant/ and MAGMA http://magma.maths.usyd.edu.au/magma/. The third step can also be carried out by GAP and uses the algorithm described in Assmann and Eick. More details about the complexity and implementation of those algorithms can be found in (Pohst, 1993). Next, we present an algorithm for computing the solutions of the equation N L/K (x1 a1 + · · · + x n a n ) = k, where k ∈ Z. Suppose that {s1 , . . . , s r } form a maximal set of pairwise non associate elements of O K [a1 , . . . , a n ] such that N L/K (s i ) = k. If (x1 , . . . , x n ) is a solution of 7.2.1, then there is a unit ϵ = e1 a1 + · · · + e n a n of O K [a1 , . . . , a n ] such that x1 a1 + · · · + x n a n = ϵs i

92 | Computing Resultant and Norm Form Equations where i ∈ {1, . . . , r} and (e1 , . . . , e n ) is a solution of 7.2.2. Norm Equation Algorithm k. Input: Fields K and L, where L is an algebraic extension of K, and a rational integer k. Output: A basis of the solutions x = (x1 , . . . , x n ) of the equation N L/K (x) = k. Step 1: Compute an integral basis {a1 , . . . , a n } of L over K. Step 2: Compute a maximal set S of O K [a1 , . . . , a n ] with pairwise non associate elements s such that N L/K (s) = k. If a such set does not exist, then the equation has no solutions. Step 3: Compute by Norm Equation Algorithm 1 a set {ϵ1 , . . . , ϵ r } of fundamental solutions and a torsion solution ζ . Step 4: Compute the elements (x1 , . . . , x n ) from the equation x1 a1 + · · · + x n a n = sζ z ϵ1µ1 · · · ϵ µr r where ν and µ i are rational integers. The computation of the maximal set S with pairwise non associate elements can be achieved by the computational systems KASH and MAGMA.

7.3 Examples In this section we present two examples using Norm Equation Algorithm 1 and three examples from (Alvanos and Poulakis, 2009) in full details using Norm Equation Algorithm k and by following the steps as they have been implemented by the computational system MAGMA. √



Example Let K = Q( 3) and L = K( 2). We are going to compute a basis of the group of units ϵ of L with N L/K (ϵ) = 1. √ Initially we compute the integral basis of L over K and we obtain {1, 2}. Next, √ we compute a basis of the unit group U K [ 2] and that is given by: √ √ √ √ √ {e1 , e2 , e3 , e4 } = {−1, 1/2( 3 + 1) 2, 1 − 2, 3 − 2}.

In the third step we compute the images of the above basis: N1

=

N L/K (−1) = −1,

N2

=

N L/K (1/2( 3 + 1) 2) = − 3 − 2,

N3

=

N L/K (− 2 + 1) = −1,

N4

=

N L/K ( 3 −













2) = 1.

Next, we consider the lattice Λ = {(λ1 , λ2 , λ3 , λ4 ) ∈ Z4 | N1λ1 N2λ2 N3λ3 N4λ4 }.

Examples

| 93

The basis of Λ is given by the vectors {(1, 0, 0, 0), (0, 0, 2, 0), (0, 0, 0, 1)}.

Thus, a basis for the free part of ker N is formed by the elements x1

=

e1 = −1,

x2

=

e23 = (1 −

x3

=

e4 =





3−

2)2 ,



2.

Thus, we deduce that the set √ √ √ {−1, −2 2 + 3, 2 − 3}

generates the group of solutions. √

Example Let K = Q(a), where a is a root of the polynomial z3 − z − 2, and L = K( 2). We are going to compute a basis of the group of units ϵ of L with N L/K (ϵ) = 1. √ A basis for the group U K ( 2) is formed by the elements √

=

e1

1−

−3 2

e2

=

e3

=

, √

(−a + a + 1) −3 − a2 − a + 3 , 2 √ a −3 + a + 2 . 2 2

Their images are N1

=

N L/K (e1 ) = 1,

N2

=

N L/K (e2 ) = −a2 + a + 1,

N3

=

N L/K (e3 ) = a2 + a + 1.

We consider the lattice Λ = {(λ1 , λ2 , λ3 ) ∈ Z3 | N1λ1 N2λ2 N3λ3 = 1}. Next, we find that a basis of Λ is {(0, 1, 1), (0, 1, 1)}.

Thus, the set 



1−



−3 (−a2 + 2a − 1) −3 − 3a2 + 5 , 2 2



is a basis of the solution. The three examples from (Alvanos and Poulakis, 2009) in full details using Norm Equation Algorithm k follows.

94 | Computing Resultant and Norm Form Equations Example In this first example we solve the norm form equation N L/K (x) = 16 where K = Q, L = Q(a) and a is a root of the polynomial z4 + 3z2 − 2z − 5. Following the steps of Norm Form Equation Algorithm k we initially compute the integral basis of O L and we find that: {1, a, a2 , a3 }

is an integral basis of L over K. Thus we are going to find (x1 , x2 , x3 , x4 ) for which N L/Q (x1 + x2 a + x3 a2 + x4 a3 ) = 16. The polynomial z4 + 3z2 − 2z − 5 has two real roots and one pair of complex roots. Therefore, by Dirichlet’s unit theorem we know that there are two generators of the free part of the unit group U L . By computation we find that the basis of U K [a] is {e1 , e2 , e3 } = {−1, a + 1, −2a2 + a + 2}.

Next we compute the images of e1 through the norm map N : U K [a] −→ U K where actually U K = UQ = {−1, 1}, and the lattice that they generate. Thus, we find that ker N is generated by {−1, a + 1, −4a3 − 19a2 + 12a + 24}.

Finally, we compute a maximal set of pairwise non associate algebraic elements s of O K [a] with N L/K (s) = 16 and we get S = {2, −a3 − 2a2 + 2a + 3, −12a3 + 7a2 + 13a − 3}. The solutions (x1 , x2 , x3 , x4 ) of the norm form equation are obtained by the equality x1 + x2 a + x3 a2 + x4 a3 = s(−1)ν (a + 1)µ1 (−4a3 − 19a2 + 12a + 24)µ2 , where µ i , ν ∈ Z and s ∈ S. In the next two examples we compute the solutions of two generalized Pell equations. The first is over a quadratic field and the second is over an arbitrary field. Example In this example we compute the solutions of the equation √

x2 − 7y2 = −17 + 4 6 √

over Z[ 6]. That is the norm form equation √



N L/K (x + y 7) = −17 + 4 6

Examples | 95







where K = Q( 6) and L = K( 7). We have that O K = Z[ 6] and the integral basis of √ L over K is {1, 7}. √ By computation, we can show that the unit group U K [ 7] is generated by {e1 , e2 , e3 , e4 } = {−1,







6+



7, 5 − 2 6, 8 + 3 7}.

The images N i = N(e i ) of the above basis under the norm mapping √

N : U K [ 7]

−→

UK ,

x+y 7

7−→

x2 − 7y2



are



N1 = 1, N2 = −1, N3 = 49 − 20 6, N4 = 1. Thus, the basis for the lattice Λ = {(λ1 , λ2 , λ3 , λ4 ) ∈ Z4 | N1λ1 N2λ2 N3λ3 N4λ4 = 1} is {(1, 0, 0, 0), (0, 2, 0, 0), (0, 0, 0, 1)}

and therefore a basis for Ker(N) is √ √ √ {e1 , e22 , e4 } = {−1, 13 + 2 6 7, 8 + 3 7}. √

A maximal set S of pairwise non associate elements s of O K [ 7] such that √ N L/K (s) = −17 + 4 6 is √

S = {1 + 2 6 +

√ √



6 7, 1 + 2 6 −

√ √

6 7}.



Thus, the solutions (x, y) of x2 − 7y2 = −17 + 4 6 are obtained by the relation √



√ √

x + y 7 = s(−1)ν (8 + 3 7)µ1 (13 + 2 6 7)µ2 , where µ i , ν ∈ Z and s ∈ S. Example The next Pell equation that we will solve is x2 − (1 − a2 )y2 = 2a2 + a3 − a4

(7.3.1)

over Q(a) where a is a root of the polynomial z5 − z2 + 1. This is actually the norm form equation √ N L/K (x + y d) = 2a2 + a3 − a4 . √

where K = Q(a), L = K( d) and d = 1 − a2 . The basis ring of the integers O K is {1, a, a2 , a3 , a4 }.

96 | Computing Resultant and Norm Form Equations √

A basis of U K [ d] is {e1 , e2 , e3 , e4 , e5 , e6 , e7 }

=

√ {−1, −a, 1 − a, −3a + a4 + (3a − a4 ) d,



1 − 2a + a2 + a4 , 1 + (−1 − 2a + a2 + a3 + a4 ) d, √

−2a + a2 − a3 + a4 + (2 − a) d}, where the first element is the generator of the torsion part and the next six elements √ form a basis of the free part of U K [ d]. The images N i = N(e i ) of the above basis under the norm mapping √

N L/K : U K [ d]

−→

UK

x+y d

7−→

x2 − dy2



are {N1 , N2 , N3 , N4 , N5 , N6 , N7 }

=

{1, a2 , a2 − 2a + 1, 1,

3a4 + a3 + 3a2 − 6a + 2, 2a4 + 2a3 + 3a2 − 2a − 1, a − 1}, A basis for the lattice Λ = {(λ1 , λ2 , λ3 , λ4 , λ5 , λ6 , λ7 ) ∈ Z7 | N1λ1 N2λ2 N3λ3 N4λ4 N5λ5 N6λ6 N7λ7 = 1} is {(0, 1, 0, 0, 1, −2, −2), (0, 0, 1, 0, 0, 0, −2), (0, 0, 0, 1, 0, 0, 0)}.

Hence, the elements of the basis of the above lattice are ϵ1

=

−2 2 3 4 e2 e5 e−2 6 e 7 = (−29 − 62a + 8a + 10a + 22a ) +



+(−46 − 60a + 8a2 + 16a3 + 22a4 ) 1 − a2 ϵ2

=

2 3 e3 e−2 7 = (7 − 6a + 2a ) +



+(2 + 10a − 4a2 + 2a3 − 4a4 ) 1 − a2 √

ϵ3

=

e4 = (−3a + a4 ) + (3a − a4 ) 1 − a2 .



All elements of O K [ d] with N L/K (s) = 2a2 + a3 − a4 are associated to the elements √

s1 = (10 + 18a − 2a2 − 4a3 − 6a4 ) + (−13 + 22a − 3a2 − 5a3 − 8a4 ) d} and √

s2 = −(10 + 18a − 2a2 − 4a3 − 6a4 ) + (−13 + 22a − 3a2 − 5a3 − 8a4 ) d}. So, the solutions of the Pell equation x2 − (1 − a2 )y2 = 2a2 + a3 − a4

Examples | 97

are the couples (x, y) where √

x + y 1 − a2 = s j ϵ1µ1 ϵ2µ2 ϵ3µ3 , where j = 1, 2 and µ1 , µ2 , µ3 ∈ Z.

8 Computing Integral Points on Rational Curves The algorithms that we will present in this chapter are the algorithms of (Alvanos and Poulakis, 2011) with the difference being that the initial algorithms are represented in terms of discrete valuation rings while here we present them in terms of places and in a way that they can be implemented through computational programs. After each algorithm we present a couple of examples and in appendix B we give another example with the code that was used for the implementation step by step. Throughout the whole chapter K is a number field, O K its ring of integers, C is an affine curve of genus 0 defined by an irreducible polynomial f (x, y), K(x, y) the function field associated to C, C(O K ) the set of integral points of the curve C, C∞ the set of points at infinity and Σ∞ (C) the set of places of K(x, y) that are over the infinite place of the rational function field. By N L/K we denote the norm mapping from L to K and in case K = Q we denote this norm by N L .

8.1 Integral Points on Curves By a classical theorem of Siegel, the set of integral points of an algebraic curve C over a number field K, C(O K ) = {(x, y) ∈ O2K | f (x, y) = 0}, is finite unless C has genus 0 and C∞ has no more than two elements (see (Lang, 1983), (Siegel, 1969)). Siegel’s result does not provide us with any information in the case where C has genus 0 and |C∞ | ≤ 2. In this case C(O K ) might have infinitely many points. For K = Q, a necessary and sufficient condition for C(Z) to be infinite can be found in (Poulakis, 2001; Poulakis and Voskos, 2002). The following theorem completes Siegel’s theorem and provides us necessary and sufficient conditions for rational curves to have an infinite number of integral points. Theorem 8.1.1. Suppose that C has genus 0. The set C(O K ) is infinite if and only if C(O K ) has a non-singular point and one of the following conditions is satisfied: (i) |C∞ | = 1. (ii) |C∞ | = 2 and the elements of C∞ are defined over K and K is not Q or an imaginary quadratic field. (iii) |C∞ | = 2 and the elements of C∞ are conjugate over a quadratic extension K(a) of K. Furthermore, if K is totally real, then there is a monomorphism τ : K(α) → C such that τ(α) ∈ R. Proof. see (Alvanos et al., 2009). © 2014 Paraskevas Alvanos This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License.

Integral Points on Curves with |Σ∞ (C)| ≥ 3

| 99

For K = Q, we obtain Theorem 5.2 of (Poulakis, 2001). Corollary 8.1.2. Suppose that C is defined over Q and has genus 0. The set C(Z) is infinite if and only if at least one of the following conditions is satisfied: (i) |C∞ | = 1 and C(Z) has a simple point. (ii) |C∞ | = 2, C(Z) has a simple point and the elements of C∞ are conjugate over a real quadratic field. In the following sections we present four algorithms for computing each case of the above theorem and the case were |C∞ | ≥ 3.

8.2 Integral Points on Curves with |Σ∞ (C)| ≥ 3 In this section we present the algorithm for computing the integral solutions of the equation f (x, y) = 0 over the number field K. The case where K = Q can be found in (Poulakis and Voskos, 2000). The algorithm that is presented here is efficient and it is based on Hess’ algorithm (Hess, 2002) for computing a Riemann-Roch space and in Windanger’s algorithm (Wildanger, 2000) for computing unit equations over a field. Integral Points 3 Algorithm Input: An irreducible polynomial f (x, y) over K with at least three discrete valuation rings at infinity. Output: Integral solutions (x, y) ∈ O2K of f (x, y). Step 1: Compute the singular points of C. Step 2: Compute the places at infinity and their degree. If there are at least three places of degree 1 then set K = L go to step 4. Else continue to step 3. Step 3: Compute a field L by attaching the defining polynomial (or polynomials if one polynomial is not enough) of the residue class field of a place (or places if one place is not enough) of places at infinity of degree greater than 1 and recompute the places at infinity and their degree. Step 4: Compute the bases {f i } where f i = a i (x, y)/b i (x) ∈ L(P3 − P i ), i = 1, 2 and places P1 , P2 , P3 are of degree 1. Step 5: Compute the fields M i ⊂ L by attaching f i to K. Step 6: Compute a fi , b fi ∈ O M i such that a fi f i and b fi /f i are integral over O M i [x], where i = 1, 2. Step 7: Compute M by attaching in L the defining polynomials of M1 and M2 . Step 8: Compute c1 , c2 ∈ M such that c1 f1 + c2 f2 = 1. Step 9: Compute maximal sets A i of pairwise non associate elements of O M i with norm dividing N M i (a fi b fi ). Step 10: Compute the solutions (u1 , u2 ) ∈ U of the unit equation c1 k1 c k u1 + 2 2 u2 = 1 γ1 γ2

100 | Computing Integral Points on Rational Curves for every (k1 , k2 ) ∈ A1 × A2 . Step 11: Compute the resultant Resk1 ,u1 (f , g) of f (x, y) and g(x, y) = a f 1 a1 (x, y) − k1 u1 b f 1 (x) with respect to y for every (k1 , k2 ) ∈ A1 × A2 and (u1 , u2 ) ∈ U. Step 12: Compute the set S of s ∈ O K such that R k1 ,u1 (s) = 0 for some (k1 , k2 ) ∈ A1 ×A2 and (u1 , u2 ) ∈ U. Step 13: Compute all the pairs (s, t) ∈ C(O K ) where s ∈ S. Step 14: Output the points from step 13 and step 1. The proof of correctness can be found in (Alvanos and Poulakis, 2011) along with an example of the algorithm. Next, we give two more examples of the Integral Points 3 algorithm. In the Appendix, we present an example of (Alvanos and Poulakis, 2011) using MAGMA code. All the computations of the following two examples have been carried out by the algebraic systems KASH and MAGMA. √

Example In our first example we compute the solutions of f (x, y) = 0 over Z[ 2] where f (x, y) = x3 + (2 −









2)x2 y − (3 + 2 2)xy2 + 3 2y3 − x2 + 3y2 − ( 2 + 1)xy.

The polynomial f (x, y) defines a curve C of genus 0. It has three points at infinity √

p1 = (1 : 1 : 0), p2 = (3 : −1 : 0), p3 = ( 2 : 1 : 0) that correspond to three place at infinity P1 , P2 and P3 of degree 1. Therefore, we skip step 3 and continue by computing Riemann-Roch spaces L(P1 − P2 ) and L(P1 − P3 ). Hence, we get √ √ 3 2y2 + ( 2 − 3)xy + 3y − x2 + 2x f1 (x, y) = 2x a function of L(P1 − P3 ) and √

f2 (x, y) =







(60 2 + 24)y2 + ((8 2 − 52)x + 12 2 + 60)y − (4 2 + 20)x2 +1 23x

a function of L(P1 − P2 ). √ Next, define M1 = M2 = Q( 2) = M. If R1 (f , g1 ) and R2 (f , g2 ) are the resultants on y over M where g1 (x, y, t) = xf1 (x, y) − tx and g2 (x, y, t) = xf2 (x, y) − tx, then R1 (f , g1 ) = x3 I1 (x, t), R2 (f , g2 ) = x3 I2 (x, t),

Integral Points on Curves with |Σ∞ (C)| ≥ 3

|

101

where √





I1 (x, t) = t3 + (−2 2 + 2)xt2 + 1/2(−2 2 − 5)t2 + 1/4(2 2 − 1)tx+ √



1/4(7 2 + 5)t + 1/8(−3 2 − 4) and





I2 (x, t) = t3 + 1/23(−64 2 + 48)t2 x + 1/23(−36 2 − 65)t2 − √





1/529(704 2 + 208)tx + 1/529(744 2 − 213)t + 1/12167(2124 2 − 2835) are irreducible polynomials. Thus, I1 (x, t) and I2 (x, t) are the polynomials that vanish for t = f . Next, we see that the irreducible polynomials of 1/f1 and 1/f2 over M(x) are √



J1 (x, t) = t3 + ((11 2 − 16)x + (13 2 − 22))t2 + √





((−56 2 + 80)x + (14 2 − 16))t − 12 2 + 16 and





J2 (x, t) = 9t3 + ((−512 2 − 752)x + (348 2 + 537))t2 + √





((−384 2 − 656)x + (−1160 2 − 1629))t + (236 2 + 315), respectively. By computation we find that a f 1 = 2, b f 1 = 1, a f 2 = 23, b f 2 = 9. Hence, we know that the functions 2f1 , 1/f1 , 23f2 and 9/f2 are integral elements over O M [x]. In step 8 we compute c1 , c2 ∈ K such that c1 f1 + c2 f2 = 1. The points √  √  3 + 2 −3 − 2 √ , √ q1 = (1, 0), q2 = 4+4 2 4+4 2 belong to C. Thus,



1 −4 2 + 3 f1 (q1 ) = , f2 (q1 ) = , 2 23 √



1+ 2 5+ 2 √ . f1 (q2 ) = , f2 (q2 ) = 4 23(1 + 2) By solving the linear system f1 (P1 )c1 + f2 (P1 )c2 = 1, f1 (P2 )c1 + f2 (P2 )c2 = 1 we get that





24 − 8 2 −17 + 8 2 c1 = , c2 = . 7 7

102 | Computing Integral Points on Rational Curves

In step 9 we need to compute two maximal sets A1 and A2 of pairwise non asso√ ciate elements of Z[ 2] with norm dividing 4 and 34 232 respectively. Thus, we get √







A1 = { 2 + 1, − 2, 2 2 + 2, 1, − 2 − 2, 2} and A2

=

√ √ √ √ √ √ √ { 2 + 1, 3 2 + 3, 6 2 + 7, 4 2 + 3, 9 2 + 9, 18 2 + 21, 12 2 + 9, √ √ √ √ √

37 2 + 47, 23 2 + 23, 17 2 + 7, 54 2 + 63, 36 2 + 27, √









111 2 + 141, 69 2 + 69, 51 2 + 21, 333 2 + 423, 207 2 + 207, √



153 2 + 63, 1, 3, √







2 + 5, − 2 + 5, 9, 3 2 + 15, −3 2 + 15,









10 2 + 27, 23, −10 2 + 27, 9 2 + 45, −9 2 + 45, 30 2 + 81, √





69, −30 2 + 81, 90 2 + 243, 207, −90 2 + 243}.

In the next step (step 10), we compute the solutions (u1 , u2 ) ∈ U of the unit equations c1 k1 c k u1 + 2 2 u2 = 1 γ1 γ2 for every (k1 , k2 ) ∈ A1 × A2 . In the table below, the first column contains the couples (k1 , k2 ) of the unit equation that we have solved and in the second holds their solutions. Couples (k1 , k2 ) √ √ (1 + 2, 7 + 6 2) √ √ (1 + 2, 63 + 54 2) √ √ (1 + 2, 5 + 2) √ √ (1 + 2, 45 + 9 2) √ √ (− 2, 21 + 18 2) √ √ (− 2, 47 + 37 2) √ √ (− 2, 15 + 3 2) √ √ (− 2, 27 + 10 2) √ √ (2 + 2 2, 21 + 18 2) √ √ (2 + 2 2, 47 + 37 2) √ √ (2 + 2 2, 23 + 23 2) √ √ (2 + 2 2, 15 + 3 2) √ √ (2 + 2 2, 27 + 10 2) √ (2 + 2 2, 23) √ (1, 7 + 6 2) √ (1, 63 + 54 2) √ (1, 5 + 2)

Solutions (u1 , u2 ) √ (−1, −3 − 2 2) √ √ (−1 + 2, −3 + 2 2) √ √ (−7 + 5 2, −3 + 2 2) √ (−1, −7 − 5 2) √ √ (−1 + 2, 1 − 2) √ √ (−7 + 5 2, 1 − 2) √ (−1, 3 − 2 2) √ √ (3 + 2 2, −1 − 2) √ (−1, −1 + 2) √ √ (3 + 2 2, −3 − 2 2) √ √ (1 + 2, 3 + 2 2) √ √ (3 − 2 2, 7 − 5 2) √ √ (−1 + 2, −1 + 2) √ √ (1 + 2, 7 + 5 2) √ √ (3 − 2 2, −3 + 2 2) √ (−1 + 2, 1) √ (1, −3 + 2 2) √ √ (−1 − 2, −3 − 2 2) √ √ (3 − 2 2, −3 + 2 2) √ (1, 1 − 2) √ √ (−1 − 2, −7 − 5 2)

Integral Points on Curves with |Σ∞ (C)| ≥ 3 √ (1, 45 + 9 2) √ √ (−2 − 2, 21 + 18 2) √ √ (−2 − 2, 47 + 37 2 √ √ (−2 − 2, 15 + 3 2) √ √ (−2 − 2, 27 + 10 2) √ (2, 21 + 18 2) √ (2, 47 + 37 2) √ (2, 23 + 23 2) √ (2, 15 + 3 2) √ (2, 27 + 10 2) (2, 23)

|

103

√ √ (3 − 2 2, 1 − 2) √ √ (1 − 2, 3 − 2 2) √ √ (1 + 2, −1 − 2) √ √ (1 − 2, −1 + 2) √ √ (1 + 2, −3 − 2 2) √ √ (3 + 2 2, 3 + 2 2) √ √ (−1 + 2, 7 − 5 2) √ (1, −1 + 2) √ √ (3 + 2 2, 7 + 5 2) √ √ (−1 + 2, −3 + 2 2) (1, 1)

For every (k1 , k2 ) ∈ A1 × A2 and (u1 , u2 ) ∈ U, we compute the resultant Resk1 ,u1 (f , g) on y for f (x, y) and g(x, y) = 3f1 (x, y) − k1 u1 (step 11). The resultants are presented in the following table: Resultants √ √ (90 2 + 126)x4 + (648 2 + 954)x3 √ √ (36 2 − 54)x4 + (−36 2 + 54)x3 √ √ (1944 2 − 2754)x4 + (648 2 − 810)x3 √ (162 2 − 216)x4 √ √ (1296 2 + 1836)x4 + (−4374 2 − 6156)x3 √ √ (1548 2 − 2196)x4 + (−882 2 + 1260)x3 √ √ (216 2 − 252)x4 + (−54 2 + 108)x3 √ √ (810 2 + 1152)x4 + (7776 2 + 11016)x3

Finally, we compute the roots of the above polynomials which are elements of O L are





S = {0, 1, −13 2 + 11, 8 2 + 11}. Therefore the set

√ √ {(0, 0), (1, 0), (−13 2 + 11, 2 − 8)} √

are the only solutions of f (x, y) = 0 over Z[ 2]. Example Let f (x, y) = (y − 2x)2 (y +

√ 3

√ 3

−2x) + ( −2)2 y. √

The curve C that is defined by f (x, y) over K = Q( 3 −2) is of genus 0 and has a singular point p = (1/2 : 1 : 0) that is at infinity. Besides p, C has another point at infinity √ given by p1 = (1 : − 3 −2 : 0). Using MAGMA we find that over p1 there is a unique place P1 of degree 1, while over the singular point p there is a place of degree 2. According to step 3, in order to define two places P2 and P3 of degree 1 over the √ singular point we define the field L = Q( 3 −2)(θ) where √ 3

√ 3

√ 3

√ 3

θ2 + (−2( −2)2 + 2 −2 + 6)θ − ( −2)2 − 2 −2 + 21 = 0.

104 | Computing Integral Points on Rational Curves

Moreover, we know that the field L is the field Q(η) where η is a root of the polynomial z6 + 18z5 + 147z4 + 792z3 + 3171z2 + 8190z + 9525. Using MAGMA again, we find that f1 = −A(η)y + 2A(η)x + 1 is a function of L(P1 − P3 ) and f2 = A(η)y − 2A(η)x + 1 is a function of L(P1 − P2 ) where A(η) =

1 (146η5 + 2048η4 + 12687η3 + 59297η2 + 195721η + 276975). 26660

Next, according to the Denominators algorithm we compute the resultants R1 (g1 , f ) and R2 (g2 , f ) on y of the polynomials g1 (x, y, t) = f1 (x, y) − t, f (x, y) and g2 (x, y, t) = f2 (x, y) − t, f (x, y), respectively. Thus, we get R1 (g1 , f ) = t3 + c1 t2 x − 3t2 − 2c1 tx + c2 t + c3 , R2 (g2 , f ) = t3 − c1 t2 x − 3t2 + 2c1 tx + c2 t + c3 , where c1 =

1 (263η5 + 3324η4 + 27556η3 + 128226η2 + 481803η + 1114260), 133300

1 (428η5 + 4269η4 + 22036η3 + 96406η2 + 250368η + 398085), 133300 1 c3 = − (428η5 + 4269η4 + 22036η3 + 96406η2 + 250368η + 131485). 133300 c2 =

Thus, R1 (g1 , f ) and R2 (g2 , f ) are the polynomials that vanish for t = f . Next, according to step 6, we get a f 1 = 2, b f 1 = 1, a f 2 = 2, b f 2 = 1. Hence, we see that the functions 2f1 , 1/f1 , 2f2 and 1/f2 are integral elements over O L [x]. √ √ Now, let q1 = (0, 0) and q2 = (0, −1 3 −2) be two points of C. We have that f1 (q1 ) = f2 (q1 ) = 1,

Integral Points on Curves with |Σ∞ (C)| ≥ 3

and



|

105

√ 3

f1 (q2 ) = −A(η) −1 −2 + 1, √

√ 3

f2 (q2 ) = A(η) −1 −2 + 1. The solutions of c1 f1 (q1 ) + c2 f2 (q1 ) = 1, c1 f1 (q2 ) + c2 f2 (q2 ) = 1 gives us c1 = c2 and c1 + c2 = 1 and therefore c1 = c2 =

1 . 2

The two maximal sets A1 and A2 of pairwise non associate elements of O L are the same. Thus, the elements of the maximal set A with norm dividing 26 are 1,

1 (−168η5 − 2174η4 − 11951η3 − 50611η2 − 178193η − 288125), 26660

1 (−156η5 − 3923η4 − 42042η3 − 234092η2 − 665816η − 763135), 26660 1 (663η5 + 18339η4 + 195341η3 + 1021551η2 + 2656428η + 2778440). 13330 By Trager’s algorithm we obtain an integral basis of L that consists of the elements ω0 = 1, ω1 = η, ω2 = η2 , 1 3 (η + η2 + 3η + 1), 4 1 ω4 = (η4 + 2η2 + 2η + 3), 4 ω3 =

1 (η5 + 58173η4 + 30262η3 + 260752η2 + 27681η + 132595). 266600 So we can represent an integral element z as follows: ω5 =

z = [z0 , z1 , z2 , z3 , z4 , z5 ] where z i are the coefficients of ω i . Next, there is a unique element (k1 , k2 ) ∈ A × A for which the unit equation k1 u1 + k2 u2 = 4 has solutions and this is



k k , 13330 13330

 ,

where k = 663η5 + 18339η4 + 195341η3 + 1021551η2 + 2656428η + 2778440. The solutions (u1 , u2 ) of the above equation are as follows:

106 | Computing Integral Points on Rational Curves u1 = [−86753, −211379, 133351, 141374, 272463, −312238] u2 = [−6627, −16411, 10387, 11012, 21207, −24302] u1 = [−83562, −203834, 128624, 136363, 262790, −301152] u2 = [−9818, −23956, 15114, 16023, 30880, −35388]) u1 = [−46405, −114534, 72494, 76854, 148006, −169604] v[−46975, −113256, 71244, 75532, 145664, −166936] u1 = [−46690, −113895, 71869, 76193, 146835, −168270] u2 = [−46690, −113895, 71869, 76193, 146835, −168270] u1 = [−46975, −113256, 71244, 75532, 145664, −166936] u2 = [−46405, −114534, 72494, 76854, 148006, −169604] u1 = [−9818, −23956, 15114, 16023, 30880, −35388] u2 = [−83562, −203834, 128624, 136363, 262790, −301152] u1 = [−6627, −16411, 10387, 11012, 21207, −24302] u2 = [−86753, −211379, 133351, 141374, 272463, −312238]

For all u1 of the above table we solve the system f (x, y) 2(A(η)(−y + 2x) + 1)

= =

0 k1 u1 √

By solving the above system we get the solutions (x, y) of f (x, y) = 0 over Z[ 3 −2]. Those are √ √ √ √ 3 3 3 3 (0, 0), (−2( −2)2 + 3 −2 − 3, −2( −2)2 + 4 −2 − 4), √ 3

√ 3

√ 3

√ 3

(2( −2)2 − 3 −2 + 3, 2( −2)2 − 4 −2 + 4). Obviously this set of the solutions is finite (Siegel’s theorem (Siegel, 1969), (Lang, 1978)).

8.3 Integral Points on Curves with |Σ∞ (C)| = 2 (i) As was mentioned, the case where Σ∞ (C) has two valuations is divided into two cases. In this section we present the case where the valuations are defined over K. Integral Points 2i Algorithm Input: An irreducible polynomial f (x, y) of degree n over K with two discrete valuation rings at infinity. Output: Integral solutions (x, y) ∈ O2K of f (x, y). Step 1: Compute the singular points of C. Step 2: Compute the parametrization of f ϕ:A t

→ 7−→

C 

u(t) v(t) , w(t) w(t)



where u(t) and v(t) are polynomials over O K . If such polynomials do not exist, then go to Step 12.

Integral Points on Curves with |Σ∞ (C)| = 2 (i)

|

107

Step 3: Change coordinates such that ψ:A t

→ 7−→

C 

p(t) q(t) , at m at m



Step 4: For p(t) = a0 t n + a1 t n−1 + · · · + a n , q(t) = b0 t n + b1 t n−1 + · · · + b n compute a00 , b00 such that a0 = a00 A0 , b0 = b00 B0 , where a00 , b00 ∈ Z and A0 ,B0 are equal to 1 or they are not rational integers. Step 5: Set L A = Q(A0 ) and L B = Q(B0 ) . Step 6: Compute d0 = gcd(a00 N L A (A0 ), b00 N L B (B0 )), d n = gcd(a0n N K (A n ), b0n N K (B n )). ˜ ) of the polynomials Step 7: Compute the resultant R = Res(˜ p, q ˜ (t) = a0 t n + a1 d0 t n−1 + · · · + a n d0n , p ˜ (t) = b0 t n + b1 d0 t n−1 + · · · + b n d0n . q If N K (at m ) does not divides N K (R) go to step 13. Step 8: Compute maximal set S of pairwise non associate elements s ∈ O K with norm dividing gcd(d0N deg K d n , N K (R)). Step 9: Compute a basis {e1 , . . . , e r } of the unit group U K . Step 10: Compute the order σ(i, s) of the image of the class of e i in the unit group O K /I where I is the principal ideal (ad0m s n−m ) for every s ∈ S. Step 11: Compute the set A of r + 1-tuples (s, l1 , . . . , l r ), ∀s ∈ S, with 0 ≤ l i < σ(i, s) (i = 1, . . . , r) such that x(s, l1 , . . . , l r ) =

y(s, l1 , . . . , l r ) =

˜ (se1l1 · · · e lrr ) p d0m a(se1l1 · · · e lrr )n−m ˜ (se1l1 · · · e lrr ) q d0m a(se1l1 · · · e lrr )n−m

,

,

are elements O K . Step 12: Compute (x, y), where x = x(s, l1 + z1 σ(1, s), . . . , l r + z r σ(r, s)), y = y(s, l1 + z1 σ(1, s), . . . , l r + z r σ(r, s)), (s, l1 , . . . , l r ) ∈ A and z1 , . . . , z r ∈ Z. Step 13: Output the points from step 12 and step 1.

108 | Computing Integral Points on Rational Curves

The proof of correctness can be found in (Alvanos and Poulakis, 2011). Next we will see an example with no solutions. In the appendix we present code for an example with solutions. Example Let C be the curve defined by √





f (x, y) = 100x3 + 180 −5x2 − 75xy2 − 540x + 25y3 − 45 −5y2 + 27 −5 √



over K = Q( −5). The ring of integers of K is Z[ −5]. The only singular point of C is at infinity and it is (1/2 : 1 : 0). Using MAPLE we obtain a parametrization for C given by the birational morphism ϕ:A

−→

t

7−→

C, 

u(t) v(t) , w(t) w(t)

 ,

where √

u(t)

=



−81569(906 −5 − 1895)[31409 + (1980 −5 + 12885)t √



−(2790 −5 + 39540)t2 + (−1000 + 765 −5)t3 ], √

v(t)

=



−31409(3985 + 906 −5)[163138 + (−95640 + 21744 −5)t √



+(5430 − 14130 −5)t2 + (1035 −5 + 2200)t3 ], √



w(t)

=

38430010815(392 + (84 −5 − 140)t − (15 −5 + 10)t2 ). √

We change coordinates by setting w = (6 −5 + 10)t − 5. Thus, we obtain the following birational morphism ψ:A

−→

w

7−→

C,   p(w) q(w) , , r(w) r(w)

where √



p(w)

=

675 −5 + 9 −5w + w3

q(w)

=

(8946 −5 − 56320) + (5760 −5 − 3840)w







+(360 −5 + 600)w2 + 25w3 , r(w)

=

15w2 .

˜ (w) = p(w) and q ˜ (w) = q(w). The By computation, d0 = d n = 1 and therefore p norm of the resultant of p(w), q(w) is equal to 53 × 547 × 184649 × 103297178694980827 which is not divisible by 15. Thus, our algorithm implies that the equation f (x, y) = 0 √ has no solution in Z[ −5], since it doesn’t pass our check at step 8 and the singular point of C is at infinity.

Integral Points on Curves with |Σ∞ (C)| = 2 (ii) |

109

8.4 Integral Points on Curves with |Σ∞ (C)| = 2 (ii) Next, we present an algorithm for the case where the number of elements of Σ∞ (C) is two and they are not defined over K. Integral Points 2ii Algorithm Input: An irreducible polynomial f (x, y) of degree n over K with two discrete valuation rings at infinity defined over a quadratic extension of K. Output: Integral solutions (x, y) ∈ O2K of f (x, y). Step 1: Compute the singular points of C. Step 2: Compute the parametrization of f →

ϕ:A t

C 

7−→

u(t) v(t) , w(t) w(t)



where u(t), v(t) and w(t) are polynomials over O K . If there are no such polynomials, then go to Step 14. Step 3: Change coordinates such that ψ:A t



C 

7−→

p(t) q(t) , a(t2 − δ)m/2 a(t2 − δ)m/2





Step 4: Set L = K( δ) and change coordinates so that ω:A t

→ 7−→

C 

p(t) q(t) , bt m/2 bt m/2



where b ∈ O L Step 5: For p(t) = a0 t n + a1 t n−1 + · · · + a n , q(t) = b0 t n + b1 t n−1 + · · · + b n compute a00 , b00 such that a0 = a00 A0 , b0 = b00 B0 , where a00 , b00 ∈ Z and A0 ,B0 are equal to 1 or they are not rational integers. Step 6: Set L1 = Q(A) and L2 = Q(B). Step 7: Compute d = gcd(a00 N L1 (A), b00 N L2 (B)). ˜ ) of polynomials Step 8: Compute the resultant R = Res(˜ p, q ˜ (t) = a0 T n + a1 dt n−1 + · · · + a n d n , p ˜ (t) = b0 T n + b1 dt n−1 + · · · + b n d n . q If N L (bd n/2 ) does not divide N L (R) go to step 14. Step 9: Compute maximal set S of pairwise non associate elements of O L with norm equal to d2 .

110 | Computing Integral Points on Rational Curves Step 10: Compute a basis {e1 , . . . , e r } of the unit group with elements N L/K (ζ ) = 1, where ζ ∈ U L . Step 11: Compute the order σ(i, s) of the image of the class of e i in the unit group O K /I where I is the principal ideal (b(ds)n/2 ) for every s ∈ S. Step 12: Compute the set A of r + 1-tuples (s, l1 , . . . , l r ), ∀s ∈ S, with 0 ≤ l i < σ(i, s) (i = 1, . . . , r) such that x(s, l1 , . . . , l r ) =

y(s, l1 , . . . , l r ) =

˜ (se1l1 · · · e lrr ) p b(dse1l1 · · · e lrr )n/2 ˜ (se1l1 · · · e lrr ) q b(dse1l1 · · · e lrr )n/2

,

,

are elements O K . Step 13: Compute (x, y), where x = x(s, l1 + z1 σ(1, s), . . . , l r + z r σ(r, s)), y = y(s, l1 + z1 σ(1, s), . . . , l r + z r σ(r, s)), (s, l1 , . . . , l r ) ∈ A and z1 , . . . , z r ∈ Z. Step 14: Output the points from step 13 and step 1. Next we give two examples for computing integral solutions using the Integral Points 2ii algorithm and a third example exists can be found in the appendix. The first one is √ a Pell equation over Z[ 3]. Example In this example we will compute the solutions of the equation x2 − 2y2 = 1 √

in Z[ 3]. The curve C defined by f (x, y) = x2 − 2y2 − 1 is of genus 0 and has no singular points. A parametrization of the curve C is given by the morphism →

ϕ:A t

C 

7−→

t2 + 2 2t , t2 − 2 t2 − 2



where it is obvious we do not need to execute step 3. Obviously δ = 2 and therefore we √ set L = K( 2). By changing the coordinates we see that ψ:A t

→ 7−→

C √ 2  2(t + 1) t2 − 1 √ , √ . 2 2t 2 2t

Integral Points on Curves with |Σ∞ (C)| = 2 (ii)

We have

| 111



d = gcd(1, NQ(√2) ( 2)) = 1. The resultant R of the polynomials √



2t2 +

p(t) =

2, q(t) = t2 − 1



is 8. Since N L (2 2)|R4 , we continue to the following steps of our algorithm. A basis of the unit subgroup of U L consisting of ζ ∈ U L with N L/K (ζ ) = 1 is given by the set √ √ √ {−1, −2 2 + 3, 3 − 2}. √





The orders of the images of 3 − 2 2 and 2. Finally, we compute the quantities

3−



2 in the unit group of (O L /(2 2)) are

t2 + 1 t2 − 1 , √ , 2t 2 2t where





t = ±(3 − 2 2)k ( 3 −



2)l √

with k, l ∈ {0, 1}, and we see that they are elements of Z[ 3]. Thus, the solutions of our Pell equation are the couples (x, y), where √

x=±



y=±



(3 − 2 2)k ( 3 − √

(3 − 2 2)k ( 3 −

√ √





2)l + (3 + 2 2)k ( 3 + 2 √



2)l − (3 + 2 2)k ( 3 + √ 2 2



2)l

,



2)l

,

and k, l ∈ Z. The following is an example of an equation with no integral solutions. Example Let a = (1 + f (x, y)

=



−3)/2 and

5625x4 + 1500000ax2 y2 − (100000000a − 100000000)y4 −3500x3 + 660000axy2 + 750x2 − 19200ay2 − 60x + 1.

We will show that the equation f (x, y) = 0 has no solution in Z[a]. Let C be the curve defined by f (x, y). The curve is rational and has no singular points. A parametrization of C is given by the morphism ϕ:A t

→ 7−→

C 

16t4 + 1 2at , 4 80t − 120t2 + 45 80t4 − 120t2 + 45

Setting t = 2t , we obtain the parametrization



112 | Computing Integral Points on Rational Curves

ψ:A t



C 

7−→

t4 + 1 at , 2 2 2 5(t − 3) 5(t − 3)2





So δ = 3 and L = K( 3). Finally, we get the parametrization ω:A t



C 

7−→

p(t) q(t) , 720t2 720t2



where p(t)

=

2(5t4 + 16t3 + 30t2 + 16t + 5),

q(t)

=

a 3(t4 − 2t3 + 2t − 1).





Then d = gcd(10, N L ( 3)) = 1. Next, we compute the resultant R of the polynomials p(T, 1) and q(T, 1). We have R = −429981696a. Since N K (R) = 232 316 and N K (720) = 28 34 52 , we deduce that N K (720) does not divide N K (R) and so the equation f (x, y) = 0 does not have any solution in Z[a].

8.5 Integral Points on Curves with |Σ∞ (C)| = 1 In this final section, we will consider the case where the curve C has |Σ∞ (C)| = 1. The following algorithm computes the integral solutions of f (x, y) = 0 over K where f (x, y) is the defining polynomial of C. Integral Points 1 Algorithm Input: An irreducible polynomial f (x, y) of degree n over K with one discrete valuation ring at infinity. Output: Integral solutions (x, y) ∈ O2K of f (x, y) Step 1: Compute the singular points of C. Step 2: Compute the parametrization of f ϕ:A t

→ 7−→

C 

u(t) v(t) , w(t) w(t)



If there are no such polynomials, then go to Step 8. Step 3: Change coordinates such that ψ:A t

→ 7−→

C 

p(t) q(t) , d d



Integral Points on Curves with |Σ∞ (C)| = 1

|

113

Step 4: Compute δ the gcd of the norms of the coefficients of the leading polynomials of p(t) and q(t). Step 5: Compute ˜ (t) = (δD)deg p p(t/δD) p and ˜ (t) = (δD)deg q q(t/δD), q where D = 1 if d ∈ Z and D = N K (d)/d, otherwise. ˜ = d, if d ∈ Z and d ˜ = N K (d), otherwise. Step 6: Set d Step 7: Compute the elements s of the set S ⊂ O K where ˜ deg p˜ , q ˜ deg q˜ . ˜ (s) ≡ 0 mod dδ ˜ (s) ≡ 0 mod dδ p Step 8: Compute the couples  (x, y) =

˜ (s) ˜ (s) q p , ˜ deg p ˜ ˜ dδ dδdeg q˜



for all s ∈ S. Step 9: Output couples (x, y) from steps 8 and 1. As in all previous cases the proof of correctness and an example can be found in (Alvanos and Poulakis, 2011). Next we give an example without solutions while in the appendix we present code for the example of (Alvanos and Poulakis, 2011) with solutions. The computations have been carried out by MAGMA http://magma.maths.usyd.edu.au/magma/ and MAPLE http://www.maplesoft.com/. Example Let a be an algebraic integer such that a3 − a − 2 = 0 and f (x, y) = f3 (x, y) + f2 (x, y) + f1 (x, y) + f0 (x, y), where f3 (x, y)

=

216x3 − 324ax2 y + 162a2 xy2 − (27a + 54)y3 ,

f2 (x, y)

=

−(108a + 216)x2 + (108a2 + 216a)xy − (54a2 + 27a + 54)y2 ,

f1 (x, y)

=

(18a2 + 72a + 72)x − (36a2 + 45a + 342)y,

f0 (x, y)

=

−114a2 − 13a − 10.

We will show that the equation f (x, y) = 0 has no solution in integers of K. Set K = Q(a) and denote by C the curve defined by f (x, y). The ring of integers of K is O K = Z[a]. The point at infinity (a/2 : 1 : 0) is its only singular point. A parametrization of C is given by ϕ:A t

→ 7−→

C 

at3 + 3t 2t3 − a2 , 3 3

 .

114 | Computing Integral Points on Rational Curves

We have that δ = gcd(N K (a), N K (2)) = 2 and since d = 3 we set D = 1. Thus, we get p(t)

=

at3 + 12t

q(t)

=

2t3 − 8a2

Next (step 7) we have to find the elements s ∈ O K satisfying as3 + 12s 3

2t − 8a

2



mod 24



mod 24

MAPLE return an empty set S and since the unique singular point is at infinity we deduce that f (x, y) = 0 has no integral solutions.

A Unimodular Matrices In this sections we present some supplementary computations that are used in the main textbook.

A.1 Transformation Matrix In this section we remind to the reader how to compute a transformation matrix between two basis. We expect to find a K(x)-matrix between the bases of two ideals in order to compute a Riemann-Roch space of the function field K(x, y). Suppose that we have two bases {a1 , . . . , a n } and {b1 , . . . , b n } and we want to find the entries of the matrix R such that [a1 , . . . , a n ] = [b1 , . . . , b n ] · R. We have that a i = b1 r1i + · · · + b n r ni for i = 1, . . . , n. Next, write a i , b i with respect to the K(x)-basis {1, y, . . . , y n−1 }. Thus we obtain k i1 + k i2 y + · · · + k in y n−1 = f i1 (r ij ) + f i2 (r ij )y + · · · + f in (r ij )y n−1 where k ij ∈ K(x) and f ij polynomials of K(r ij ). So, by solving the system with respect to r i1 , . . . , r in we can find the matrix R. Let’s see an example from the matrix in section 6.3 where our function field is K(x, y) and its defining polynomial f (x) = y2 − x3 − 1. We will compute the tranformation matrix R such that  2  x , 1 · R. [x − 2, y − 3] = y Thus we have x−2

=

y−2

=

x2 r11 + 1 · r21 y x2 r12 + 1 · r22 . y

Next, we have to write the above system with respect to the basis {1, y}. But in the right hand side of the equality we have y in the denominator. In order to get over this obstacle we use the fact that y2 = x3 + 1 since y is actually a root of f (x, y). Thus we obtain x−2

=

y2 x2 · r11 + 1 · r21 , +1 y

x3

© 2014 Paraskevas Alvanos This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License.

116 | Unimodular Matrices

y−3

=

x2 y2 · r12 + 1 · r22 , x3 + 1 y

which implies (x − 2) · 1 + 0 · y

=

−3 · 1 + 1 · y

=

x2 r11 y + 1 · r21 , x3 + 1 2 x r12 y + 1 · r22 . x3 + 1

Hence we get x2 r11 = 0, x3 + 1 2 x r12 = 1, x3 + 1

1 · r21 = x − 2, 1 · r22 = −3

from which we deduce that

r12

r11 = 0, x3 + 1 = , x2

Thus, the transformation matrix R is " R=

0 x−2

r21 = x − 2, r22 = −3.

x3 +1 x2

# .

−3

In the same way, we can compute all transformation matrices in section 6.3.

A.2 Unimodular Transformations In this last section of the Appendix A we present some properties about unimodular transformations. Definition Let A be a n × n and X, X 0 be a n × m matrices with elements from the ring R such that X 0 = A·X. If the determinant of A is a unit in R then A is called R-unimodular matrix and the transformation is called an R-unimodular transformation. By matrix theory it is known that the product of two R-unimodular matrices or the inverse matrix is still an R-unimodular matrix since det(A · B) = det A · det B for A and B, R-unimodular matrices. We can easily also verify that the following transformations are R-unimodular. • add r-times (r ∈ R) a row in another row

Unimodular Transformations | 117

• • •

add r-times (r ∈ R) a column in another column multiply r-times (r unit in R) a row multiply r-times (r unit in R) a column

For example let A = (a ij ) be a R-matrix and r a unit of R. Then # # " # " " r 0 ra11 a12 a11 a12 · = A·B= 0 1 ra21 a22 a21 a22 So, we have multiplied the first column by r. This is a unimodular transformation since det B = r · 1 = r which is a unit. Analogously, we can easily verify that all of the above actions are R-unimodular transformations.

B Algorithm’s Codes In this chapter we give the codes of the algorithms of chapter 8 that were used for the computation of the examples. These codes can be improved a lot, nevertheless here they are presented in the way they were used so that the reader understands the corresponding steps of the algorithms.

B.1 Integral Points 3 Algorithm’s Code In this section we compute the integral solutions of f (x, y) = 3x4 − (1 + b)y4 − 4bx2 y2 − 9x3 + 8bxy2 + 9x2 − 4by2 − 3x, In the first step we compute the singular points and we verify that our curve is rational. [MAGMA CODE] Q:=Rationals(); R1 := PolynomialRing(Q); K:=NumberField(k^2+k+1); A:=AffineSpace(K,2); F:=3*x^4-9*x^3-4*b*x^2*y^2+9*x^2+8*b*x*y^2-3*x+(-b-1)*y^4-4*b*y^2; C1:=Curve(A,F); C2:=ProjectiveClosure(C1); printf "The Singular Points of the Curve are: "; SingularPoints(C2); printf "The Genus of the Curve is: "; Genus(C2); [RETURNS] The Singular Points of the Curve are: {@ (1 : 0 : 1) @} The Genus of the Curve is: 0

Next we compute the places at infinity and their degree. [MAGMA CODE] Q:=Rationals(); R1:=PolynomialRing(Q); K:=NumberField(k^2+k+1); Kx:=FunctionField(K); R2:=PolynomialRing(Kx); F:=3*x^4-9*x^3-4*b*x^2*y^2+9*x^2+8*b*x*y^2-3*x+(-b-1)*y^4-4*b*y^2; FF:=FunctionField(F); Pl:=InfinitePlaces(FF); for i in [1..#Pl] do Pl[i]; Degree(Pl[i]); end for; [RETURNS] (1/x, 1/x*y - b) 1 (1/x, 1/x*y + b) 1 (1/x, 1/x^2*y^2 + 3*b + 3) 2

Since there are less than 3 places of degree 1, we compute the defining polynomial of residue class field of the place with degree 2. © 2014 Paraskevas Alvanos This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License.

Integral Points 3 Algorithm’s Code

| 119

[MAGMA CODE] DefiningPolynomial(ResidueClassField(Pl[3])); [RETURNS] x^2 + 3*b + 3

Now we attach the defining polynomial to our field K and we recompute the places and at the same time we compute a basis for the Riemann-Roch spaces and the numerators and denominators of the elements of the base [MAGMA CODE] Q:=Rationals(); R1:=PolynomialRing(Q); K:=NumberField(k^2+k+1); R1:=PolynomialRing(K); S:=ext; L:=AbsoluteField(S); Lx := FunctionField(L); R2 := PolynomialRing(Lx); F:=3*x^4-9*x^3-4*b*x^2*y^2+9*x^2+8*b*x*y^2-3*x+(-b-1)*y^4-4*b*y^2; FF:=FunctionField(F); Pl:=InfinitePlaces(FF); O:=EquationOrderFinite(FF); Pl; D1:=1*Pl[2]-1*Pl[1]; B1:=Basis(D1); D2:=1*Pl[2]-1*Pl[3]; B2:=Basis(D2); printf "Places at Infinity are: "; Pl; printf "The Basis of L(Pl_3 - Pl_1) is: f1 = "; B1[1]; printf "The basis of L(Pl_3 - Pl_2) is: f2 = "; B2[1]; printf "So a1 := "; FF!Numerator(B1[1],O); printf " and b1 := "; Denominator(B1[1],O); printf "So a2 := "; FF!Numerator(B2[1],O); printf " and b2 := "; Denominator(B2[1],O); [RETURNS] Places at Infinity are: [ (1/x, 1/x*y - c), (1/x, 1/x*y + c), (1/x, 1/x*y + 1/3*(-c^2 - 3)), (1/x, 1/x*y + 1/3*(c^2 + 3)) ] The Basis of L(Pl_3 - Pl_1) is: f1 = -2/9*c^3/(x^2 - 2*x + 1)*y^3 + 1/3*(-2*c^2 - 6)/(x - 1)*y^2 + 1/9*(-2*c^3 - 6*c)*y - 2*x + 1 The basis of L(Pl_3 - Pl_2) is f2 = 1/9*(-c^3 + 9)/(x^2 - 2*x + 1)*y^3 + 1/3*(-c^2 - 3*c - 3)/(x - 1)*y^2 + 1/9*(-c^3 - 3*c^2 - 3*c)*y + 1/3*(c^3 - 3)*x + 1 So a1 := -2/9*c^3*y^3 + (1/3*(-2*c^2 - 6)*x + 1/3*(2*c^2 + 6))*y^2 + (1/9*(-2*c^3 - 6*c)*x^2 + 1/9*(4*c^3 + 12*c)*x + 1/9*(-2*c^3 - 6*c))*y 2*x^3 + 5*x^2 - 4*x + 1 and b1 := x^2 - 2*x + 1 So a2 := 1/9*(-c^3 + 9)*y^3 + (1/3*(-c^2 - 3*c - 3)*x + 1/3*(c^2 + 3*c + 3))*y^2 + (1/9*(-c^3 - 3*c^2 - 3*c)*x^2 + 1/9*(2*c^3 + 6*c^2 + 6*c)*x + 1/9*(-c^3 - 3*c^2 - 3*c))*y + 1/3*(c^3 - 3)*x^3 + 1/3*(-2*c^3 + 9)*x^2 + 1/3*(c^3 - 9)*x + 1 and b2 := x^2 - 2*x + 1

Next (step 5 of the algorithm) we compute the fields M i by attaching f i to our field. [MAGMA CODE] Q:=Rationals(); R1:=PolynomialRing(Q); K:=NumberField(k^2+k+1); R1:=PolynomialRing(K); S:=ext;

120 | Algorithm’s Codes

L:=AbsoluteField(S);Lx:=FunctionField(L);R2:=PolynomialRing(Lx); f1 := func; f2 := func; for i in [2..1000] do Py := f1(i,y); IIp := IsIrreducible(Py); if IIp eq true then break; end if; end for; for i in [2..1000] do Qy := f2(i,y); IIq := IsIrreducible(Qy); if IIp eq true then break; end if; end for; M1:=ext; M2:=ext; printf "M1: "; M1; printf "M2: "; M2; [RETURNS] M1: Number Field with defining polynomial $.1^3 - c*$.1^2 - 1/3*c^2*$.1 + 1/2*c^3 over L M2: Number Field with defining polynomial $.1^3 - c*$.1^2 - 1/3*c^2*$.1 + 1/6*(5*c^3 + 9) over L

Now by using Denominators Algorithm we will compute a f 1 , a f 2 , b f 1 and b f 2 of the forth step of the Integral Points 3 Algorithm. We start by computing and factorizing the resultants (step 1 and 2) of the Denominators Algorithm. [MAGMA CODE] Q:=Rationals(); R1:=PolynomialRing(Q); K:=NumberField(k^2+k+1); R1:=PolynomialRing(K); S:=ext; L:=AbsoluteField(S); P:=PolynomialRing(L); M1:=ext; P1:=PolynomialRing(M1,3); F:=3*x^4-9*x^3-4*b*x^2*y^2+9*x^2+8*b*x*y^2-3*x+(-b-1)*y^4-4*b*y^2; a1:=-2/9*c^3*y^3+(1/3*(-2*c^2-6)*x+1/3*(2*c^2+6))*y^2+ (1/9*(-2*c^3-6*c)*x^2+1/9*(4*c^3+12*c)*x+1/9*(-2*c^3-6*c))*y2*x^3+5*x^2-4*x+1; b1:=x^2-2*x+1; Gf1:=a1-t*b1; Rf1:=Resultant(F,Gf1,y); M2:=ext; P2:=PolynomialRing(M2,3); F:=3*x^4-9*x^3-4*b*x^2*y^2+9*x^2+8*b*x*y^2-3*x+(-b-1)*y^4-4*b*y^2; a2:=1/9*(-c^3+9)*y^3+(1/3*(-c^2-3*c-3)*x+1/3*(c^2+3*c+3))*y^2+ (1/9*(-c^3-3*c^2-3*c)*x^2+1/9*(2*c^3+6*c^2+6*c)*x+ 1/9*(-c^3-3*c^2-3*c))*y+1/3*(c^3-3)*x^3+1/3*(-2*c^3+9)*x^2+ 1/3*(c^3-9)*x+1; b2:= x^2-2*x+1; Gf2:=a2-t*b2; Rf2:=Resultant(F,Gf2,y); printf "The Factors of R1 are: "; Factorization(Rf1); printf "The Factors of R2 are: "; Factorization(Rf2); [RETURNS]

Integral Points 3 Algorithm’s Code

| 121

The Factors of R1 are: ,

The Factors of R2 are: ,

Each polynomial in the above result goes together with its multiplication. Not we find the polynomials that vanish for t = f . In the above code before the definition of M2 we add the following: [MAGMA CODE] Rf1i:=func; Rf1a, Rf2b := IsDivisibleBy(Numerator(Rf1i(a1/b1,x,y)),F);

and at the bottom we add [MAGMA CODE] Rf2i:=func; Rf2a, Rf2b := IsDivisibleBy(Numerator(Rf2i(a2/b2,x,y)),F); if Rf1a eq true then printf "The Polynomial is: "; Rf1i(t,x,y); end if; if Rf2a eq true then printf "The Polynomial is: "; Rf2i(t,x,y); end if;

Thus we get [RETURN] The Polynomial is: t^4-8*t^3*x+12*t^3+32*t^2*x-26*t^2-8*t*x+12*t+1 The Polynomial is: t^4+1/3*(4*c^3-12)*t^3*x+1/3*(-8*c^3+12)*t^3+ 1/3*(-16*c^3+60)*t^2*x+1/3*(16*c^3-6)*t^2+ 1/3*(-4*c^3+36)*t*x+1/3*(-8*c^3-36)*t+9

With the next long code we compute the elements that will turn f i and 1/f i into integral elements. [MAGMA CODE] Q:=Rationals(); R1:=PolynomialRing(Q); K:=NumberField(k^2+k+1); R1:=PolynomialRing(K); S:=ext; L:=AbsoluteField(S); P:=PolynomialRing(L); M1:=ext; Om1:=MaximalOrder(M1); P := PolynomialRing(M1,2); Rf1 := t^4 - 8*t^3*x + 12*t^3 + 32*t^2*x - 26*t^2 - 8*t*x + 12*t + 1; CoefR1 := Coefficients(Rf1); n :=Degree(Rf1,t); S0af1 :=[] ; for i in [1..#CoefR1] do; I:=ideal; DenI:=[Denominator(I)]; S0af1:=S0af1 cat DenI; end for;

122 | Algorithm’s Codes

af1 := LeastCommonMultiple(S0af1); Divaf1 := Divisors(af1); for i in [1..#Divaf1] do ss:=[]; for j in [1.. #CoefR1] do degt := Degree(Terms(Rf1)[j],t); cc := Divaf1[i]^(n-degt)*(CoefR1[j]/ CoefR1[1]); if cc notin Om1 then break; else ss[j]:= Divaf1[i]; end if; end for; if #ss eq #CoefR1 then af1:=ss[1]; break i; end if; end for; R1f1 := (1/TrailingCoefficient(Rf1))*Rf1; Coef1R1 := Coefficients(R1f1); n :=Degree(R1f1,t); S0bf1 :=[] ; for i in [1..#Coef1R1] do; I:=ideal; DenI:=[Denominator(I)]; S0bf1:=S0bf1 cat DenI; end for; bf1 := LeastCommonMultiple(S0bf1); Divbf1 := Divisors(bf1); for i in [1..#Divbf1] do ss:=[]; for j in [1.. #Coef1R1] do degt := Degree(Terms(R1f1)[j],t); cc := Divbf1[i]^(degt)*(Coef1R1[j]/ Coef1R1[#Terms(R1f1)]); if cc notin Om1 then break; else ss[j]:= Divbf1[i]; end if; end for; if #ss eq #Coef1R1 then bf1:=ss[1]; break i; end if; end for; M2:=ext; Om2:=MaximalOrder(M2); P := PolynomialRing(M2,2); Rf2 := t^4 + 1/3*(4*c^3 - 12)*t^3*x + 1/3*(-8*c^3 + 12)*t^3 + 1/3*(-16*c^3 + 60)*t^2*x + 1/3*(16*c^3 - 6)*t^2 + 1/3*(-4*c^3 + 36)*t*x + 1/3*(-8*c^3 - 36)*t + 9; CoefR2 := Coefficients(Rf2); n :=Degree(Rf2,t); S0af2 :=[] ; for i in [1..#CoefR2] do; I:=ideal; DenI:=[Denominator(I)]; S0af2:=S0af2 cat DenI; end for; af2 := LeastCommonMultiple(S0af2); Divaf2 := Divisors(af2); for i in [1..#Divaf2] do ss:=[]; for j in [1.. #CoefR2] do degt := Degree(Terms(Rf2)[j],t); cc := Divaf2[i]^(n-degt)*(CoefR2[j]/ CoefR2[1]); if cc notin Om2 then break; else ss[j]:= Divaf2[i]; end if; end for; if #ss eq #CoefR2 then af2:=ss[1]; break i; end if; end for; R1f2 := (1/TrailingCoefficient(Rf2))*Rf2; Coef1R2 := Coefficients(R1f2); n :=Degree(R1f2,t); S0bf2 :=[] ; for i in [1..#Coef1R2] do; I:=ideal; DenI:=[Denominator(I)]; S0bf2:=S0bf2 cat DenI; end for; bf2 := LeastCommonMultiple(S0bf2); Divbf2 := Divisors(bf2); for i in [1..#Divbf2] do ss:=[]; for j in [1.. #Coef1R2] do degt := Degree(Terms(R1f2)[j],t); cc := Divbf2[i]^(degt)*(Coef1R2[j]/ Coef1R2[#Terms(R1f2)]); if cc notin Om2 then break; else ss[j]:= Divbf2[i]; end if; end for; if #ss eq #Coef1R2 then bf2:=ss[1]; break i; end if; end for; printf "af1 = "; af1; printf "bf1 = "; bf1; printf "af2 = "; af2; printf "bf2 = "; bf2; [RETURN] af1 = 1 bf1 = 1

Integral Points 3 Algorithm’s Code

| 123

af2 = 1 bf2 = 9

Now we return to the Integral Points 3 algorithm and do the computation of step 7 and 8 simultaneously. [MAGMA CODE] Q:=Rationals(); R1:=PolynomialRing(Q); K:=NumberField(k^2+k+1); R1:=PolynomialRing(K); S:=ext; L:=AbsoluteField(S); P:=PolynomialRing(L); M:=ext; f1:=func; f2:=func ; f1p := elt; f1q := elt; f2p := elt; f2q := elt; S := PolynomialRing(M); A := Matrix(M, 2, 2, [f1p,f1q,f2p,f2q]); w := Matrix(M, 1, 2, [1,1]); C := Solution(A, w); c1 := elt ; printf "c1 = "; c1; c2 := elt ; printf "c2 = "; c2; [RETURN] c1 = 1/3*(-c^3 + 6) c2 = 1/3*(c^3 - 3)

Now we compute the maximal sets of ninth step. [MAGMA CODE] Q:=Rationals(); R1:=PolynomialRing(Q); K:=NumberField(k^2+k+1); R1:=PolynomialRing(K); S:=ext; L:=AbsoluteField(S); Ol:=MaximalOrder(L); Ok:=MaximalOrder(K); af1 := 1; bf1 := 1; af2 := 1; bf2 := 9; m1:=L!af1*bf1; m2:=L!af2*bf2; Normf1 := Integers()!Norm(m1); Normf2 := Integers()!Norm(m2); A1d := Divisors(Normf1); A2d := Divisors(Normf2); for i in [1..#A1d] do A1d := A1d cat [(-1)* A1d[i]]; end for; for i in [1..#A2d] do A2d := A2d cat [(-1)* A2d[i]]; end for; A1:=[]; A2:=[]; for i in [1 .. #A1d] do; f, g := NormEquation(Ol,A1d[i]); if f eq true then for j in [1..#g] do; A1:=A1 cat [(L!g[j])]; end for; end if; end for; for i in [1 .. #A2d] do; f, g := NormEquation(Ol,A2d[i]); if f eq true then for j in [1..#g] do; A2:=A2 cat [L!g[j]]; end for; end if; end for; printf "A1 := "; A1; printf "A2 := "; A2; [RETURN]

124 | Algorithm’s Codes

A1 := [ 1 ] A2 := [ 1,

c,

c^2,

c^3,

-3*c^2 - 9]

c is the element for which L = Q(c). Next we compute the solutions (u1 , u2 ) of the unit equations as they are defined in step 10. [MAGMA CODE] c1n := -c^3 + 6; c1d:=3; c2n := c^3 - 3; c2d:=3; a := c-c+1; S0:=[]; k1 := []; k2 := []; for i in [1 .. #A1] do; for j in [1 .. #A2] do; Ueq:=UnitEquation(a*A1[i]*af2*c1n*c2d, a*A2[j]*af1*c2n*c1d,a*af1*af2*c1d*c2d); if Ueq ne [] then; S0 := S0 cat Ueq; for e in [1..#Ueq] do; k1:=k1 cat [A1[i]]; k2:=k2 cat [A2[j]]; end for; end if; end for; end for; for i in [1..#S0] do printf "A solution is: (%o, %o) for k1=%o and k2=%o \n", Ol!S0[i][1][1], Ol!S0[i][1][2] , k1[i], k2[i]; end for; [RETURN] A solution A solution A solution A solution A solution A solution A solution A solution A solution A solution A solution A solution A solution A solution A solution A solution

is: is: is: is: is: is: is: is: is: is: is: is: is: is: is: is:

([-1, -4, 3, -7], [1, 2, -1, 4]) for k1=1 and k2=1 ([-4, 1, -3, -2], [2, 0, 1, 2]) for k1=1 and k2=1 ([0, -1, 1, -2], [1, 1, 0, 2]) for k1=1 and k2=1 ([1, -2, 2, -2], [0, 1, -1, 2]) for k1=1 and k2=1 ([-1, 0, -1, -1], [1, 0, 0, 1]) for k1=1 and k2=1 ([1, 0, 0, 0], [1, 0, 0, 0]) for k1=1 and k2=1 ([1, 0, 1, 1], [0, 1, 0, 2]) for k1=1 and k2=1 ([-1, 2, -2, 2], [1, 0, 1, 1]) for k1=1 and k2=1 ([0, 1, -1, 2], [0, 0, 0, 1]) for k1=1 and k2=1 ([4, -1, 3, 2], [-1, 1, -1, 1]) for k1=1 and k2=1 ([1, 4, -3, 7], [0, -1, 1, -1]) for k1=1 and k2=1 ([7, 4, 0, 12], [-2, -1, 0, -3]) for k1=1 and k2=1 ([-7, -4, 0, -12], [0, -2, 2, -3]) for k1=1 and k2=c ([-1, 0, 0, 0], [0, 0, 1, 0]) for k1=1 and k2=c ([-97, -56, 0, -168], [7, 4, 0, 12]) for k1=1 and k2=c^3 ([-7, 4, 0, 12], [2, -1, 0, -3]) for k1=1 and k2=c^3

We execute steps 11 and 12 simultaneously and therefore we compute the set S by adding the following code to the bottom of the above code. [MAGMA CODE] P := PolynomialRing(L,2); Res:=[]; u1:=[]; for i in [1..#S0] do; u1 := u1 cat [P!S0[i][1][1]]; end for; K1:=[]; for i in [1..#S0] do; K1 := K1 cat [P!k1[i]]; end for; F:=3*x^4-9*x^3-4*b*x^2*y^2+9*x^2+8*b*x*y^2-3*x+(-b-1)*y^4-4*b*y^2; a1 := -2/9*c^3*y^3 + (1/3*(-2*c^2 - 6)*x + 1/3*(2*c^2 + 6))*y^2 + (1/9*(-2*c^3 - 6*c)*x^2 + 1/9*(4*c^3 + 12*c)*x +

Integral Points 3 Algorithm’s Code

| 125

1/9*(-2*c^3 - 6*c))*y - 2*x^3 + 5*x^2 - 4*x + 1; b1 := x^2 - 2*x + 1; for i in [1..#u1] do; Res := Res cat [Resultant(af1*a1 - b1*u1[i]*K1[i],F,y)]; end for; S5:=[]; for i in [1..#Res] do; S5 := S5 cat [UnivariatePolynomial(Res[i])]; end for; S6:=[]; for i in [1..#S5] do; S6 := S6 cat [Rts[1] : Rts in Roots(S5[i])]; end for; S7:=[]; for i in [1..#S6] do; if S6[i] in Ok then; S7 := S7 cat [S6[i]]; end if; end for; S:=[S7[1]]; for i in [2..#S7] do; if S7[i] notin S then; S := S cat [S7[i]]; end if; end for; printf "The set S of u is: "; S; [RETURN] The set S of u is: [

1,

0]

Finally we compute the set of solutions. [MAGMA CODE] Q := Rationals(); R1 := PolynomialRing(Q); K := NumberField(k^2+k+1); R2 := PolynomialRing(K); S := ext< K | s^2 + 3*b + 3>; L := AbsoluteField(S); Ol:=MaximalOrder(L); Ok:=MaximalOrder(K); P:=PolynomialRing(L,2); S:= [ 1,0]; for i in [1..#S] do F:=func; f:=UnivariatePolynomial(F(S[i],y)); v:=[Rts[1] : Rts in Roots(f)]; for j in [1..#v] do; vj := K!v[j]; if vj in Ok then; print ; end if; end for; end for; [RETURN]



So the set integral solutions of f (x, y) is {(0, 0), (1, 0), (0, 2b), (0, −2b)}

which is finite as it was expected by Siegel’s theorem (Siegel, 1969), (Lang, 1978).

126 | Algorithm’s Codes

B.2 Integral Points 2i Algorithm’s Code Here we compute the solutions of f (x, y) = 0 in Z[a] where f (x, y)

=

−8ax3 + (16a + 12)x2 y − (8a + 24)xy2 + 12y3 + (8a + 6)x2 −(8a + 24)xy + 18y2 − (2a + 6)x + 9y + 17a − 26

and a is a root of the polynomial z2 − z − 1. We start by computing the singular points and the genus of the curve defined by f (x, y). [MAGMA CODE] Q := Rationals(); R1 := PolynomialRing(Q); K := NumberField(k^2-k-1); A := AffineSpace(K,2); F := -8*a*x^3 + (16*a + 12)*x^2*y + (8*a + 6)*x^2 + (-8*a - 24)*x*y^2 + (-8*a - 24)*x*y + (-2*a - 6)*x + 12*y^3 + 18*y^2 + 9*y + 17*a - 26; C1 := Curve(A,F); C2 := ProjectiveClosure(C1); printf "Singular Points Are: "; SingularPoints(C2); printf "The Genus of the Curve: "; Genus(C2); [RETURN] The singular points are: {@ (1 : 1 : 0) @} The genus of C is: 0

Parametrization follows [MAPLE CODE] with(algcurves); alias(a = RootOf(x^2-x-1)); f := -8*a*x^3 + (16*a + 12)*x^2*y + (8*a + 6)*x^2 + (-8*a - 24)*x*y^2 + (-8*a - 24)*x*y + (-2*a - 6)*x + 12*y^3 + 18*y^2 + 9*y + 17*a - 26; p := parametrization(f, x, y, t); [RETURN] 2 2 3 (-5+7a)(-144 - 204 a + 216 t + 306 t a - 108 t - 153 t a + 59 t ) - -------------------------------------------------------------------, 2 59 t (t - 4 t + 4) 2 2 3 (-4+7a)(-120 - 208 a + 174 t + 326 t a - 170 t a - 84 t + 61 t ) - ------------------------------------------------------------------] 2 61 t (t - 4 t + 4)

By setting t = [RETURN]

u+1 2

we get

Integral Points 2i Algorithm’s Code

| 127

3 (1 + 2 a) (3 u - 55 + 34 a) p := ---------------------------2 2 u 3 2 2 (2 + 3 a) (2 u - 5 u + 89 - 55 a + 3 a u ) q := -------------------------------------------2 2 u

We can easily verify that a00 = b00 = 1 and therefore we continue to step 6 in order to compute d0 and d n . [MAGMA CODE] Q := Rationals(); R1 := PolynomialRing(Q); K := NumberField(k^2-k-1); R1 := PolynomialRing(K,3); Ok:=MaximalOrder(K); a:= Ok!a; xn := (1 + 2*a)*(3*u^3 - 55 + 34*a); yn := (2 + 3*a)*(2*u^3 - 5*u^2 + 89 - 55*a + 3*a*u^2); zn := 2*u^2; x1 := xn - zn*x; y1 := yn - zn*y; f:=Resultant(x1,y1,u); // d is the element that makes t*d integral Nan:=Integers()!AbsoluteNorm(K!Coefficients(xn,u)[TotalDegree(f)+1]); Nbn:=Integers()!AbsoluteNorm(K!Coefficients(yn,u)[TotalDegree(f)+1]); d := Gcd(Nan,Nbn); d:=K!d; Normd:=(Integers()!Norm(d)); // delta give us a bound of what should the denominator Na0 := Integers()!AbsoluteNorm(K!Coefficients(xn,u)[1]); Nb0 := Integers()!AbsoluteNorm(K!Coefficients(yn,u)[1]); delta := Gcd(Na0,Nb0); printf "do is: "; d; printf "dn is: "; delta; [RETURN] do is: 1 dn is: 1

Next we compute simultaneously the basis of the unit group U K (step 9) and a maximal set S as it is needed in step 8. We add to the previous code the following code. [MAGMA CODE] UOk,fOk:=UnitGroup(Ok); g:=#Generators(UOk); UOkG:=[]; for i in [1..g] do UOkG[i]:= (fOk(UOk.i)); end for; Divdelta := Divisors(delta*Normd^TotalDegree(f)); InvDivdelta:=[]; for i in [1..#Divdelta] do InvDivdelta[i]:=-1*Divdelta[i]; end for; RevInvDivdelta := Reverse(InvDivdelta); Tsetnorm:=RevInvDivdelta cat Divdelta; Tset:=[]; for i in [1..#Tsetnorm] do NEq, Neq := NormEquation(Ok,Tsetnorm[i]); if NEq eq true then Tset:= Neq cat Tset; end if; end for;

128 | Algorithm’s Codes

Ts:=[]; for i in [1..#Tset] do Ts[i] := K!Tset[i]; end for; printf "The Representatives of the Classes of all Norms are: ";Ts; printf "The Generators of the Unit Group of Ok are: "; UOkG; [RETURN] The Representatives of the Classes of all Norms are: [ 1, -a + 1] The Generators of the Unit Group of Ok are: [ [-1, 0], [1, -1]]

Finally, we perform all next steps together. The computation gives U K , all of their images and their order in the unit group of O K /I, and finally the (x, y) that are integral over O K . [MAGMA CODE] TT:=[]; for j in [1..#Ts] do I := ideal ; OI := quo< Ok | I > ; RGOk:=[]; for i in [1..#UOkG] do RGOk[i]:=(UOkG[i] mod I); end for; UO,fO:=UnitGroup(OI); g:=#Generators(UO); fOinv:=Inverse(fO); RGOko:=[]; for i in [1..#RGOk] do RGOko[i]:=Order(fOinv(RGOk[i])); end for; printf "The Order of each Representative is: "; RGOko; for k in [0..RGOko[1]-1] do for l in [0..RGOko[2]-1] do T:=K!(Ok!(Ts[j]*UOkG[1]^k*UOkG[2]^l)); Xn := (6*a + 3)*T^3 - 8*a + 13; Yn := (6*a + 4)*T^3 - T^2 - 8*a + 13; Zn := 2*T^2; if IsIntegral(Xn/Zn) eq true then if IsIntegral(Yn/Zn) eq true then printf "An integral Solution is for T: (%o)*(%o)^(%omod%o)*(%o)^(%omod%o)\n which is: %o \n", Ts[j], K!(Ok!UOkG[1]), k, RGOko[1], K!(Ok!UOkG[2]), l, RGOko[2], K!(T); end if; end if; end for; end for; end for; [RETURN] The Generators of the Unit Group of Ok are: [ [-1, 0], [1, -1]] O/I is: Quotient Ring of Principal Ideal of Ok Generator: [2, 0] The Representatives e1, e2 of the Generators of Ok* in O/I are: [ [1, 0], [0, 1]] The Order of each Representative is: [ 1, 3 ] An integral Solution is for T: (1)*(-1)^(0mod1)*(a)^(0mod3) O/I is: Quotient Ring of Principal Ideal of Ok Generator: [2, 2] The Representatives e1, e2 of the Generators of Ok* in O/I are: [ [1, 0],

Integral Points 2ii Algorithm’s Code

| 129

[0, 1]] The Order of each Representative is: [ 1, 3 ] An integral Solution is for T: (a)*(-1)^(0mod1)*(a)^(2mod3)

Actually the above two solutions are the same due to the fact that 1 and a are both units. Therefore the only solution is for t = se1l i e2l2 = a3 z.

B.3 Integral Points 2ii Algorithm’s Code In this section we compute the solutions (x, y) ∈ O2K of f (x, y) = 0 in O K where K = Q(a), f (x, y)

=

x4 + 6y2 x2 + 9y4 − 4x3 − (32 + 32a + 16a2 )yx2 − 12y2 x +6x2 + (64 + 64a + 32a2 )yx + 6y2 − 4x − (32 + 32a + 16a2 )y + 1

and a is the root of the polynomial z3 − z − 2 = 0. We start by computing the singular points and the genus of the curve defined by f (x, y). [MAGMA CODE] Q := Rationals(); R1 := PolynomialRing(Q); K := NumberField(k1^3-k1-2); A := AffineSpace(K,2); f := ((x-1)^2 + 3*(y)^2)^2 - 16*(2+2*a+a^2)*(x-1)^2*y; C1 := Curve(A,f); C2 := ProjectiveClosure(C1); printf "Singular Points are: "; SingularPoints(C2); printf "The Genus of the Curve: "; Genus(C2); [RETURN] Singular Points are: {@ (1 : 0 : 1) @} The Genus of the Curve: 0

Parametrization follows [MAGMA CODE] with(algcurves); alias(a = RootOf(x^3-x-2)); f :=((x-1)^2 + 3*(y)^2)^2 - 16*(2+2*a+a^2)*(x-1)^2*y ;; p := parametrization(f, x, y, u); [RETURN] 4 2 2 1 + 9 v - 32 v + 6 v - 32 v a - 16 v a -----------------------------------------------, 4 2 1 + 9 v + 6 v 2 2

130 | Algorithm’s Codes

16 (2 + 2 a + a ) v -------------------------] 4 2 1 + 9 v + 6 v

Obviously the above denominators are equal to (1 + 3v2 ). Thus, δ = −3 and there√ fore we set L = K( −3) and by setting making the necessary change of coordinates we get that [MAGMA CODE] Q:=Rationals(); R1:=PolynomialRing(Q); K:=NumberField(k1^3-k1-2); Ok:=MaximalOrder(K); Bk:=Basis(Ok,K); R2:=PolynomialRing(K); L:=ext; Ol:=MaximalOrder(L); Bl:=Basis(Ol,L); R3 := PolynomialRing(L,3); u:=(z+1)*b; v:=(z-1); an := u^4-32*v*u^3+6*v^2*u^2+9*v^4-32*v*u^3*a-16*v*u^3*a^2; bn := 16*(2+2*a+a^2)*u^2*v^2; A:=1; n:= TotalDegree(an); m:=Integers()!(n/2); cn := A*2^n*(b^2*z)^m; printf "p0 := "; an; printf "q0 := "; bn; printf "r0 := "; cn; [RETURN] p0 := (48*a^2+96*a+96)*b*z^4+(96*a^2+192*a+192)*b*z^3+144*z^2+ (-96*a^2-192*a-192)*b*z+(-48*a^2-96*a-96)*b q0 := (-48*a^2-96*a-96)*z^4+(96*a^2+192*a+192)*z^2+-48*a^2-96*a-96 r0 := 144*z^2

Since 48 is common constant factor the polynomials become: [RETURN] p0 := (a^2 + 2*a + 2)*b*z^4 + (2*a^2 + 4*a + 4)*b*z^3 + 3*z^2 + (-2*a^2 - 4*a - 4)*b*z + (-a^2 - 2*a - 2)*b q0 := (-a^2 - 2*a - 2)*z^4 + (2*a^2 + 4*a + 4)*z^2 + -a^2 - 2*a - 2 r0 := 3*z^2

Following steps 5, 6 and 7 we compute d. [MAGMA CODE] Q := Rationals(); R1 := PolynomialRing(Q); K:=NumberField(k1^3-k1-2); Ok:=MaximalOrder(K); Bk:=Basis(Ok,K); R2:=PolynomialRing(K); L:=ext; delta := L!(Norm(-a^2 - 2*a - 2)); Ol:=MaximalOrder(L); Bl:=Basis(Ol,L); R4:=PolynomialRing(L,3); Delta:=R4!delta; z:=t; w:=Delta; p := (a^2 + 2*a + 2)*b*z^4 + (2*a^2 + 4*a + 4)*b*z^3*w + 3*z^2*w^2 + (-2*a^2 - 4*a - 4)*b*z*w^3 + (-a^2 - 2*a - 2)*b*w^4; q := (-a^2-2*a-2)*z^4+(2*a^2+4*a+4)*z^2*w^2+(-a^2-2*a-2)*w^4; r := 3*z^2*w^2;

Integral Points 2ii Algorithm’s Code

| 131

printf "d is: "; delta; pt:=p; qt:=q; rt:=r; printf "pt := "; pt; printf "qt := "; qt; printf "rt := "; rt; [RETURN] d is: -2 pt := (a^2 + 2*a + 2)*b*t^4 + (-4*a^2 - 8*a - 8)*b*t^3 + 12*t^2 + (16*a^2 + 32*a + 32)*b*t + (-16*a^2 - 32*a - 32)*b qt := (-a^2-2*a-2)*t^4+(8*a^2+16*a+16)*t^2-16*a^2-32*a-32 rt := 12*t^2

Next we check if integral solutions of the equation f (x, y) = 0 can exist (step 9). [MAGMA CODE] At := Ol!12; R:=L!Resultant(pt,qt,T); NormR:=Integers()!AbsoluteNorm(R); Na := Integers()!AbsoluteNorm(At); printf "The Resultant of pt, qt is: "; R; printf "Is The Absolute Norm of A*2^n*b^n is: "; Na; printf "Is the Norm divisible? "; IsDivisibleBy(NormR,Na); [RETURN] The Resultant of pt, qt is: 2617049088*a^2 + 3981312000*a + 3439853568 Is The Absolute Norm of A*2^n*b^n is: 2985984 Is the Norm divisible? true

Our next step is to compute the maximal set of pairwise non-associate elements of norm dividing d2 = 4. [MAGMA CODE] db, dn := NormEquation(Ol,delta^2); if db ne true then printf "The Curve has no solutions"; else printf "A maximal set with norm d^2 is: "; dn; end if; [RETURN] A maximal set with norm d^2 is:

[[[-2, 0, 0], [0, 0, 0]]]

Which is actually -2. Next we compute a basis of the unit group of L and we compute the images of the basis in the unit group of O K /I. [MAGMA CODE] Q := Rationals(); R1 := PolynomialRing(Q); K:=NumberField(k1^3-k1-2); Ok:=MaximalOrder(K); Bk:=Basis(Ok,K); Uk,hk:=UnitGroup(Ok); hk1:=Inverse(hk); R2:=PolynomialRing(K); L:=ext; Ol:=MaximalOrder(L); Bl:=Basis(Ol,L); M:=AbsoluteField(L); Om:=MaximalOrder(M); Um,hm:=UnitGroup(Om); UO,fO:=UnitGroup(Om); g:=#Generators(UO);

132 | Algorithm’s Codes

UOG:=[]; for i in [1..g] do UOG[i]:= L!(Ol!(Om!fO(UO.i))); end for; IUOG:=[]; for i in [1..g] do IUOG[i]:= K!Norm(L!UOG[i]); end for; printf "The Generators of Ol are: "; UOG; printf "The Images of the Generators of Ol Through Norm are: "; IUOG; Nlk := iso < Um -> Uk |hk1(IUOG[1]),hk1(IUOG[2]),hk1(IUOG[3])>; printf "The generators of the kernel are: "; L!hm(Um.1); L!(hm(Um.3)*hm(Um.2)); [RETURN] The Generators of Ol are: [ 1/2*b + 1/2, 1/2*(-a^2 + a + 1)*b + 1/2*(a^2 + a - 3), -1/2*a*b + 1/2*(a + 2) ] The Images of the Generators of Ol Through Norm are: [ 1, -a^2 + a + 1, a^2 + a + 1 ] The generators of the kernel are: 1/2*b + 1/2 1/2*(-a^2 + 2*a - 1)*b + 1/2*(3*a^2 - 5)

Now, we compute the order of the above images. [MAGMA CODE] dnm:=[]; for i in [1..#dn] do dnm[i]:=M!dn[i]; end for; Am:=M!At; e:=[(UOG[1]), (UOG[2]*UOG[3])]; em:=[]; dnmi:=[]; for j in [1..#dnm] do I := ideal ; OI := quo< Om | I > ; printf "O/I is: "; OI; printf "The Representatives ei of the Generators of Ok* in O/I are: "; for i in [1..#e] do em[i]:=(OI!e[i]); end for; em; UO,fO:=UnitGroup(OI); g:=#Generators(UO); fOinv:=Inverse(fO); oem:=[]; for i in [1..#em] do oem[i]:=Order(fOinv(em[i])); end for; printf "The Order of each Representative is: "; oem; for k in [0..oem[1]-1] do for l in [0..oem[2]-1] do T := L!(Om!(dnm[j]*e[1]^k*e[2]^l)); pt := (a^2 + 2*a + 2)*b*T^4 + (-4*a^2 - 8*a - 8)*b*T^3 + 12*T^2 + (16*a^2 + 32*a + 32)*b*T + (-16*a^2 - 32*a - 32)*b; qt := (-a^2 - 2*a - 2)*T^4 + (8*a^2 + 16*a + 16)*T^2 16*a^2 - 32*a - 32; rt := 12*T^2; if (pt/rt) in Ok then if (qt/rt) in Ok then printf "An integral Solution is for T: (%o)*(%o)^((%o)mod(%o))*(%o)^((%o)mod(%o))\n which is: x:=%o, y=%o \n", dnm[j], L!(Ol!e[1]), k, oem[1], L!(Ol!e[2]), l, oem[2], L!(pt/rt), L!(qt/rt); end if; end if; end for; end for; end for; [RETURN] O/I is: Quotient Ring of Principal Ideal of Om Generator: [48, 0, 0, 0, 0, 0] The Representatives ei of the Generators of Ok* in O/I are:

Integral Points 1 Algorithm’s Code

| 133

[ [1, 0, 0, -1, 0, 0], [3, -1, -1, -1, 2, -1] ] The Order of each Representative is: [ 6, 48 ]

Step 12 returns us a lot of solutions. [RETURN] An integral Solution is for T: (-2)*(-1/2*b + 1/2)^((0)mod(6))* (1/2*(-a^2 + 2*a - 1)*b + 1/2*(-3*a^2 + 5))^((0)mod(48)) which is: x:=1, y=0 An integral Solution is for T: (-2)*(-1/2*b + 1/2)^((0)mod(6))* (1/2*(-a^2 + 2*a - 1)*b + 1/2*(-3*a^2 + 5))^((1)mod(48)) which is: x:=-6*a^2 + 15, y=2*a^2 - 4*a + 2 ... ... ... An integral Solution is for T: (-2)*(-1/2*b + 1/2)^((5)mod(6))* (1/2*(-a^2 + 2*a - 1)*b + 1/2*(-3*a^2 + 5))^((47)mod(48)) which is: x= -51574847249399286011881482949505761250721564086284542 034948962630210659863101*a^2 + 334228939634892252403781575352229023 53168648164924639241277391786527117631738*a + 685260334734782590624 64767524365797530735090025330770758526100609114922555143, y=39098488860202861845061045093966469240749062058415793689940837440 28583671837*a^2 - 2851887255337348199548919492479464643882191139839 4290985563289415006196445340*a + 3433831254149114473963751820439126 7860209614730770950072291415131750815875910

B.4 Integral Points 1 Algorithm’s Code Now we will present the code of the example of (Alvanos and Poulakis, 2011) in full details. We will compute the integral points of f (x, y) = x2 + 3axy + ax − 2y3 √

where a is the root of a2 − 2 and {1, a} is the integral basis of O K where K = Q( 2). We begin by computing the genus and the singular points of the curve C defined by f (x, y). [MAGMA CODE] Q := Rationals(); R1 := PolynomialRing(Q); K := NumberField(k^2-2); A := AffineSpace(K,2); F := x^2 + 3*a*x*y + a*x - 2*y^3; C1 := Curve(A,F); printf "The singular points are: "; SingularPoints(C1); printf "The genus of C is: "; Genus(C1); [RETURN] The singular points are: The genus of C is: 0

{@ (a, -1) @}

134 | Algorithm’s Codes

Next, we compute the parametrization. [MAPLE CODE] with(algcurves); alias(a = RootOf(x^2-2)); f := x^2 + 3*a*x*y + a*x - 2*y^3; p := parametrization(f, x, y, t); factor(denom(p[1]),a); factor(denom(p[2]),a); e1 := evala(expand(eval(numer(p[1]),t=(u-1)))); e2 := evala(expand(eval(numer(p[2]),t=(u-1)))); ed1 := evala(expand(eval(denom(p[1]),t=(u-1)))); ed2 := evala(expand(eval(denom(p[2]),t=(u-1)))); e11:=evala(e1/ed1); e21:=evala(e2/ed2); w1:=(eval(e11,u=1/w)); w2:=(eval(e21,u=1/w)); w1n:=numer(w1); w1d:=denom(w1); w2n:=numer(w2); w2d:=denom(w2); w1n/w1d; w2n/w2d; [RETURN] 2 3 2 2 a + 6 t + 3 t a + t (1 + a) (t - t a + 4 t + 4 a - 4) p := [-----------------------, ----------------------------------] 3 2 2 2 (t + 3 t + 1 + 3 t) 2 (t + 2 t + 1)

We substitute t + 1 = u and we get [RETURN] 2 3 2 5 a + 9 u - 7 + 3 a u - 6 a u + u - 3 u -----------------------------------------3 2 u 2 (1 + a) (u + 2 u - 7 - a u + 5 a) ---------------------------------2 2 u

Now we substitute u = 1/w and we get [RETURN] 3 2 3 2 5 a w + 9 w - 7 w + 3 a w - 6 a w + 1 - 3 w -------------------------------------------------2 2 2 (1 + a) (1 + 2 w - 7 w - a w + 5 a w ) --------------------------------------2

Integral Points 1 Algorithm’s Code

| 135

Next we compute δ as in step 4. [MAGMA CODE] Q:=Rationals(); R1:=PolynomialRing(Q); K:=NumberField(k^2-2); Norm1:=Integers()!Norm(5*a - 7); Norm2:=Integers()!Norm(-2*a + 3); GCD(Norm1,Norm2); [RETURN] 1

˜ = d. Therefore we continue to step 7 in Since δ = 1, and d = 2 we get that D = 1 and d order to compute set S. [MAPLE CODE] d1 := 2; s1 := {msolve( x + 1,d1)}; s2 := {msolve(x^2 + 1,d1)}; s3 := {msolve(x^3 + x^2*y + x + y,d1)}; s4 := {msolve(x^3 + x^2 - x + 1,d1)}; S := ‘intersect‘(s1, s2, s3, s4); [RETURN] S := {{x = 1, y = y}}

Thus, the integral points of C are  (x, y) = (a, −1),

p(s) q(s) , 2 2





where a =

2, s ≡ 1, 1 + a (mod 2) and p(s) = (5a − 7)s3 + 2(−6a + 9)s2 + 4(3a − 3)s + 8, q(s) = (−2a + 3)s2 + 2at + 4(a + 1).

Bibliography Agargün, A. G., Özkan, E. M. (2001). A Historical Survey of Fundamental Theorem of Arithmetic. Historia Mathematica, 28(3), 207-214. Alvanos, P., Bilu, Y. and Poulakis, D. (2009). Characterizing Algebraic Curves with Infinitely Many Integral Points. International Journal of Number Theory, 5(4), 585-590. Alvanos, P. and Poulakis, D. (2009). Solving Norm Form Equations over Number Fields, Algebraic Informatics, CAI 2009, Thessaloniki, Proceedings, LNCS 5725, 136-146. Alvanos, P. and Poulakis, D. (2011). Solving Genus 0 Diophantine Equations over Number Fields, Journal of Symbolic Computation, 46, 54-69. Assmann, B. and Eick, B. (2005). Computing polycyclic presentations for polycyclic rational matrix groups. Journal of Symbolic Computation, 40(6), 1269-1284. Atiyah, M.F. and Macdonald, L.G. (1969). Introduction to Commutative Algebra. Reeding, Massachusetts: Addison-Wesley. Barbeau, E.J. (2003). Pell’s Equation. New York: Springer Verlag. Buchmann, J. (1987). On the Computation of Units and Class Numbers by a Generalization of Langrange’s Algorithm. Journal of Number Theory 26(1), 8-30. Buchmann, J. and Williams, H. C. (1998). On the Infrastructure of the Principal Ideal Class of an Algebraic Number Field of Unit Rank One. Mathematics of Computation, 50, 569-579. Cassels, J.W.S. and Fröhlich, A. (1967). Algebraic Number Theory, London: Academic Press. Cohen, H. and Frey, G. (2006). Handbook of Elliptic and Hyperelliptic Cryptography. Chapman and Hall/CRC Press. Davenport, J.H. (1981). On the Integration of Algebraic Functions. Berlin; New York: Springer. Dirichlet, L. (1842). Recherches sur les formes quadratiques à coefficients et à indeterminées complexes. Journal für die reine und angewandte Mathematik, 24, 291-371. Fjellstedt, L. (1953). On a class of Diophantine equations of the second degree in imaginary quadratic fields. Arkiv für Matematik, 2(5), 435-461. Fried, M.D. and Jarden, M. (1986). Field Arithmetic. New York: Springer-Verlag. Fulton, W. and Lang, S. (1985). Riemann-Roch algebra. Grundlehren der Mathematischen Wissenschaften 277, New York: Springer-Verlag. Goppa, V.D. (1981). Codes on Algebraic Curves. Soviet Mathematics Doklady, 24(1), 170-172. Goppa, V.D. (1988). Geometry and Codes. Netherlands; Boston; London: Kluwer Academic Publishers. Hess, F. (2002). Computing Riemann-Roch Spaces in Algebraic Function Fields and Related Topics, Journal of Symbolic Computation, 33(4), 425-445. Hiren, M., Gretchen, M. and Gottlieb, P. (2005). Riemann-Roch spaces of the Hermitian function field with applications to algebraic geometry codes and low-discrepancy sequences. Journal of Pure and Applied Algebra, 195(3), 261-180. Huber, K. (1994). On the Period Length of Generalized Inverse Pseudorandom Generators, AAECC 5, 255-260. Jacobson, N. (1974). Basic Algebra I and II. San Francisco: W.H. Freeman and Co. Jarvis, F. (2014). Algebraic Number Theory. Switzerland: Springer Undergraduate Mathematics Series. Joyner, D., Kreminski, R. and Turisco, J. (2004). Applied Abstract Algebra. Maryland: Johns Hopkins University Press. Komjáth, P. and Totik, V. (2006). Problems and Theorems in Classical Set Theory. Berlin: SpringerVerlag.

Bibliography

| 137

Lang, S. (1978). Elliptic Curves. Diophantine Analysis. Berlin; Heidelberg; New York: SpringerVerlag. Lang, S. (1983). Fundamentals of Diophantine Geometry. Berlin; Heidelberg; New York: SpringerVerlag. Lang, S. (1994). Algebraic number theory, 2nd ed. New York: Springer-Verlag. Lenstra, H.W. (2002), Solving the Pell Equation. Notices of the American Mathematical Society, 49(2), 182-192. Matthews, K. (2000). The Diophantine Equation x2 − Dy2 = N, D > 0. Expositiones Mathematicae, 18, 323-331. Mollin, R. A. (1998). Fundamental Number Theory with Applications, Boca Raton; New York; London: CRC Press. Mollin, R. A. (2001). Simple Continued Fraction Solutions for Diophantine Equations, Expositiones Mathematicae, 19(1), 55-73. Niven, I. (1942). Quadratic Diophantine Equations in the Rational and Quadratic Fields. Transactions of the AMS, 52(1), 1-11. Niven, I. (1943). The Pell equation in quadratic fields. Bulletin of the AMS, 49(6), 413-416. Paulus, S. (1998). Lattice basis reduction in function fields. Algorithmic number theory, LNCS 1423, 567-575. Pohst, M. (1993). Computational Algebraic Number Theory. DMV Seminar Band 21. Basel: Birkhauser Verlag. Poulakis, D. and Voskos, E. (2000). On the practical solution of genus zero Diophantine equations. Journal of Symbolic Computation, 30(5), 573-582. Poulakis, D. (2001). Bounds for the size of integral points on curves of genus zero. Acta Mathematica Hungarica, 93(4), 327-346. Poulakis, D. and Voskos, E. (2002). Solving genus zero Diophantine equations with at most two infinite valuations. Journal of Symbolic Computation, 33(4), 479-491. Riemann, B. (1857). Theorie der Abel’schen Functionen. Journal für die reine und angewandte Mathematik, 54, 115-155. Roch, G. (1865). Ueber die Anzahl der willkurlichen Constanten in algebraischen Functionen. Journal für die reine und angewandte Mathematik. 64, 372-376. Schmid, W.A. (2006). On the set of integral solutions of the Pell equation in number fields. Aequationes Mathematicae, 71(1-2), 109-114. Siegel, C.L. (1969). Abschätzung von Einheiten. Nachrichten der Akademie der Wissenschaften in Göttingen, 5, 71-86. Skolem, T. (1945). A theorem on the equation ζ 2 − δη2 = 1, where δ, ζ , η are integers in an imaginary quadratic field. Avhandlinger Utgitt av det Norske Videnskaps-Akademi i Oslo, 1, 1-13. Stichtenoth, H. (1993). Algebraic Function Fields and Codes. Berlin: Springer-Verlag. Trager, B.M. (1984). Integration of Algebraic Functions. Ph.D. thesis, Department of EECS, Massachusetts Institute of Technology. Val´fiš, A.Z. (1951). Elementary solution of Pell’s equation (Russian). Akad. Nauk Gruzin. SSR. Trudy Mat. Inst. Razmadze, 18, 116-132. Van Hoeij, M. (1994). An Algorithm for Computing an Integral Basis in an Algebraic Function Field. Journal of Symbolic Computation, 18(4), 353-363. Van Hoeij, M. (1995). An algorithm for computing the Weierstrass normal form. ISSAC ’95 Proceedings, 90-95. Van Hoeij, M. (1997). Rational parametrizations of algebraic curves using a canonical divisor. Journal of Symbolic Computation, 23, 209-227. Vereshchagin, N.K. and Shen, A. (2002). Basic Set Theory. Providence, R.I.: AMS. Walker, R.J. (1978). Algebraic Curves. New York: Springer-Verlag.

138 | Bibliography Wildanger, K. (2000). Über das Lösen von Einheiten - und Indexformgleichungen in algebraischen Zahlkörpern. Journal of Number Theory, 82(2), 188-224. Williams, H.C. (2002). Solving the Pell Equation. Number theory for the millennium, 397-435. http://www.math.tu-berlin.de/~kant/ http://www.gap-system.org/ http://www.maplesoft.com/ http://magma.maths.usyd.edu.au/magma/

Index K[x]-invariants, 81 r-radical, 61 r-trace-radical, 62 acnodes, 21 adele, 40 adele space, 40 adele subspace of a divisor, 40 affine algebraic curve, 19 affine line, 19 affine plane, 19 affine plane algebraic curve, 19 affine space, 19 algebraic element, 11 algebraic function field, 17 algebraic function field extension, 18 algebraically closed field, 11 algebraically closed in a function field, 18 associate elements, 3 associated curves, 25 complement of a holomorphy ring, 41 complex embedding, 14 components of a curve, 20 conjecture matrix a set, 54 coordinate ring of a projective curve, 27 coordinate ring of an affine curve, 23 cusp, 21 Dedekind domain, 9 defining polynomial of a projective curve, 24 defining polynomial of an affine curve, 19 degree of a projective curve, 24 degree of a divisor, 38 degree of a place, 37 degree of an affine curve, 20 degree of extension, 12 dehomogenization, 25 Dirichlet’s Unit Theorem, 15 discrete valuation, 34 discrete valuation ring, 35 discriminant of a set, 54 discriminants ideal, 56 divisor of a function field, 37 elliptic curves, 28

embedding, 14 equivalent divisors, 38 extension ring, 10 extensions of a place, 37 field extension, 11 field of constants of an algebraic field, 18 field of fractions, 12 finite extension of fields, 12 fractional ideal, 44 fractions, 12 free part of a group, 16 function field, 18 fundamental set of units, 16 Fundamental Theorem of Arithmetic, 3 Gaussian integers, 4 generalized Pell equation, 85 genus of a function field, 40 genus of the affine plane curve, 28 genus of the projective plane curve, 28 group of units, 15 Hess’ Main Theorem, 80 Hess’ Theorem, 43 Hilbert’s basis theorem, 8 holomorphy ring, 41 homogeneous coordinate system, 24 homogenization, 25 ideal of an affine curve, 27 ideal basis, 56 ideal of an affine curve, 23 ideal representation, 43 idealizer of an ideal, 58 independent generators, 15 index speciality, 40 infinite extension of fields, 12 integral basis, 11 integral closure, 10 integral domain, 2 integral ideal, 44 integrally closed domain, 13 inverse ideal, 43 invertible element, 3

140 | Index invertible ideal, 44 irreducible curve, 20 irreducible element, 3 Kummer’s Corollary, 38 lattice, 13 leading polynomials, 73 local ring, 9 localization, 47 multiplicity of a point, 20 multiplicity of a point in a projective curve, 25 nodes, 21 Noetherian domain, 7 Noetherian ring, 7 non-ordinary singular point, 28 non-singular point, 20, 25 norm form, 14 norm form equation, 14 norm of an element, 13 ordinary singular point, 28 parametric representation of a curve, 22 parametric representation of a projective curve, 25 parametrization of a rational curve, 22 Pell equation, 85 place at infinity, 37 places, 36 point of a projective space, 24 points at infinity, 24 points of an affine curve, 19 points of an affine space, 19 points of the curve, 24 pole, 37 pole divisor, 38 prime element, 3 principal divisor, 38 principal ideal domain, 4 projective line, 24 projective plane, 24

projective plane algebraic curve, 24 projective space, 24 radical of an ideal, 60 rational curve, 21 rational function field, 17 rational projective curve, 25 real embedding, 14 regular point, 20, 25 relative norm of an element, 13 relative trace of an element, 13 relative unit group, 16 representation on infinite places, 42 residue class field, 37 resultant, 86 Riemann-Roch space, 39 ring extension, 10 ring of integers, 11 root of unity, 3 separable extension, 12 separable polynomial, 12 set of infinite places, 37 set of infinite points, 24 simple point, 20, 25 singular point, 20 singular point of a projective curve, 25 subdivisor, 38 tangent at a non-singular point, 27 tangent at a singular point, 28 torsion free part of a group, 16 torsion group, 16 trace of an element, 13 transcendental, 11 unique factorization domain, 3 unit, 3 unit group, 15 valuation ring, 32 zero, 37 zero divisor, 38

Index of Algorithms Denominators Algorithm, 89 Diagonalization Algorithm, 77 Discriminants Ideal Radical Algorithm, 63

Integral Points 2ii Algorithm, 109 Integral Points 3 Algorithm, 99 Inverse Ideal Algorithm, 65

Hess’ Algorithm, 81 Hess’ Algorithm for Rational Function Fields, 83

Norm Equation Algorithm 1, 91 Norm Equation Algorithm k, 92

Idealizer Algorithm, 65 Integral Points 1 Algorithm, 112 Integral Points 2i Algorithm, 106

Reduced Basis Algorithm, 73 Trager’s Algorithm, 67