UNIVERSIDAD DE CANTABRIA

Departamento de Matemáticas, Estadística y Computación

Intrinsic height estimates for the Nullstellensatz

Memoria presentada para optar al grado de Doctor en Ciencias Matemáticas por :

Klemens Hägele

Dirigida por los Doctores : Joos Heintz y Luis Miguel Pardo Vasallo

1998

Parcialmente financiada por los proyectos de investigación : DGCYT PB93–072–C02–02 y PB96–0671–C02–02 Now that the time has come to express my gratitude for the various kinds of support, advice and help received throughout the last years, it becomes very difficult for me to single out a reduced number of individuals without extending my thanks to the rest of the collegues at Santander. So if I mention here by name just those directly involved, then this happens only to spare the reader the lecture of a book twice as thick.

My heartfelt thanks go to :

• Joos Heintz, for the patience he has with me.

• Luis Miguel Pardo, for the efforts taken and the confidence given.

• Eberhard Becker, Tomás Recio and Thorsten Wörmann, for helping me get started in Santander.

• Mikel Aldaz, David Castro, Jose Morais and Pepe Montaña, for bearing with me.

• Marc Giusti, Gregoire Lecerf and Bruno Salvy, for the invitations to Palaiseau, collaboration and showing me how to do (and not to do).

• Joel Marchand, for sharing opinions on the right choice of hardware.

• Bernd Bank and Guy Mbakop, for advice and the “real” viewpoint.

• Nicolas Bruno, Guillermo Matera, Martin Sombra and Rosita Wachenchauzer, for giving me an idea of the “argentinian” way.

• Bonifacio Castaño, Juan Llovet and Raquel Martínez, for the invitation to Alcala de Henares.

• my wife Maribel, family and friends, for being what they are to me.

Santander 1998

Contents

1 Introduction and statement of results 1 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Statement of results . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2 Fixing notations and notions 17

2.1 Basic ingredients . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.1.1 Multivariate polynomials . . . . . . . . . . . . . . . . . 17 2.1.2 Absolute values over number fields . . . . . . . . . . . 18 2.1.3 Mahler measure of multivariate polynomials . . . . . . 21 2.1.4 Different notions of height . . . . . . . . . . . . . . . . 23

2.2 Computational complexity . . . . . . . . . . . . . . . . . . . . 29 2.2.1 Turing machines and complexity classes . . . . . . . . . 30 2.2.2 Straight–line programs . . . . . . . . . . . . . . . . . . 34

2.3 Evaluation and height: Some useful bounds . . . . . . . . . . 44 2.4 Non-scalar straight-line programs : Technical lemmata …. 48

3 Complete intersection varieties 53 3.1 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.2 Variables in Noether position . . . . . . . . . . . . . . . . . . 54 3.3 Geometric degree . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.4 Geometric Solving . . . . . . . . . . . . . . . . . . . . . . . . 58

3.4.1 The elimination polynomial . . . . . . . . . . . . . . . 60 3.4.2 The primitive element . . . . . . . . . . . . . . . . . . 61

3.5 Height of complete intersection varieties. . . . . . . . . . . . . 64 3.6 Relations between both approaches . . . . . . . . . . . . . . . 66

3.6.1 Computational equivalence . . . . . . . . . . . . . . . . 66 3.6.2 Equivalence of height estimates . . . . . . . . . . . . . 70

4 The equivalence problem for straight–line programs 73 4.1 Correct test sequences . . . . . . . . . . . . . . . . . . . . . . 75 4.2 Probabilistic zero–test . . . . . . . . . . . . . . . . . . . . . . 77

4.3 Witness Theorem . . . . . . . . . . . . . . . . . . . . . . . . . 78

5 Interpolation modulo complete intersection varieties 81 5.1 Trace and duality . . . . . . . . . . . . . . . . . . . . . . . . . 82 5.2 Division modulo complete intersection ideals . . . . . . . . . . 85

6 Equations in general position : Geometric degree and height 93 6.1 Geometric degree and height of a system . . . . . . . . . . . . 94 6.2 Computing equations in general position . . . . . . . . . . . . 96 6.3 The case of trivial ideals . . . . . . . . . . . . . . . . . . . . . 102 6.4 The case of complete intersection ideals . . . . . . . . . . . . . 105

7 Proof of Theorem 1 107 7.1 The degree bound . . . . . . . . . . . . . . . . . . . . . . . . . 108 7.2 The size of the straight–line program . . . . . . . . . . . . . . 112

8 Proof of Theorem 2 131 8.1 The non–scalar depth bound . . . . . . . . . . . . . . . . . . . 132

9 Applications 139

A Overview - Programming Activity 145 A.1 Alcala de Henares, Spain . . . . . . . . . . . . . . . . . . . . . 145 A.2 Pamplona, Spain . . . . . . . . . . . . . . . . . . . . . . . . . 146 A.3 Palaiseau, France . . . . . . . . . . . . . . . . . . . . . . . . . 146

A.3.1 Implementation : pnp . . . . . . . . . . . . . . . . . . 147 A.3.2 Ongoing work . . . . . . . . . . . . . . . . . . . . . . . 147

A.4 Santander, Spain . . . . . . . . . . . . . . . . . . . . . . . . . 147

A.4.1 Implementation : slp . . . . . . . . . . . . . . . . . . 148 A.5 Argentina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

A.5.1 Time-Space Tradeoff : San Luis . . . . . . . . . . . . . 149 A.5.2 Documentation : Buenos Aires . . . . . . . . . . . . . 150 A.5.3 Implementation : milonga . . . . . . . . . . . . . . . 150

Reference table of degree and height definitions 153

Symbol Index 155

Index 159

Bibliography 161

Chapter 1

Introduction and statement of results

1.1 Introduction

In the sequel we discuss several arithmetic aspects of Hilbert’s Nullstellensatz whose origin is closely connected with the classical consistency question for systems of multivariate polynomial equations. Let us assume that a system S = {f_{1}, …, f_{s}} ⊆ ZZ[X_{1}, …, X_{n}] of multivariate polynomials with integer coefficients is given. The consistency problem over C on input S can be stated as deciding whether the following formula is true or not :

∃x_{1} ∈ C, …, ∃x_{n} ∈ C, f_{i}(x_{1}, …, x_{n}) = 0 for 1 ≤ i ≤ s.  (1.1)

Hilbert’s Nullstellensatz (which was probably already considered by Kronecker) states that this formula is false if and only if an arithmetic Bézout identity holds, i.e. if and only there exist a non–negative integer a ∈ ZZ \ {0} and polynomials g_{1}, …, g_{s} ∈ ZZ[X_{1}, …, X_{n}] such that the following identity holds :

a = g_{1}f_{1} + ⋯ + g_{s}f_{s}.  (1.2)

This arithmetic presentation of the Hilbert Nullstellensatz is more suitable than the standard one for the study of the consistency problem over prime fields of positive characteristic. More precisely, let us consider a prime number p ∈ IN, IF_{p} := ZZ/pZZ the prime field of positive characteristic p, and let K_{p} be an algebraic closure of IF_{p}. For every polynomial f ∈ ZZ[X_{1}, …, X_{n}] we denote by f̄ ∈ ZZ/pZZ[X_{1}, …, X_{n}] the polynomial obtained by taking residues (mod p) in the coefficients of f. The consistency problem over K_{p} on input system S can now be stated as deciding whether the following formula is true or not :

∃x_{1} ∈ K_{p}, …, ∃x_{n} ∈ K_{p}, f̄_{i}(x_{1}, …, x_{n}) = 0 for 1 ≤ i ≤ s.  (1.3)

One of the main topics of this thesis will be the estimation of the number of primes p for a given system S such that the formula (1.3) is false. In order to formalize this problem, we introduce the following function (which depends on S) :

π_{S} : ZZ_{≥0} ⟶ ZZ_{≥0}

defined by π_{S}(x) := the number of primes p such that p ≤ x and the formula (1.3) is true. A precise description of this function π_{S} is not known up to now. For the moment, only upper and lower bounds are available, which will be improved here.

One of the motivations for this study is the interest in relating by reductions of bounded complexity the consistency problem in characteristic 0 with the consistency problem in positive characteristic. Reducing problems from characteristic zero to positive characteristic is a classical strategy in computer algebra and algebraic algorithmic design. A good example for this is the case of polynomial factorization where feasible factorization procedures for small primes are used to obtain polynomial time factorization algorithms for characteristic zero, see e.g. [Berlekamp, 1970], [Zassenhaus, 1969], [Lenstra et al., 1982].

Reductions to the case of positive characteristic have been used recently by P. Koiran in [Koiran, 1996]. Let us observe that the consistency problem has (up to now) worst case upper time bounds which are exponential in the input length, whereas the upper space bounds are known to be polynomial by [Caniglia et al., 1988]. The consistency problem asks about the existence of solutions in the algebraic closure of the ground field. There exists another relevant question concerning polynomial equation systems : deciding the satisfiability problem.

The satisfiability problem for a system S ⊆ IF_{p}[X_{1}, …, X_{n}] is to decide whether there exists a solution in IF_{p}^{n} for the system S or not. For fixed prime number p, the satisfiability problem is known to be NP –complete due to a result of [Cook, 1971]. In [Koiran, 1996] a reduction from the consistency problem in characteristic zero to the satisfiability problem in positive characteristic is shown. This yields more precise space bounds for the characteristic zero case than those shown in [Caniglia et al., 1988]. This reduction is based on estimates for upper bounds for π_{S} using the results of [Krick & Pardo, 1996], also yielding a lower bound for π_{S} assuming the Generalized Riemann Hypothesis. Corollary 5 on the arithmetic Nullstellensatz improves the known upper bounds for π_{S}. In the sequel we also show a lower bound for π_{S} improving on the one presented in [Morais, 1997], assuming the Generalized Riemann Hypothesis. This lower bound is a consequence of the studies done in [Giusti et al., 1995], [Giusti et al., 1998], [Giusti et al., 1997a], [Giusti et al., 1997c].

Let us observe that if the system S is inconsistent over C, the arithmetic Bézout identity (1.2) holds. In that case, π_{S} is a bounded function. The obvious reason is that if (1.2) holds, then (1.3) is false for all those prime numbers p such that a ≢ 0 (mod p). In particular, if we know the value of a from the arithmetic Nullstellensatz, we immediately obtain the following bound :

π_{S}(x) ≤ log_{2} | a | for all x ∈ IN

where | a | denotes the usual absolute value of a. Conversely, if (1.1) is a valid formula, π_{S} is unbounded but co–finite, i.e. π − π_{S} is a bounded function. Thus, studies around the arithmetic Bézout identity (1.2) with estimates for the absolute value of a (and consequently of the coefficients of the polynomials g_{1}, …, g_{s}) are of central relevance for estimating π_{S}.

A discussion of the historical achievements around (arithmetic) Bézout identities follows. Let us assume now that d is an upper bound for the degrees of the polynomials in the input system S = {f_{1}, …, f_{s}} and that h is an upper bound for the absolute values of the coefficients of the polynomials in S. First estimates for log_{2} | a | were obtained by the systematic use of upper bounds for the degrees of the polynomials g_{1}, …, g_{s} that may occur in a Bézout identity like (1.2).

Let us assume from now on that the system S is inconsistent and denote by D(d, n) the minimum of the degrees of the polynomials g_{1}f_{1}, …, g_{s}f_{s} in the Bézout identity (1.2).

The first remarkable achievement was G. Hermann’s upper bound that stated D(d, n) ≤ d^{2^{n}}, cf. [Hermann, 1926]. We have to wait until the late eighties to see major improvements of Hermann’s bound. In [Brownawell, 1987], [Caniglia et al., 1988], [Caniglia et al., 1989], [Kollár, 1988] the bound was improved to D(d, n) ≤ max{3, d}^{n}, cf. also [Fitchas & Galligo, 1990] and [Philippon, 1991a]. For the case of d = 2, which seemed to escape these techniques, the following bound was obtained in the nineties, cf. [Dubé, 1993], [Sabia & Solernó, 1996] :

D(d, n) ≤ 4nd^{n}

which also holds for d = 2. Recently, [Sombra, 1998b] showed D(d, n) ≤ 2^{n+1} for d = 2. The lower bound D(d, n) ≥ d^{n}−d^{n−1} is a consequence of the following example due to Mora-Lazard-Masser-Philippon, see [Brownawell, 1987] :

S := {X_{1}^{d}, X_{1} − X_{2}^{d}, …, X_{n−2} − X_{n−1}^{d}, 1 − X_{n−1}X_{n}^{d−1}}.  (1.4)

One can interpret Equation (1.2) as a big system of linear equations in the unknowns a and the coefficients of the polynomials g_{1}, …, g_{s}. This system has at most

s\binom{D(d, n) + n}{n}

unknowns and \binom{D(d,n)+n}{n} equations. Thus the system S is consistent if and only if this big system of linear equations is inconsistent. Moreover, making appropriate use of Cramer’s rule, we obtain a as the determinant of a square submatrix M of the above linear equation system with approximately \binom{D(d,n)+n}{n} rows and columns. We then conclude :

log_{2} | a | ≤ D(d, n)^{n} log_{2} h.

The previous bounds imply the estimation π_{S}(x) ≤ log_{2} | a | ≤ d^{n^{2}}s log_{2} h. Nevertheless, this bound is still far from being satisfactory. P. Philippon establishes in his paper [Philippon, 1991a] the bound log | a | ≤ (n+2)^{2} ·8n+ 1)^{n+2} · (log h + d) · d^{n}, where h is a bound on the height of the polynomials. The contributions of [Berenstein & Yger, 1991b], [Berenstein & Yger, 1991a] provide the following more precise upper bounds :

π_{S}(x) ≤ log_{2} | a | ≤ k(n)d^{8n+3}(log_{2} h + d log_{2} d)  (1.5)

where k(n) is an effective (but super-exponential) bound depending only on n. In [Krick & Pardo, 1994], [Krick & Pardo, 1996] the following, even more precise upper bound was obtained :

π_{S}(x) ≤ log_{2} | a | ≤ nd^{cn}(log_{2} h + log_{2} s)

for a universal constant 0 < c < 32. This bound seemed to be a final achievement because of the following example adapted from the above example (1.4) for a ∈ ZZ \ {0}, cf. [Krick & Pardo, 1996], [Möller & Mora, 1984] :

S := {X_{1} − 2, X_{2} − X_{1}^{d}, …, X_{n} − X_{n−1}^{d}, X_{n}}.

Here we observe that for the constant a obtained from the Bézout equality (1.2) for this inconsistent system S holds log_{2} | a | ≥ d^{n−1}.

However, all these approaches had some inconvenience. First of all, their estimates depend strongly on the syntactical representation of the polynomials (degree, number of variables, absolute value of the coefficients). In particular, for systems of degree 2 the previous bounds in [Berenstein & Yger, 1991a], [Berenstein & Yger, 1991b] and [Krick & Pardo, 1994], [Krick & Pardo, 1996] yield a bound of order :

π_{S}(x) ≤ log_{2} | a | ≤ n^{cn+3}(log_{2} h + 2).

Secondly, this dependence from the syntactical representation of the input system S hides any special features of the system with respect to arithmetic Bézout identities. For instance, these features will not be perceivable when we are facing systems as the following one :

S := {X_{1} − 1, X_{2} − X_{1}^{d}, …, X_{n} − X_{n−1}^{d}, X_{n}}.

In this example, the integer a ∈ ZZ \ {0} in identity (1.2) can be chosen to be exactly 1, whereas all the approaches cited above yield bounds exponential in n.

The consistency problem and the Nullstellensatz depend on the given system S and the special features of the geometric objects associated to S. Intuition says that we may profit from these special features to improve the estimates for upper bounds of log_{2} | a |. In this sense, the works [Fitchas et al., 1995], [Krick & Pardo, 1994] and [Krick & Pardo, 1996] were fundamental. These contributions essentially proved that the polynomials g_{1}, …, g_{s} and the integer a ∈ ZZ \ {0}, occurring in a Bézout identity can be chosen with very special features with respect to their representation.

In fact, the authors showed that g_{1}, …, g_{s} and a can be expressed in terms of the input system in a way far better than expected : For the case d ≥ n the polynomials g_{1}, …, g_{s} and the integer a can be evaluated by a (certain kind of) program of polynomial size d^{O(n)}. This particular property yields bounds of order equivalent to those in (1.5). Moreover, it was shown that the circuits (straight–line programs) which evaluate the polynomials can be computed by a Turing machine running in time essentially polynomial in d^{n} log_{2} h.

However, the complexity estimates for the elimination procedures underlying [Krick & Pardo, 1994], [Krick & Pardo, 1996] were also of syntactic nature (they were strongly inspired by [Giusti & Heintz, 1993]). The resulting bounds are of syntactic nature too (depending on the bound d^{n}) and thus can not profit from the special features of the input system (as in the example before).

1.2 Statement of results

Several intrinsic complexity elimination procedures were developed since then in [Giusti et al., 1995], [Krick & Pardo, 1994], [Giusti et al., 1998], [Giusti et al., 1997a], [Giusti et al., 1997c], [Morais, 1997]. These elimination procedures have the following properties :

• they can be adapted to the syntactic representation chosen to encode the polynomials in the input system S.

• two intrinsic invariants (called the degree and height of the system S) appear in the complexity estimates.

These methods have been discussed in detail in [Morais, 1997] and are fundamental to the forthcoming Theorem 1 and 2. Let us also mention that these intrinsic elimination methods inspired a new type of effective Nullstellensätze with intrinsic degree bounds of order 3n^{2}dδ_{S} in [Krick et al., 1997] and for the sparse monomial representation of order min{n, s}^{2}(d + 3n)δ_{S} in [Sombra, 1997], [Sombra, 1998a], where δ_{S} is the geometric degree of the system S as in Definition 70 on page 95.

An estimate in terms of intrinsic invariants for the representation of the constant a ∈ ZZ \ {0} and the polynomials g_{1}, …, g_{s} ∈ ZZ[X_{1}, …, X_{n}] by straight–line programs (see Section 2.2 for a definition) can be obtained as a consequence of the following Theorem :

Theorem 1 There exists a universal constant c_{1} > 0 with the following property : Let R be the ring of algebraic integers of a given number field K and f_{1}, …, f_{t}, f ∈ R[X_{1}, …, X_{n}], t ≤ n + 1 polynomials of degree at most d. Suppose that the following properties are verified :

i) All the ideals (f_{1}, …, f_{i}) in K[X_{1}, …, X_{n}] are radical ideals defining a variety of co-dimension i for 1 ≤ i ≤ t − 1.

ii) The polynomial f_{t} is not a zero divisor in the residue ring

K[X_{1}, …, X_{n}]/(f_{1}, …, f_{t−1}).

iii) The polynomial f belongs to the ideal (f_{1}, …, f_{t}) in K[X_{1}, …, X_{n}].

iv) There is given a straight–line program Γ of size L, non–scalar depth ℓ and parameters in a finite set F ⊂ R, such that Γ evaluates the polynomials f_{1}, …, f_{t}, f.

Let us define δ as the maximum of the geometric degrees (see Chapter 3) of the intermediate varieties V_{i} :

δ := max{deg V (f_{1}, …, f_{i}) : 1 ≤ i ≤ t − 1}.

1) Then, there exists a division-free straight–line program Γ_{1} of size (tdLδ)^{c_{1}}, non–scalar depth O((n + ℓ)^{2} log_{2} δ) and parameters in

F ∪ {z ∈ ZZ : | z | ≤ (tdLδ)^{c_{1}}} ⊆ R,

such that Γ_{1} evaluates polynomials g_{1}, …, g_{t} ∈ R[X_{1}, …, X_{n}] and a non–zero constant a ∈ R \ {0} such that the following holds :

af = g_{1}f_{1} + ⋯ + g_{t}f_{t}.

2) Moreover, the polynomials g_{1}, …, g_{t} verify the degree bound deg(g_{i}) ≤ 3t^{2}dδ.

The proof of Theorem 1 (see Chapter 7) exhibits explicitly such a straight– line program Γ_{1} evaluating the polynomials g_{1}, …, g_{t} independently of any arithmetic estimate of the varieties V (f_{1}, …, f_{i}) defined by these polynomials.

However, the non–scalar depth of the straight–line program describing the polynomials obtained in this way is too big (of order O(n log_{2} δ)) to yield good bounds for the height of the constant a ∈ R and the polynomials g_{1}, …, g_{t} ∈ R[X_{1}, …, X_{n}] in the Bézout identity.

By an alternative approach, analyzing the parallel complexity of the polynomials a^{−1}g_{i} ∈ K[X_{1}, …, X_{n}] and starting from the so-called geometric solution (see Chapter 3 for a definition) produced by the algorithm underlying Theorem 1, we yield the following result :

Theorem 2 There exists a universal constant c_{2} > 0 with the following property : Let R be the ring of algebraic integers of a given number field K and f_{1}, …, f_{t}, f ∈ R[X_{1}, …, X_{n}], t ≤ n + 1 polynomials of degree at most d satisfying conditions i), ii) and iii) of Theorem 1 above. Suppose we are given a division-free straight–line program Γ of size L, non–scalar depth ℓ = O(log L) and parameters in a finite set F ⊂ R such that Γ evaluates the polynomials f_{1}, …, f_{t}, f. Then there exists a division-free straight–line program Γ_{2} of size ((td)^{t}Lδ)^{c_{2}}, non–scalar depth O(log_{2} t + log_{2} d + log_{2} L + log_{2} δ), and parameters in F ∪ {z ∈ ZZ : | z | ≤ ((td)^{t}Lδ)^{c_{2}}} ⊆ R, such that from the geometric solutions of the varieties V (f_{1}, …, f_{i}), 1 ≤ i ≤ t − 1, the straight–line program Γ_{2} evaluates polynomials h_{1}, …, h_{t} ∈ R[X_{1}, …, X_{n}] and a non–zero element b ∈ R such that holds :

bf = h_{1}f_{1} + ⋯ + h_{t}f_{t}.

Moreover, the polynomials h_{1}, …, h_{t} verify the degree bound deg(h_{i}) ≤ 3t^{2}dδ.

The proof of the above Theorem 2 as established in Chapter 8 shows that the straight–line program evaluating the polynomials g_{1}, …, g_{t} for the representation found by the algorithms underlying Theorem 1 and 2 are, up to constants, the same, i.e. a^{−1}g_{i} = b^{−1}h_{i} holds in the above Theorems.

The total complexity of the algorithm underlying Theorem 2 is obviously worse than the result obtained in the first Theorem. This is due to the iterated interpolation technique used, which causes an increasal of the straight– line program size. Nevertheless, at the same time we obtain an improved bound on the non–scalar depth of the straight–line program evaluating the polynomials, and as these are up to constants identical, this yields an improved overall bound for the constant a in the Bézout identity.

The two Theorems above have meaningful consequences in terms of complexity and arithmetic estimates for the membership problem in complete intersection ideals. As a first consequence of Theorem 1, the method described in Section 7, and the results obtained in the series of papers [Giusti et al., 1995], [Krick & Pardo, 1994], [Giusti et al., 1998], [Giusti et al., 1997a], [Giusti et al., 1997c], [Morais, 1997] we have :

Corollary 3 (Bounds on the complexity) With the same notations and hypotheses as in Theorem 1, let ZZ be the ring of integers. Then there exists a bounded error probability Turing machine M which takes as input polynomials f_{1}, …, f_{t}, f in ZZ[X_{1}, …, X_{n}] and produces a straight–line program computing a constant a ∈ ZZ\{0} and polynomials g_{1}, …, g_{t} ∈ ZZ[X_{1}, …, X_{n}] verifying :

af = g_{1}f_{1} + ⋯ + g_{t}f_{t}.

Moreover, the running time of M is polynomial in ndLδ.

On the other hand, Theorem 2 is helpful to obtain arithmetic estimates for the polynomials occuring as quotients in a division modulo a complete intersection ideal. We have chosen two different height measures for polynomials. The first one takes only archimedean absolute values into account for polynomials g ∈ R[X_{1}, …, X_{n}]. The second one is the invariant (logarithmic) height as introduced by P. Philippon in the series of papers [Philippon, 1991b], [Philippon, 1994], [Philippon, 1995] to give a notion of height for unmixed homogeneous ideals (here invariance means invariance under scalar multiplication). In particular, using the notation of Theorem 1 and 2, the invariant heights of a^{−1}g_{i} and b^{−1}h_{i} agree. For a finite subset F = {a_{1}, …, a_{m}} ⊆ R we define independently from any particular enumeration of the set the height ht(F) as the logarithmic height (following [Lang, 1983]) of the projective point (1 : a_{1} : …: a_{m}).

We have the following Corollary to Theorem 2 :

Corollary 4 (Bounds on the height) There exists a universal constant c_{3} > 0 with the following property : With the same notations and assumptions as in Theorem 2, let η, η̃ be respectively the quantities defined by :

η := max{ht(V (f_{1}, …, f_{i})) : 1 ≤ i ≤ t − 1},
η̃:= max{h̃t(V (f_{1}, …, f_{i})) : 1 ≤ i ≤ t − 1}

where ht(V (f_{1}, …, f_{i})) is the normalized logarithmic height of the variety V (f_{1}, …, f_{i}) which takes into account only the archimedean absolute values. h̃t(V (f_{1}, …, f_{i})) is the invariant logarithmic height of the elimination polynomials of V (f_{1}, …, f_{i}) (see Def. 47 on page 65).

For the constant b and the polynomials h_{1}, …, h_{t} as evaluated by the straight– line program of Theorem 2 hold the following estimates :

max{ht(b), ht(h_{1}), …, ht(h_{t})} ≤ (ndLδ)^{c_{3}}(η + ht(F)), and
max{h̃t(b), h̃t(h_{1}), …, h̃t(h_{t})} ≤ (ndLδ)^{c_{3}}(η̃ + ht(F)) holds.

Let us remark that h̃t(a) = h̃t(b) = 1 holds and the polynomials g_{1}, …, g_{t} evaluated by the straight–line program of Theorem 1 also verify that :

h̃t(g_{i}) = h̃t(h_{i}) ≤ (ndδ)^{c_{3}}(η + ht(F)).

The conditions i) and ii) imposed on the polynomials f_{1}, …, f_{t}, f in Theorem 1 and also in Theorem 2 may seem very restrictive, but this is not the case as will be shown in Chapter 6.

We say that a system of polynomials S is in general position when these conditions are satisfied. For any given inconsistent system S of multivariate polynomials, an easy application of Bertini’s Theorem (as done in Chapter 6) allows us to transform the system S into a new system S′ in general position. This transformation is performed by taking linear combinations of the polynomials in S. In fact, this is done by an effective procedure running in polynomial time. This transformation yields the notions of geometric degree δ_{S} (as already introduced in [Giusti et al., 1995], [Krick & Pardo, 1994], [Giusti et al., 1998], [Giusti et al., 1997a], [Morais, 1997]) and height η_{S} of the system S.

We have chosen two estimates for the height of a system : the logarithmic height η_{S} and the invariant logarithmic height η̃_{S}.

Let us remark that these notions depend on the geometric and arithmetic features of the input system, independently from the syntactic representation of the polynomials in S. Let us also remark that δ_{S} is in any case at most d^{n−1} and that applying for instance the results of [Krick & Pardo, 1996], η̃_{S} and η_{S} can be shown to be of order d^{O(n)}.

Corollary 5 (Arithmetic Nullstellensatz) Let R be the ring of algebraic integers of a number field K. Let f_{1}, …, f_{s} be polynomials in R[X_{1}, …, X_{n}] verifying the following conditions :

i) the ideal (f_{1}, …, f_{s}) in K[X_{1}, …, X_{n}] is trivial,

ii) there exists a non–scalar straight–line program Γ of size L, non–scalar depth ℓ = O(log_{2} L) and parameters in a finite set F ⊂ R, and

iii) deg(f_{i}) ≤ d for 1 ≤ i ≤ s.

Then, there exist a non–zero constant a ∈ R \ {0} and polynomials g_{1}, …, g_{s} ∈ R[X_{1}, …, X_{n}] such that the following properties hold :

i) a = g_{1}f_{1} + ⋯ + g_{s}f_{s}

ii) max{deg(g_{i}) : 1 ≤ i ≤ s} ≤ 3n^{2}dδ_{S}, where δ_{S} is the degree of the system f_{1}, …, f_{s}.

iii) The polynomials a^{−1}g_{1}, …, a^{−1}g_{s} can be evaluated (without essential divisions) by a straight–line program over K of size (nd(L + s)δ_{S})^{O(1)}, non–scalar depth O(n(log_{2} δ_{S} + log_{2} L)) and parameters in F ∪ {x ∈ ZZ : | x | ≤ (nd(L + s)δ_{S})^{O(1)}},

iv) the logarithmic height of a, g_{1}, …, g_{s} verify the following bounds :

ht(a) ≤ (ndLδ_{S})^{O(1)}(ht(F) + η_{S} + log_{2} s),
ht(g_{i}) ≤ (ndLδ_{S})^{O(1)}(ht(F) + η_{S} + log_{2} s)

where η_{S} is the (logarithmic) height of the system f_{1}, …, f_{s}, as defined in Chapter 3.

v) The invariant (logarithmic) height of a, g_{1}, …, g_{t} verifies the following upper bound :

h̃t(a^{−1}g_{i}) = h̃t(g_{i}) ≤ (ndLδ_{S})^{O(1)}(ht(F) + η̃_{S} + log_{2} s).

vi) Finally, for the case of R = ZZ, the straight–line program evaluating the polynomials a^{−1}g_{1}, …, a^{−1}g_{s} ∈ Q [X_{1}, …, X_{n}] can be computed by a bounded error probability Turing machine running in time

(nd(L + s)δ_{S})^{O(1)}.

As for the case R = ZZ we give some more specific results concerning algorithmic counterparts of these results. Actually, the procedure followed in Chapter 7 to show Theorem 1, Corollary 3, Theorem 2, Corollary 4 and Corollary 5 (which are existential statements) is the description of an algorithmic procedure based on previous statements and geometric elimination methods (see for example [Giusti et al., 1995], [Krick & Pardo, 1994], [Giusti et al., 1998], [Giusti et al., 1997a], [Giusti et al., 1997c], [Morais, 1997]). We also obtain the following statements :

Corollary 6 (Membership problem for complete intersection varieties) Let R be the ring of algebraic integers of a number field K and for t ≤ n f_{1}, …, f_{t}, f ∈ K[X_{1}, …, X_{n}] polynomials of degree at most d verifying the following hypotheses :

i) the ideal f_{1}, …, f_{t} in K[X_{1}, …, X_{n}] is a complete intersection ideal of codimension t,

ii) the polynomial f belongs to the ideal (f_{1}, …, f_{t}) of K[X_{1}, …, X_{n}], and

iii) there exists a non–scalar straight–line program Γ of size L, non–scalar depth ℓ = O(log_{2} L) and parameters in a finite set F ⊂ R.

Then, there exist a non–zero constant a ∈ R \ {0} and polynomials g_{1}, …, g_{t} ∈ R[X_{1}, …, X_{n}] such that the following properties hold :

i) af = g_{1}f_{1} + ⋯ + g_{t}f_{t},

ii) max{deg(g_{i}) : 1 ≤ i ≤ t} ≤ 3t^{2}dδ, where δ is the degree of the system f_{1}, …, f_{t},

iii) the polynomials a^{−1}g_{1}, …, a^{−1}g_{t} can be evaluated by a non–scalar straight–line program over K of size (tdLδ)^{O(1)} using parameters in F ∪ {a ∈ ZZ : | a | ≤ (tdLδ)^{O(1)}},

iv) the logarithmic height of a, g_{1}, …, g_{t} verify the following bounds :

ht(a) ≤ (tdLδ)^{O(1)}(ht(F) + η),

ht(g_{i}) ≤ (tdLδ)^{O(1)}(ht(F) + η)

where η is the (logarithmic) height of the system f_{1}, …, f_{t}, as defined in Chapter 3.

v) the invariant (logarithmic) height of the polynomials g_{1}, …, g_{t} verifies the following upper bound :

h̃t(a^{−1}g_{i}) = h̃t(g_{i}) ≤ (tdLδ)^{O(1)}(ht(F) + η̃).

As in Corollary 5, a straight–line program evaluating the integer a and the polynomials g_{1}, …, g_{t} ∈ ZZ[X_{1}, …, X_{n}] can be computed by a bounded error probability Turing machine running in time

(tdLδ)^{O(1)}.

We are now in conditions to give upper bounds for the function π_{S}. In particular, we obtain directly from claim iv) of Corollary 5 the following upper bound :

Corollary 7 (Upper bounds for π_{S}) There exists a universal constant c_{1} > 0 (in particular, independent of x) such that for every given system S = {f_{1}, …, f_{s}} ⊆ ZZ[X_{1}, …, X_{n}] of polynomials verifying the hypotheses of Corollary 5, the function π_{S} : IN → IN verifies the bound :

π_{S}(x) ≤ (ndLδ_{S})^{c_{1}}(ht(F) + η_{S} + log_{2} s).

The reduction of the consistency problem in characteristic zero to positive characteristic is not satisfactorily characterized by the upper and lower bounds obtained for π_{S}. Another outstanding estimate concerns density questions in the following sense :

Supposing that S is inconsistent, π_{S} is a bounded function. We are interested in the following question :

Given a system of multivariate polynomial equations S ⊂ ZZ[X_{1}, …, X_{n}], inconsistent over C. Let IP denote the set of all primes and let I ⊆ IP be a given finite set of prime numbers. We are interested in estimates of the ratio of prime numbers p ∈ I such that the system S remains inconsistent when reduced mod p and the cardinality of I. We define a density function depending only on the system S and the set of chosen primes I :

P_{S}(I) := \frac{#\{p ∈ I : S (mod p) is inconsistent\}}{#(I)}.

Estimates for density functions depending on the representation of a in terms of arithmetic operations were initiated in the late seventies and early eighties (as in [Schönhage, 1979], [Ibarra & Moran, 1983], cf. also [Pardo, 1995]). Here, we give the following lower bound for P_{S}(I) :

Corollary 8 There exist universal constants c_{2}, c_{3} > 0 such that the following holds : For every given system of multivariate polynomials S = {f_{1}, …, f_{s}} ⊆ ZZ[X_{1}, …, X_{n}] verifying the hypotheses of Corollary 5, and for every finite subset I ⊆ IP we have :

i) P_{S}(I) ≥ 1 − \frac{(ht(F)+log_{2} L)(δ_{S}n2^{ℓ})^{c_{2}n}}{#(I)}

ii) P_{S}(I) ≥ 1 − \frac{2^{C(S)}}{#(I)}

where C(S) := max{c_{3} log_{2}(ndLδ_{S}), (η_{S} + ht(F) + log_{2} s)}.

Let us observe that the first bound does not take into account the height of the intermediate varieties whereas the second one is polynomial in all the parameters involved. These lower bounds can be applied to estimate densities for small prime numbers as done in the following Corollary :

Corollary 9 There exist universal constants c′_{2}, c′_{3} > 0 such that the following holds : For every given system of polynomials S = {f_{1}, …, f_{s}} ⊆ ZZ[X_{1}, …, X_{n}] verifying the hypotheses of Corollary 5, we have :

i) The probability that, choosing at random a prime number p ∈ ZZ of bit length bounded by (ht(F) + log_{2} L)(δ_{S}n2^{ℓ})^{c′_{2}n} such that the modular system

f̄_{1}, …, f̄_{s} ∈ IF_{p}[X_{1}, …, X_{n}]  (1.6)

is inconsistent, is at least \frac{1}{2}.

ii) The probability that choosing at random a prime number p ∈ ZZ in the set {2, …, (ndLδ_{S})^{c′_{3}}(ht(F)+η_{S} +log_{2} s)} such that the modular system (1.6) is inconsistent, is at least \frac{1}{2}.

Observe that the first bound does not take into account the height of the system. The second bound yields together with the bounds obtained in [Krick & Pardo, 1994] and [Krick & Pardo, 1996] a reduction from inconsistent systems in characteristic 0 to inconsistent systems in characteristic p, where the bit length of p is polynomial in the input size.

As for the lower bounds for π_{S}, we make use of the Generalized Riemann Hypothesis and Chebotarev’s Density Theorem to obtain the following lower bound in terms of intrinsic parameters :

Theorem 10 (Lower bounds for π_{S} [Morais, 1997]) For consistent systems S the following lower bound holds :

π_{S}(x) ≥ \frac{1}{δ_{S}} (π(x) − δ_{S}^{c_{1}}(n − r + η_{s})(1 + c_{2}\sqrt{x}) − δ log x) .

1.3 Overview

First of all, to facilitate the lecture of this work, there is a glossary and symbol index at the end, which together with a table of all occurring degree and height definitions on page 153 should also help reading just individual Chapters when skipping the more familiar material.

In Chapter 2 we introduce the basic notations for absolute values and the Mahler measure for multivariate polynomial as the basis for the discussion of different ways of defining a consistent notion of height. Then, the representation of multivariate polynomials by evaluation schemes (so-called straight– line programs) is introduced together with its relation to computational complexity theory. Next, we show how the height applies to straight–line programs and resume some related results from previous work which will be used as algorithmic ingredients.

Different possibilities of describing zero–dimensional affine algebraic varieties are discussed in Chapter 3. The geometric solution based on a primitive element is introduced as an alternative to the description via the classical Chow form or elimination polynomial. We define a notion of height for affine complete intersection varieties and discuss the relations between the two alternative approaches.

The Chapter 4 shows how the problems of ideal membership, consistency, radicality, smoothness or transversality can be reduced to the central problem of zero–equivalence tests for straight–line programs. This problem has been subject to investigation during the last twenty years and the different approaches to its solution are presented. An efficient algorithmic solution is established.

Chapter 5 is dedicated to the discussion of the trace formula for complete intersection varieties and its application to the division algorithm for the Nullstellensatz. The notions of geometric degree and (variables in) general position are introduced in Chapter 6 to show how to perform an effective preprocessing on a given equation system. This yields an algorithmic solution for the arithmetic Nullstellensatz (Corollary 5) which is given in detail.

The Chapters 7 and 8 are dedicated to the proof of the main complexity results stated in Theorem 1 and 2 respectively. The Corollaries presented in Chapter 1 are shown in Chapter 9. Finally, the appendix briefly resumes the ongoing work within the TERA project (Turbo Evaluation and Rapid Algorithms) related to more applied issues such as program design, implementation and benchmarking of the previously developed algorithms.

16 Chapter 1. Introduction and statement of results

Fixing notations and notions

For the correct and precise elaboration of the results announced in the introduction ingredients from different fields are required. Most of the material is common knowledge, well spread over the mathematical literature. Nevertheless, as the topics range from theoretical computer science to algebraic and diophantine geometry, commutative algebra and back, it is very unlikely that all of the literature covered is available to all of the readers. Therefore we settle in this Chapter the necessary definitions and properties in a succinct form. In this way, the reader will hopefully be able to follow even the less familiar notions and relations up to a level allowing him to proceed to the forthcoming Chapters. Also included are several references giving a more complete view on the subjects.

In Section 2.1, the notation used for multivariate polynomials, absolute values over number fields and the Mahler measure of a polynomial are introduced. Then we briefly discuss in Section 2.2 the theoretical background of the complexity model chosen in this work for the metric measures introduced in Subsection 2.1.4.

2.1 Basic ingredients

2.1.1 Multivariate polynomials

A multivariate polynomial over a field K is a syntactic mathematical object whose existence is due to the systematic study of a certain class of semantical objects : the polynomial functions

f : K^{n} ⟶ K.

Thus in a polynomial we may observe two aspects : the syntactical and the semantical. Years of tradition in the systematic study of polynomial functions have established a convention of representing them by their monomial expansions. Therefore a relevant part of the mathematical studies has tried to relate both aspects. Several different estimates have been used just to connect the syntactical representation and the semantical geometric object, for instance, relating the degree of a polynomial and the degrees of the hypersurfaces given as the fibers f^{−1}({0}).

In what follows we give the notation for the dense monomial encoding : Let ⟨·, ·⟩ denote the standard hermitian product on the field of complex numbers C. For every complex number a ∈ C we denote by | a | := \sqrt{⟨a, a⟩} its absolute value. Each multivariate complex polynomial P ∈ C[X_{1}, …, X_{n}] has a dense representation of the form :

P (X_{1} …, X_{n}) = ∑_{| μ |≤d} P_{μ} X_{1}^{μ_{1}} ⋯ X_{n}^{μ_{n}}

where d := deg(P) denotes the total degree of P, μ := (μ_{1}, …, μ_{n}) ∈ IN^{n} is a multi–index, | μ | := μ_{1} + ⋯ + μ_{n} is its length and P_{μ} are coefficients in C. Whereas the degree is an outstanding syntactical invariant for the geometry of the hypersurface defined by a polynomial, other metric measures are required when diophantine properties are studied. We define the (standard) weight of a complex polynomial P ∈ C[X_{1}, …, X_{n}] as :

wt(P) := ∑_{| μ |≤d} | P_{μ} |.

The number of monomials of a multivariate polynomial P of total degree d is given by the length of the vector of coefficients of P in the dense monomial encoding, which is \binom{d+n}{n}.

2.1.2 Absolute values over number fields

We resume here in a very concise form the language and notation used for absolute values over number fields. For an introduction refer to e.g. [Lang, 1983, Chapter 1] whereas a more complete exposition of the theory of absolute values can found in Artin’s Algebraic Numbers and Algebraic Functions or [McCarthy, 1976]. Let R be the ring of algebraic integers of a number field K and let IK be an algebraic closure of K. Recall that, as Q is a perfect ground field, the casuistic for valuations over arbitrary ground fields (see e.g. [Lang, 1984]) is reduced to the “simple” case of separable extensions.

Observe that, as every valuation ν on K gives rise to an absolute value | · |_{ν}, it has become quite common to use ν also to denote the absolute value | · |_{ν}.

As this simplifies the exposition considerably, we have given in to this abuse of notation.

Whenever ν is an absolute value on K such that for any finite extension E of K holds :

[E : K] = ∑_{w|ν}[E_{w} : K_{ν}]

we say that ν is well behaved. An absolute value ν on K is said to be proper if it is non–trivial, well behaved and its restriction to Q is either trivial, the ordinary absolute value or a p–adic absolute value. A set M_{K} of absolute values on K is said to be proper if every absolute value in it is proper, if any two distinct absolute values are independent and if, given x ∈ K, x ≠ 0, there exists only a finite number of ν ∈ M_{K} such that | x |_{ν} ≠ 1. Let S ⊂ M_{K} be the set of all archimedean absolute values defined on K.

As a common technique, it is useful to localize by considering the completion of the field K with respect to a fixed absolute value. In this way, we will obtain information on the behaviour of the extensions of the absolute values on Q to K by embedding K into the algebraic closure of Q . So, by K_{ν} we denote the completion of K with respect to the absolute value | · |_{ν} and by IK_{ν} we shall denote the algebraic closure of K_{ν}. For sake of simplicity we assume that for archimedean ν its algebraic closure IK_{ν} is included in C.

Finally, according to whether | · |_{ν} is archimedean or not, we shall denote by n_{ν} the degree of K_{ν} over the completion of Q with respect to the absolute value | · |_{ν} : Q ⟶ IR.

We assume that the proper set M_{K} has been chosen such that it satisfies Weil’s product formula with multiplicities n_{ν} : For all x ∈ K \ {0} holds

\frac{1}{[K : Q ]} ∑_{ν∈M_{K}} n_{ν} log | x |_{ν} = 0  (2.1)

where log stands for the natural logarithm, cf. [Lang, 1983, Chapter 2]. Let us recall that by [Lang, 1983, Proposition 4.3] for any given absolute value w on Q and all absolute values ν extending w to K, the following holds :

∑_{ν|w} n_{ν} = [K : Q ].  (2.2)

In our case, where K is a number field, the above can be understood as follows : The set MQ, containing for every prime number p ∈ IN ⊂ Q the p–adic absolute value, together the archimedean absolute value | · |, satisfies the product formula (2.1). The set M_{K} of all absolute values extending the absolute values of MQ from Q to K is usually called the canonical set.

Observe that the canonical set of absolute values M_{K} has only a finite number of archimedean absolute values (precisely the independent extensions of the ordinary archimedean value on Q to K induced by the non–isomorphic embeddings of K into C, see below).

The completion K_{ν} of K with respect to ν ∈ M_{K} extending the archimedean absolute value on Q is either IR or C and ν is called accordingly either real or complex. In this case, the multiplicity n_{ν} is either 1 or 2.

For the non–archimedean case consider a prime ideal 𝔭 in the ring of algebraic integers R of K. Then there exists a unique prime p ∈ IN lying in 𝔭, and for the multiplicity of the absolute value ν ∈ M_{K} extending the p–adic value from Q to K we obtain

n_{ν} = [K_{ν} : Q_{ν}]

which equals the product of ramification index and residue class degree (see e.g. [Lang, 1984, Chapter XII] for more details).

As our intention is to establish a notion of invariant height, let us observe here that the good properties of the Mahler measure chosen as the basis for this undertaking permit us to reduce considerably the amount of technical ingredients introduced here.

First, let us recall that for archimedean valuations, i.e. ν ∈ S, the absolute value | · |_{ν} is defined in the following terms : for every ν ∈ S there exists an associated embedding σ_{ν} : K ⟶ C such that for all a ∈ K,

| a |_{ν} := | σ_{ν}(a) |,

where | · | stands for the usual absolute value in C. For archimedean valuations ν ∈ S, given P a polynomial in R[X_{1}, …, X_{n}], we denote by σ_{ν}(P) the polynomial in C[X_{1}, …, X_{n}] given by

σ_{ν}(P) := ∑_{| μ |≤d} σ_{ν}(P_{μ}) X_{1}^{μ_{1}} ⋯ X_{n}^{μ_{n}}.

Now, for all valuations ν ∈ M_{K} we define the height of P with respect to the absolute value | · |_{ν} as the maximum of the absolute values of the coefficients of P with respect to | · |_{ν}, i.e.

H_{ν}(P) := max_{| μ |≤d}{| P_{μ} |_{ν}}.

We define in the same way for a finite set F ⊆ R the height of F with respect to the absolute value | · |_{ν} as

H_{ν}(F) := max{| a |_{ν} : a ∈ F}.

We define for archimedean absolute values the weight of P with respect to the absolute value | · |_{ν} as the sum of the absolute values of the coefficients of P, i.e. for a polynomial P ∈ R[X_{1}, …, X_{n}] as

wt_{ν}(P) := ∑_{| μ |≤d} | P_{μ} |_{ν}.

Let us remark that wt_{ν}(P) = wt(σ_{ν}(P)) holds.

Finally, for all absolute values ν ∈ M_{K}, we define the logarithmic height with respect to the absolute value | · |_{ν} as

ht_{ν}(F) := log H_{ν}(F) and ht_{ν}(P) := log H_{ν}(P).

2.1.3 Mahler measure of multivariate polynomials

In the context of transcendental number theory, P. Philippon used the Mahler measure to derive a notion of height for projective varieties in [Philippon, 1986], which in the simplest case coincides with the logarithmic absolute height of the point described. Later on, the author observed “le parallélisme qui existe entre cette hauteur et le degré des variétés projectives” and showed this by establishing an arithmetic Bézout inequality in [Philippon, 1991b].

This remark, together with the discussion of possible alternative definitions for the height of a projective variety (which were shown to be equivalent in a precise sense, see [Philippon, 1991b, Par.1]) gave rise to our hope, that a similar behaviour would certainly hold for a (suitably defined) version of height for affine algebraic varieties and the geometric degree as defined in [Heintz, 1983] (see Section 3.3 on page 56).

The Mahler measure of multivariate polynomials was used in [Philippon, 1986] and more recently in [Philippon, 1991b], [Philippon, 1994], [Philippon, 1995]. We begin in this Subsection with the introduction of the Mahler measure for multivariate polynomials to discuss different possible notions of height in the following Subsection 2.1.4.

When dealing with complex polynomials, i.e. when P is seen as element of C[X_{1}, …, X_{n}], an interesting metric measure is available : the Mahler measure M(P) of the polynomial P. M(P) is defined as zero for the zero polynomial P = 0 and for non–zero polynomials as :

M(P) := exp (∫_{0}^{1} ⋯ ∫_{0}^{1} log | P (e^{2πit_{1}}, …, e^{2πit_{n}}) | dt_{1} ⋯ dt_{n}) .

Sometimes we prefer to use the logarithmic Mahler measure which is obviously given as m(P) := log M(P), where log is the natural logarithm. In [Lehmer, 1933], the author used precisely this notion for univariate polynomials under the form :

M(P) := | a_{0} | ∏_{i=1}^{d} max{1, | α_{i} |},

where P is a univariate complex polynomial verifying P = a_{0} ∏_{i=1}^{d}(X_{1} − α_{i}). Let us recall that the link between these two versions of the same invariant is Jensen’s Formula [Lang, 1983, p.60].

The Mahler measure offers good possibilities for obtaining quite strong arithmetic estimates for multivariate polynomials, as the following example shows :

Consider a non–zero multivariate polynomial P ∈ C[X_{1}, …, X_{n}] of total degree d and degree d_{i} in X_{i} : P (X_{1} …, X_{n}) = ∑_{| μ |≤d} P_{μ} X_{1}^{μ_{1}} ⋯ X_{n}^{μ_{n}}. It can be shown ([Lang, 1983, Prop. 2.10]) that the following bound on the absolute values of the coefficients of the polynomial P in terms of its Mahler measure holds :

| a_{(μ_{1},...,μ_{n})} | ≤ \binom{d_{1}}{μ_{1}} ⋯ \binom{d_{n}}{μ_{n}}M(P).

The Mahler measure is closely related to the standard weight wt of the corresponding complex polynomial. In [Philippon, 1986] it was observed that for every complex polynomial P ∈ C[X_{1}, …, X_{n}] the following inequalities hold :

m(P) ≤ log wt(P) ≤ m(P) + d log(n + 1).  (2.3)

A short resumé of the main relations between Mahler measure and degree / number of variables of the polynomial can be found in [Lang, 1983, pp. 59–62]. We will make use of a particular feature of the Mahler measure M, the fact that it is a multiplicative function. This means that M(P Q) = M(P)·M(Q) holds. This multiplicative character is quite relevant for arithmetic Bézout inequalities (as in [Philippon, 1991b], [Philippon, 1994] and [Philippon, 1995]) and we shall use this in Subsection 2.3 to estimate the height of polynomials given by straight–line programs.

However, the behaviour of the Mahler measure with respect to additions of polynomials is not as comfortable (cf. [Philippon, 1986]) :

m(P + Q) ≤ m(P) + m(Q) + (deg(P) + deg(Q)) log(n + 1).

On the other hand, the standard weight is very well suited when dealing with the addition of polynomials : it verifies the triangular inequality

wt(P + Q) ≤ wt(P) + wt(Q),

but it is not as comfortable for products of polynomials. In the sequel we shall profit from the features of each measure (and their relation).

With the same notations as before, we define for archimedean absolute values | · |_{ν} and polynomials P ∈ R[X_{1}, …, X_{n}] the Mahler measure of P with respect to ν as :

M_{ν}(P) := M(σ_{ν}(P)) and m_{ν}(P) := m(σ_{ν}(P)).

Of course, this Mahler measure inherits all properties of the usual Mahler measure m(P) for complex polynomials through the embedding σ_{ν}.

2.1.4 Different notions of height

The measures we have chosen for the estimation of degrees and heights in our complexity study have a double aspect : geometric and diophantine. The geometric aspect refers to properties coming from algebraic geometry. Typically we may consider degrees of polynomials, number of monomials or the cardinality of zero–dimensional solution sets given by systems of multivariate polynomial equations. The diophantine aspect is more concerned with metric properties of the polynomials and the solution sets. In diophantine geometry, the notion of height is of central importance (e.g. [Lang, 1983, Chapter 3-5]) and the techniques developed have proved to be very powerful (e.g. Falting’s proof of Mordell’s conjecture).

Following the idea of Kronecker of unifying the language for the study of arithmetic and algebraic geometry, the field of algebraic geometry has evolved from the works of Castelnuovo, Enriques and Severi to the systematic introduction of tools from commutative algebra initiated by Zariski and Weil. This has established Grothendieck’s “schemes” as the common foundation for algebraic geometry as found in [Hartshorne, 1977]. For an example of how to establish uniform estimates for finiteness Theorems from diophantine geometry using this approach to algebraic geometry, refer to [Silverman, 1987] or Lang’s “Fundamentals of Diophantine Geometry”.

Since our idea for obtaining improved bounds for the arithmetic Nullstellensatz is based on estimations of the metric properties of the straight– line programs appearing in the concepts developed in [Giusti et al., 1995], [Krick & Pardo, 1994], [Krick & Pardo, 1996], [Giusti et al., 1998], [Giusti et al., 1997a], [Giusti et al., 1997c] and [Morais, 1997], we can reduce considerably the amount of “modern algebraic geometry” necessary for our purposes.

Both Nesterenko and Philippon considered in their works the Chow form or elimination polynomial for the introduction of a notion of height for equidimensional varieties. Furthermore, Philippon used the Mahler measure for the definition of an invariant height for projective varieties over the algebraic closure of Q by considering local height functions on the Chow form of the variety. This approach has the interesting advantage that one benefits from Weil’s product formula (2.1).

For the estimations of π_{S} or P_{S} it is sufficient to work with a rather simple notion of height, but this is not the case for the arithmetic Nullstellensatz. We will compare the pairs of (suitably defined) invariant height, archimedean height and elimination polynomial and geometric solution.

To give precise definitions of what we are going to use, we start with the standard definition for the height of a projective point (cf. [Lang, 1983]).

Given a projective point \underline{a} := (a_{0} : a_{1} : …: a_{N}) ∈ IP^{N}(K) with coordinates in the number field K, we define the height of a projective point \underline{a} as :

H(\underline{a}) := ( ∏_{ν∈M_{K}} max\{| a_{i} |_{ν} : 0 ≤ i ≤ N\}^{n_{ν}})^{\frac{1}{[K:Q ]}} ,

which does not depend on the number field K under consideration. Given a finite set F := {b_{i} : 0 ≤ i ≤ N} ⊆ K, we can associate two different projective points in IP^{N+1}(K) to it, either in the infinity hyperplane or lying at a finite distance :

F_{0} := (0 : b_{0} : b_{1} : …: b_{N}) ∈ IP^{N+1}(K),
F_{1} := (1 : b_{0} : b_{1} : …: b_{N}) ∈ IP^{N+1}(K).

Looking at the height of these two distinct projective points yields two different possible notions of height of the finite set F, namely H_{0} and H_{1}.

H_{0}(F) := H(F_{0}) = ( ∏_{ν∈M_{K}} max\{| b_{i} |_{ν} : 0 ≤ i ≤ N\}^{n_{ν}})^{\frac{1}{[K:Q ]}} ,

H_{1}(F) := H(F_{1}) = ( ∏_{ν∈M_{K}} max\{1, | b_{i} |_{ν} : 0 ≤ i ≤ N\}^{n_{ν}})^{\frac{1}{[K:Q ]}} .

For the thus defined heights holds H_{0}(F) ≤ H_{1}(F). Let us observe that if the finite set F consists of just one point F = {α} ∈ K, the height H_{1}(F) gives the usual notion of height of the algebraic number α ∈ K. Observe that the consequence of embedding F as a projective point at a finite distance has strong consequences for the derived height H_{1}, when F is contained in the ring of algebraic integers of K. In this case, only the archimedean absolute values contribute to the height and the following holds :

H_{1}(F) = (∏_{ν∈S} max\{1, | b_{i} |_{ν} : 0 ≤ i ≤ N\}^{n_{ν}})^{\frac{1}{[K:Q ]}} .

In particular, if F ⊆ {z ∈ ZZ : | z | ≤ N} we can easily conclude that H_{0}(F) ≤ H_{1}(F) ≤ N. Using the height H_{1} as introduced above, we can derive the following notion of logarithmic height for a finite set F :

the logarithmic height ht(F) := log H_{1}(F).

Note that we could have introduced in a similar way a notion of invariant logarithmic height for a set F using the height H_{0}. Instead, we assume that the parameter 1 is always in our parameter set F and can thus avoid this notational complication, since ht(F) = log H_{0}(F) holds in this case.

As our main concern are metric estimates for multivariate polynomials P ∈ R[X_{1}, …, X_{n}], and since we do not have to relate the obtained estimates with any particular coefficient of the polynomial, we can identify the polynomial P with the finite set F of cardinality N of its coefficients b_{i}. This will do for us using any arbitrary enumeration of the coefficients.

Now, we place the point obtained from the coefficients of P at finite distance as before, and obtain a definition for the height of the polynomial P denoted by H_{1}(P) as :

H_{1}(P) := ( ∏_{ν∈M_{K}} max\{1, | b_{i} |_{ν} : 0 ≤ i ≤ N\}^{n_{ν}})^{\frac{1}{[K:Q ]}}
= (∏_{ν∈S} max\{1, | b_{i} |_{ν} : 0 ≤ i ≤ N\}^{n_{ν}})^{\frac{1}{[K:Q ]}} .

Similarly, we define the logarithmic height of the polynomial P as :

ht(P) := log H_{1}(P).

Observe that the logarithmic height ht defined above is non–negative and that for monic polynomials P ∈ R[X_{1}, …, X_{n}] (with respect to some variable, say X_{n}) we obtain the following behaviour :

H_{1}(P) = H_{0}(P) = H_{0}(αP) and H_{1}(αP) ≤ H_{1}(α)·H_{1}(P) for all α ∈ K \{0}.

Now, we could define the height of the polynomial P as the height of the projective point (given by the coefficients of P as before) in the infinity hyperplane, denote it by H_{0}(P)) and derive thus a notion of invariant logarithmic height denoted by log H_{0}(P). Here, instead we chose the following alternative approach, which has some advantages :

As in [Philippon, 1986] and [Philippon, 1991b] we introduce the Mahler measure instead of archimedean absolute values to define the invariant logarithmic height of a polynomial P as :

h̃t(P) := \frac{1}{[K : Q ]}(∑_{ν∈S} n_{ν}m_{ν}(P) + ∑_{ν∈M_{K}\S} n_{ν}ht_{ν}(P)).

Because of Weil’s product formula (2.1) we easily conclude that h̃t is invariant under scalar multiplication by algebraic numbers i.e. for non–zero α in R and non–zero polynomials P in R[X_{1}, …, X_{n}] holds :

h̃t(αP) = h̃t(P).

Just as the previously defined height ht, this new measure h̃t is also non– negative. From the proof of [Philippon, 1986, Proposition 1.12]. we obtain the following result :

For every non–zero polynomial P ∈ C[X_{1}, …, X_{n}] of degree d, there exists μ ∈ IN^{n}, | μ | ≤ d, such that the coefficient P_{μ} of \underline{X}^{μ} is non–zero and for all archimedean absolute values | · |_{ν} holds :

m_{ν}(P) ≥ log | P_{μ} |_{ν}.

Since this inequality also holds for non–archimedean absolute values, we conclude :

h̃t(P) = \frac{1}{[K : Q ]} ∑_{ν∈S} n_{ν}m_{ν}(P) + ∑_{ν∈M_{K}\S} n_{ν}ht_{ν}(P)

≥ \frac{1}{[K : Q ]} ∑_{ν∈M_{K}} n_{ν} log | P_{μ} |_{ν} = 0.

Using the relation between the Mahler measure and the weight for archimedean absolute values we obtain for every polynomial P ∈ R[X_{1}, …, X_{n}] of degree at most D the estimation :

h̃t(P) ≤ log \binom{D + n}{n} + ht(P).

Remark For the statements of our results we shall mainly work with ht(P) and h̃t(P), the remaining notation will be used only in the proofs.

Philippon’s notion of invariant height h̃t as defined above has been chosen instead of the more classical one found in [Lang, 1983] using H_{0}. The reason is the good behaviour of Mahler’s measure in terms of multiplication of polynomials, which is not the case for the alternative height we could have derived from H_{0}. This has been illustrated by a Bézout equality in [Philippon, 1991b], [Philippon, 1994], [Philippon, 1995].

Observe that using the above definition of invariant height h̃t, we obtain for any two multivariate polynomials f, g ∈ R[X_{1}, …, X_{n}] :

h̃t(fg) = h̃t(f) + h̃t(g).

This property will be useful to relate the height of a variety to the height of its irreducible components in a very natural form. On the other hand, if we would use log H_{0} as an alternative height this would yield inferiour behaviour already in the case of hypersurfaces : For f, g as before of degree at most d, we obtain :

log H_{0}(fg) ≤ log \binom{d + n}{n} + log H_{0}(f) + log H_{0}(g).

One might argue that the behaviour of Philippon’s invariant height h̃t with respect to other arithmetic operations with polynomials (such as additions) is more difficult to analyze. However, this drawback is less relevant since the height depends essentially on the non–scalar arithmetic operations (as remarked in [Krick & Pardo, 1996]). The problem appearing when dealing with additions can be overcome using the good relations between the Mahler measure and the weight, whose behaviour with respect to additions is excellent. This is the reason why in our demonstrations the weight appears as a technical tool in the estimations.

Philosophically speaking, our results will hold for any reasonable notion of height. The rather heavy use of notation has become necessary only to avoid loosing track of the details in the essentially computational proofs. Most of our bounds also hold for Lang’s invariant logarithmic height, since they also hold for the following measure w̃t :

w̃t(P) := \frac{1}{[K : Q ]}(∑_{ν∈S} n_{ν} log wt_{ν}(P) + ∑_{ν∈M_{K}\S} n_{ν}ht_{ν}(P))

which is strictly greater than any of the heights defined before and also invariant under scalar multiplication.

We shall need the relations between the Mahler measure of a polynomial and the Mahler measure of its coefficients with respect to some distinguished variable. These relations can be resumed in the following Lemma :

Lemma 11 Let P ∈ R[X_{1}, …, X_{n}][T] be a polynomial of total degree N and degree D with respect to the variable T. Let us assume that P has the following form :

P := a_{D}T^{D} + a_{D−1}T^{D−1} + ⋯ + a_{0}

where a_{i} ∈ R[X_{1}, …, X_{n}], for 0 ≤ i ≤ D and a_{D} ≠ 0. Then the following estimates hold :

i) For every absolute value | · |_{ν},

ht_{ν}(a_{i}) ≤ ht_{ν}(P) = max{ht_{ν}(a_{i}) : 0 ≤ i ≤ D},

wt_{ν}(a_{i}) ≤ wt_{ν}(P) = ∑_{i=0}^{D} wt_{ν}(a_{i}).

ii) For every archimedean absolute value | · |_{ν}, we have the following relations between the Mahler measure of P and the Mahler measure of its coefficients :

m_{ν}(a_{i}) ≤ m_{ν}(P) + log \binom{D}{i} ≤ m_{ν}(P) + D log D,

m_{ν}(P) ≤ N log(n + 1) + ∑_{i=0}^{D} m_{ν}(a_{i}).

Proof.– Property i) follows immediately. The first inequality of ii) is a consequence of [Philippon, 1986, Lemme 1.13]. The second inequality follows since the Mahler measure is bounded by the weight :

M_{ν}(P) ≤ wt_{ν}(P) = ∑_{i=0}^{D} wt_{ν}(a_{i}) ≤ ∑_{i=0}^{D} M_{ν}(a_{i})(1 + n)^{deg(a_{i})}.

As a consequence, we obtain the following Corollary :

Corollary 12 (Coefficients) With the same notations and assumptions, we have :

i) ht(a_{i}) ≤ ht(P) = max{ht(a_{i}) : 0 ≤ i ≤ D}

ii) h̃t(a_{i}) ≤ h̃t(P) + D log D

iii) h̃t(P) ≤ N log(n + 1) + (D + 1) + ∑_{i=0}^{D} h̃t(a_{i})

2.2 Computational complexity

When developping algorithms for the solution of a given problem, one is not only confronted with the questions arising naturally in the problem domain, but also with the question whether the “price” (in terms of computation time and memory consumption) for the execution of the resulting algorithm might not not be too high.

The underlying problem, the analysis of the complexity of an algorithm, is by no means trivial, and several authors have dedicated entire books to this subject, see for example [Aho et al., 1974], [Baase, 1978], [Bini & Pan, 1994], [Brassard & Bratley, 1988], [Knuth, 1968], [Modi, 1988], [Smith, 1992].

One important thing to keep in mind when talking about complexity analysis is the dependence of the obtained results on the underlying complexity model, i.e. the way the “accounting” of the operations (= units of time) and space (= units of memory) in a theoretical computer model is done.

The most important theoretical model is the well–established Turing machine model. Following Church’s Thesis, every algorithm can be realized by a Turing machine. The numerous results obtained in theoretical computer science have established a characterization of computational problems and algorithms for their solution in terms of complexity classes, establishing thus hierarchies of increasing difficulty. The known problems are classified in terms of these complexity estimates. In general, problems requiring more than polynomial time are considered as intractable. References : [Balcázar et al., 1988], [Garey & Johnson, 1979], [Papadimitriou, 1994].

We resume in Subsection 2.2.1 the language and definition of the Turing machine complexity model to introduce then some elementary complexity classes which will be importance for our work. The Subsections 2.2.2 and 2.2.2 are dedicated to discuss the basics of representing multivariate polynomials by evaluation schemes.

2.2.1 Turing machines and complexity classes

The analysis of computer algorithms should be based on a sound theoretical model which should correspond closely to the way computers really work. This assures that the theoretical results obtained with this model are significative for the real behaviour of the algorithm implemented on a existing computer.

To represent information, one fixes a finite alphabet (usually {0, 1}) and considers the words over this alphabet, {0, 1}^{∗} = ∪_{n∈IN}{0, 1}^{n}. The length of a word w ∈ {0, 1}^{∗} is the minimum number N such that w ∈ {0, 1}^{N}.

A deterministic Turing machine is a hypothetical device consisting of a finite number of states and a finite number of tapes, each with a head permitting read-write operations of symbols between the tape and the machine. One tape will be identified as the input tape, the rest serves as work and output tapes. The accounting for movements is done by units of time, each tape can moved by one to the left or right and one symbol read or written. These read-write operations together with one change of the machine’s state are considered as one computational operation. The changes from one state to the next are determined by a (partial) transition function, identifying some of the states of the machine as ’accepting’ states.

At the beginning, the machine is in an initial state with a word w on the input tape and the remaining tapes are empty. Now, applying the transition function which prescribes the behaviour of the machine, the input is read, computations are performed and the state is accordingly changed until either one of the ’accepting’ states is reached (in this case we say that the machine accepts the word w) or the transition function for the next state is undefined. In either case the machine stops. Similarly, Turing machines computing functions can be defined.

In this way, a seemingly reduced but fully functional computer can be simulated. Two important measures can be defined for this model : the computation time (for this machine on input w) as the number of computation steps performed until the machine stops, and the memory space as the maximum number of symbols simultaneously existing on the tapes during the execution.

This model has been studied thoroughly (the impact of changing the number of tapes on computation time/space etc, see e.g. [Balcázar et al., 1988]), and permits the definition of a worst case estimate :

Definition 13 For a fixed deterministic Turing machine, define T : IN → IN : T(N) as the maximum over the computation time of the machine on all input words w of length N, and similarly S : IN → IN : S(N) as the maximum over the memory space of the machine on all input words w of length N.

Complexity classes

Based on the previous definition of T (N), S(N) several time and space complexity classes can be defined as follows :

Problems which can be solved by a Turing machine in time T (N) = N^{O(1)} polynomial in the input size belong to the time complexity class P, which is considered as a class of computationally feasable problems. On the other extreme, the non–treatable problems which can be solved by a Turing machine in time T (N) = 2^{O(N)} exponential in the input size belong to the time complexity class EXP T IME.

Similarly, for the space complexity measure S(N), can be defined P SP ACE, the class of problems which can be solved by a Turing machine in space S(N) = N^{O(1)} polynomial in the input size. Again, the problems which can be solved by a Turing machine in space S(N) = 2^{O(N)} exponential in the input size belonging to the time complexity class EXP SP ACE are considered as untreatable.

The obvious inclusions P ⊂ EXP T IME and P SP ACE ⊂ EXP SP ACE are known to be strict.

In this model, one fundamental restriction is the deterministic change from one machine configuration to the next. This condition can be relaxed by replacing the one–valued (partial) transition function by a multi–valued one, introducing thus a notion of non–deterministic Turing machines, as found in [Gill, 1972]. This approach can be understood intuitively as giving the previous model the additional capacity of guessing (“Coin-tossing”). Similarly, we can define the class NP of problems (represented by words) which are solved (accepted) by at least one of the accepting states of a non–deterministic Turning machine in polynomial time T (N) = N^{O(1)}.

The most well-known open problem in this context is Cook’s Thesis stating P ≠ NP (see [Cook, 1971]). The inclusion P ⊆ NP holds trivially, but it is not known whether this inclusion is strict or not.

There have been many more definitions of complexity classes in the attempt of refining and separating the different problem classes found, not always very successfully.

A intuitive interpretation of the difference between P and NP is probably the difference between solving a problem and verifying a (given) solution in polynomial time. On the upper end of the inclusion chain of complexity classes which are considered of practical interest we have NP ⊆ P SP ACE, again it is not known whether the inclusion is strict.

This is precisely the reason for the great interest in the complexity class NP : it has become clear that the frontier between computationally feasable and untreatable problems is situated here.

Therefore, detailed analysis of many problems pertaining to the class NP have been made, and reduction arguments relating them have been established :

Definition 14 For a given complexity class C, we distinguish special types of problems : If all problems belonging to C can be reduced by means of a deterministic Turing machine in polynomial time to a given problem A, this problem is called C–hard. If, furthermore, A belongs to the class C, A is called C–complete.

For the case of P and NP the consequence is that if we can show any particular NP –complete problem to be in the class P, we have shown P = NP. Some well known NP –complete problems are : Knapsack, Travelling Salesman, Satisfiability, see e.g. [Garey & Johnson, 1979].

In view of the lower bounds for elimination problems given in [Pardo, 1995], [Heintz & Morgenstern, 1993], [Giusti et al., 1997a] and [Heintz et al., 1997] and that even more recently, in [Shub & Smale, 1998], the authors related the consistency problem directly to Cook’s thesis of P ≠ NP, one should be aware that the efficient algorithmic solution of eliminition problems in a generalistic way would have very strong implications, and therefore becomes quite unlikely.

We are left with two problems : a) either demonstrate by establishing stronger, absolute lower bounds that no elimination problem of interest is treatable or,

b) renounce to the generalistic approach, establish classes of computationally feasable elimination problems and efficient algorithms for their solution.

The problem in the case b) can be resumed in the following questions :

- how to define a suitable notion of problem class, i.e.

- by which criteria can we decide which elimination problems are feasable?

- how can we construct algorithms which make active use of these criteria to distinguish between “good” and “bad” problems and resolve the “good” cases?

These questions have been considered and the work published in : [Giusti et al., 1995], [Krick & Pardo, 1994], [Giusti et al., 1998], [Krick & Pardo, 1996], [Giusti et al., 1997a], [Matera, 1997] and [Morais, 1997] is the first known attempt in this direction to give computationally feasable answers.

The time complexity class BPP

The class BP P of Bounded Error Probabilistic Polynomial Time Algorithms (with uniform complexity measure time) consisting of all algorithms of polynomial running time using probabilistic methods and information on the actual input to choose a criterion by which to decide whether the input has a property P or not. If the answer given by the algorithm is “Yes”, it is always correct, and when the answer is “No”, the error probability is bounded by \frac{1}{2}.

In practice, this type of algorithm is quite common, a well-known example is the Rabin-Miller primality test [Rabin, 1980], [Miller, 1975], which, following the above definition, should be rather called “Compositeness” test. The main idea is to iterate the test on the same input, each time using a random number depending on the size of the input to perform certain congruence tests. As the probability of error is bounded by \frac{1}{2} for each test, a small number of iterations is sufficient to achieve a practical error bound which is smaller than the fault tolerance of the computer used to perform the tests.

The theoretical model for this type of algorithms is that of “coin-tossing” or probabilistic Turing machines, as introduced in [Gill, 1972] and successively extended in [Cucker et al., 1995]. We observe that P ⊆ BP P ⊆ NP holds, but of neither inclusion it is known whether it is strict or not.

In the sequel we will always use the notion of deterministic Turing machines, unless otherwise mentioned.

The space complexity class P/poly

The class P/poly (with non–uniform complexity measure time being polynomially related to boolean network size) consists of all algorithms of Polynomial size, which, once given a polynomial size advice (depending only on the class of the input), will accept deterministically exactly the correct inputs. In difference with a BPP algorithm, the answer given by a P/poly algorithm with a correct advice is always correct, and the advice will be valid for the whole class of possible inputs of fixed size, independent from the actual input of the algorithm.

The problem here becomes how to find advice, as in most cases an exhaustive search for such an advice or the verification of suitability of a candidate for a valid advice is prohibitive (exponential time). When we use some function to construct a likely candidate the probability of error given for a P/poly test depends on that function. As an old german proverb says : Guter Rat ist teuer – Good advice comes expensive.

Note, that from a theoretical point of view, once one has a correct advice for a given problem (and happens to know this), the advice will be valid for testing the whole class of inputs of fixed size, and there is no need to iterate the algorithm with different choices.

2.2.2 Straight–line programs

In Subsection 2.1.1 we introduced the dense monomial encoding for multivariate polynomials. Here we present an alternative way of representing polynomials which seems to be closer to the semantical object (i.e. a function represented by the given polynomial). A polynomial is not seen by itself but rather as a scheme for the evaluation of the polynomial function it defines. This approach yields the representation of polynomials as straight–line programs. Moreover we state some results on the existing relations between the two different approaches of straight–line program and dense monomial encoding. For further introductory reading consider : [Borodin & Munro, 1972], [Bürgisser et al., 1997], [Heintz, 1989], [Pardo, 1995], [Pardo, 1997], [Strassen, 1990], [von zur Gathen, 1986].

Once we have changed the encoding of the polynomials, different estimates arise, which will be the subject of the forthcoming Section 2.3.

Recalling the notation for multivariate polynomials introduced in Subsection 2.1.1, let us briefly consider the number of monomials of such a polynomial P (X_{1} …, X_{n}) = ∑_{| μ |≤d} P_{μ} X_{1}^{μ_{1}} ⋯ X_{n}^{μ_{n}} of total degree d. The vector of coefficients of P in dense monomial encoding has \binom{d+n}{n} entries, which yields a very bad bound for the time necessary for the evaluation of the polynomial.

Consider for example the following polynomial : P = 1 + x + x^{2} + x^{3} + ⋯ + x^{2^{n}−1}, which has 2^{n} coefficients. Nevertheless it is possible, using the identity P = (1 + x)(1 + x^{2})(1 + x^{2^{2}}) ⋯ (1 + x^{2^{n−1}}), to evaluate this polynomial in just 3n operations.

This particular behaviour of polynomials was observed already by I. Newton in 1667, when he stated that denoting a evaluation scheme by

\overline{\overline{\overline{y − 4} × y : +5} × y :: −12} × y : +17

would facilitate the evaluation of the polynomial (((y − 4)y + 5)y − 12)y + 17 [Newton, 1667] (at that time people still depended on hand computations so they payed more attention to this kind of observations than this is (unfortunately) nowadays the case).

This idea, which already moved the indians in 200 B.C. ([Pingala, 1935]) is found again in a work by A. Scholz [Scholz, 1937] on addition chains. Later on, the seminal work of A. Ostrowski, questioning the optimality of the Horner evaluation scheme for polynomials established the roots of algebraic complexity theory (see ([Ostrowski, 1954]). Studies on the lower bounds for the evaluation of similar program schemes were carried on by T.S. Motzkin, E.G. Belaga and V. Pan under the influence of Kolomogorov, see e.g. [Motzkin, 1955], [Belaga, 1961], [Pan, 1966].

In the late seventies the idea to use evaluation schemes as a datastructure for some special polynomials occuring in elimination procedures appeared and can be found more or less explicitely in several works, mainly treating the equivalence problem for evaluation schemes, see for example [De Millo & Lipton, 1978], [Schwartz, 1979], [Zippel, 1979], [Heintz & Schnorr, 1982] and [Ibarra & Moran, 1983]. This problem together with the different approaches chosen will be discussed in detail in Chapter 4.

The first applications of evaluation schemes to the (at that time rather young) field of computer algebra treated elimination problems in one variable, e.g. absolute primality, greatest common divisor, factorization of polynomials (always considering evaluation schemes for the representation of the polynomials), see for example [Heintz & Sieveking, 1980], [Kaltofen, 1988], [Kaltofen, 1989]).

More recently, the use of evaluation schemes has been introduced to elimination theory in several variables, using duality techniques and adapted versions of V. Strassen’s “Vermeidung von Divisionen” (resumed in Section 2.4) in the works of [Fitchas et al., 1995], [Giusti & Heintz, 1993], [Giusti et al., 1993], [Heintz & Morgenstern, 1993], [Krick & Pardo, 1994], [Krick & Pardo, 1996]).

In the sequence of papers [Giusti et al., 1995], [Giusti et al., 1998], [Giusti et al., 1997a] and [Giusti et al., 1997c] the authors showed that in fact the polynomials appearing during the elimination process of their algorithm for “geometric solving” of multivariate polynomial equation systems describing affine algebraic varieties also share the particular behaviour observed above : they are far easier to evaluate than the bounds obtained by the dense monomial encoding approach would suggest. A detailed discussion of the elimination algorithm can be found in [Morais, 1997].

In [Bürgisser et al., 1997] the notion of straight–line program is treated in full generality and different models for counting operations are discussed. Here, our interest is focused on the non–scalar model. We define the notation used for a particular type of evaluation scheme called non–scalar straight– line program, present some of the basic concepts and give some elemental results on its properties.

Non-scalar straight–line programs

In the sequel we will work with the complexity model of non–scalar straight– line programs (see for instance [Heintz, 1989], [Strassen, 1990], [Pardo, 1995], [Montaña et al., 1991] or [Krick & Pardo, 1996]) : a non–scalar straight–line program is a structure which evaluates (and hence represents) a given polynomial of R[X_{1}, …, X_{n}], taking R–linear operations for free.

Remark : We shall tacitly assume that our straight–line program does not contain any division.

We represent a straight–line program for the evaluation of a polynomial P ∈ R[X_{1}, …, X_{n}] by a directed acyclic graph G whose nodes are labelled gates which perform arithmetical operations. Therefore we identify the nodes of G with the corresponding gates. The graph G disposes of n + 1 particular nodes labelled by the variables X_{1}, …, X_{n} and the constant 1. These nodes are called the input gates of G. We define the depth of a gate ν of our graph as the length of the longest path which joins ν with some input gate. Let us denote the gates of the directed acyclic graph by pairs of integer numbers (i, j), where i represents the depth of the gate and j is the corresponding value of an arbitrary numbering imposed to the set of gates of depth i (this notation for the analysis of parallel complexity has been inspired by [Montaña & Pardo, 1993] and [Montaña et al., 1996]).

Definition 15 (Non-scalar straight–line program) A division-free non– scalar straight–line program with inputs X_{1}, …, X_{n} is a pair Γ := (G, Q), where G is a directed acyclic graph, with n + 1 input gates, unbounded fan– in, and Q is a function that assigns to every gate (i, j) one of the following instructions :

i = 0 : Q_{0,1} := 1 , Q_{0,2} := X_{1} , …, Q_{0,n+1} := X_{n}

1 ≤ i ≤ ℓ : Q_{i,j} := ( ∑_{{r≤i−1 \atop 1≤s≤Lr}} A_{i,j}^{r,s} Q_{r,s}) · ( ∑_{{r′≤i−1 \atop 1≤s′≤L_{r′}}} B_{i,j}^{r′,s′} Q_{r′,s′})

Here, A_{i,j}^{r,s} and B_{i,j}^{r′,s′} are indeterminates over R called the parameters introduced in Γ. The non–scalar size of the straight–line program Γ is L(Γ) = L_{0} + … + L_{ℓ} (where L_{0} := n + 1) and its non–scalar depth ℓ(Γ) = ℓ (these notions coincide with the notions of size and depth of the underlying computation graph).

Observe that the rather complicated notation in Definition 15 (non–scalar straight–line program) arises from the fact that a single non–scalar node in the graph represents the total of all scalar (i.e. R–linear) operations contributing to this node.

Let us mention that in our notation the sub–indices i, j of the parameters A_{i,j}^{r,s} and B_{i,j}^{r′,s′} represent the gate of the multiplication they are assigned to and the super–indices r, s correspond to the previous result they involve in the multiplication. We abbreviate \underline{A} = (A_{i,j}^{r,s}) and \underline{B} = (B_{i,j}^{r′,s′}). Semantically speaking the straight–line program Γ defines an evaluation algorithm of the polynomials (intermediate results) :

Q_{i,j} = ∑_{| μ |≤2^{i}} Q_{i,j}^{μ}(\underline{A}, \underline{B}) X_{1}^{μ_{1}} … X_{n}^{μ_{n}}.  (2.4)

Here, each coefficient Q_{i,j}^{μ}(\underline{A}, \underline{B}) belongs to the polynomial ring ZZ[\underline{A}, \underline{B}]. The result Q_{i,j} has degree at most 2^{i} with respect to the variables X_{1}, …, X_{n}.

We obtain a non–scalar straight–line program over a ring R by specialisation of the non–scalar straight–line program Γ, substituting the parameter lists \underline{A} and \underline{B} by elements of the ring R \underline{α} = (α_{i,j}^{r,s}) and \underline{β} = (β_{i,j}^{r′,s′}) (we insist on the fact that α_{i,j}^{r,s}, β_{i,j}^{r′,s′} belong to R).

A specialisation\underline{A} → \underline{α}, \underline{B} → \underline{β} of the parameters of Γ induces a straight– line program (computation) in R[X_{1}, …, X_{n}] in the most obvious way. The intermediate results of this specialized straight–line program γ are the polynomials of the form Q_{i,j}(\underline{α}, \underline{β}, X_{1}, …, X_{n}). In this sense we shall say that a given polynomial P ∈ R[X_{1}, …, X_{n}] is evaluable, or computable, by (a specialisation of) the straight–line program Γ if there exists a specialisation \underline{A} ⟶ \underline{α}, \underline{B} ⟶ \underline{β} of the parameters of Γ such that for some gate (i, j) the following equality holds :

P (X_{1}, …, X_{n}) = Q_{i,j}(\underline{α}, \underline{β}, X_{1}, …, X_{n}).  (2.5)

Taking into account the representation of (2.4) we can rewrite Identity (2.5) as :

P^{μ} = Q_{i,j}^{μ}(\underline{α}, \underline{β})

for all μ with | μ | ≤ 2^{i} and P^{μ} = 0 for | μ | > 2^{i}. Let us remark that the degree of such a polynomial P = Q_{i,j}(\underline{α}, \underline{β}, X_{1}, …, X_{n}) is generically equal to 2^{i} in the space of parameters.

Finally, P ∈ R[X_{1}, …, X_{n}] is computable by a straight–line program Γ with parameters in the finite set F := {α_{ij}^{rs}, β_{ij}^{r′s′}}.

Reduction arguments

For the forthcoming application to zero–equivalence tests for integers given by straight–line programs (see also Chapter 4) it is sufficient to consider straight–line programs in Q and ZZ, so we will restrict our attention here to these cases. We are only interested in straight-line programs without input variables, i.e. straight-line programs which, when evaluated, yield rational numbers or integers. The following paragraph shows that we can restrict our attention to straight-line programs for integers. Recall that for integers z ∈ ZZ the height defined in the previous Chapter yields simply the binary length of the number : ht(z) = ⌈log_{2} | z |⌉.

Reduction to ZZ

Lemma 16 Let Γ be a straight-line program in Q with parameters q_{1}, …, q_{n} evaluating a representation of the rational number q ∈ Q . We can compute in time linear in the length of Γ a division-free straight-line program Γ′ with at most 2n parameters in ZZ that outputs numerator and denominator of a (not necessarily reduced) representation of the rational number q computed by Γ.

Proof.– The idea simply consists of keeping separately track of the numerators and denominators of the parameters and intermediate results appearing in the straight–line program. The size of the parameter set will double, as we introduce two integers for each rational parameter q_{i}. The length of the new straight–line program Γ′ is at most four times the length of Γ since every non–scalar operation in Γ produces 2 operations in Γ′, whereas operations +, − cause 4 operations. The new straight–line program Γ′ will have two separate output nodes calculating a numerator and denominator for the rational number q.

Observe that the procedure described above does not necessarily produce the reduced representation of q. The problem of how to recover this reduced representation are treated in Subsection 2.2.2 on page 40.

Lemma 17 For every n ∈ ZZ there exists a division-free straight-line program Γ in ZZ of length L = ht(n) evaluating n.

Proof.– This follows using the binary representation of n and applying to it evaluation by the “Horner scheme” at the value 2 in order to construct Γ. Given n and its binary representation a_{m}a_{m−1} … a_{0}, we define a polynomial f ∈ ZZ[x] as f(x) := (((a_{m} ∗ x + a_{m−1}) ∗ x + a_{m_{2}}) ∗ x … + a_{0}). The evaluation at x = 2 of the straight-line program associated with f yields n.

Lemma 18 Given a division-free straight-line program Γ in ZZ of length L evaluating an integer n with m parameters z_{1}, …, z_{m} in ZZ, it is possible to construct a division-free straight-line program Γ′ in ZZ for n of length L′ ≤ L + 1 + ∑ ht(z_{i}) with parameters 0, 1.

Proof.– Apply Lemma 17 to construct a straight-line program Γ_{i} of length ht(x_{i}) for every parameter x_{i} of Γ. Then replace the parameter 2 appearing in Γ_{i} by the sequence 1 + 1 and construct Γ′ from the Γ_{i}. This results in a straight-line program Γ′ of length L′ = L + 1 + ∑_{i=1,...,n} ht(x_{i}).

Note that, given a straight-line program in Q for a rational number q ∈ Q , by applying Lemma 16 (division-free straight-line programs in ZZ for numerator, denominator of q), reduction of the number of output nodes and Lemma 17 (reduction of parameters) it is possible to restrict one’s attention for the forthcoming Theorems to division-free straight-line programs in ZZ with parameters 0, 1.

Reduction to the boolean context

As the intention behind our work is to establish praticable algorithms, it is reasonable to check their complexity behaviour in a boolean (i.e. bit level) setting, since the arithmetic circuit model does not reflect the parameter space, which is crucial for implementation.

Given an arithmetic expression of the form x op y in ZZ_{m}, m ∈ ZZ with op in {+, −, ∗}, it is easy to construct a boolean network with 2⌈log_{2}m⌉ input gates and ⌈log_{2}m⌉ output gates, which simulates the arithmetic operation modulo m in size (log_{2}m)^{O(1)}.

Definition 19 (Straight–line program in ZZ_{m}) Given a natural number m ∈ IN and a division free straight–line program Γ in ZZ evaluating an integer n ∈ ZZ. Then we denote by Γ_{m} the straight-line program in ZZ_{m} obtained from Γ by replacing in each step the operation applied by its equivalent instruction modulo m. Thus, x_{i} = x_{i_{1}} op x_{i_{2}} is replaced by x_{i} = x_{i_{1}} op x_{i_{2}} (mod m).

Lemma 20 The straight–line program Γ_{m} in ZZ_{m} evaluates the integer residue n (mod m) of the integer n evaluated by Γ.

Proof.– By induction on L and using the fact that the reduction modulo m is a homomorphism compatible with the arithmetic operations in ZZ.

The straight–line program Γ_{m} in ZZ_{m} of length L corresponds to a boolean network Γ_{B,m} of size O(L) · (log_{2}m)^{O(1)} calculating the output of Γ_{m}. Γ_{B,m} can be constructed by replacing the arithmetic instructions (mod m) in the nodes of Γ_{m} by the corresponding boolean networks of size ⌈log_{2}m⌉^{2}.

Rational reconstruction

Consider the following problem :

Problem 1 Given a straight–line program Γ of length L and non–scalar depth ℓ in ZZ evaluating two integers I and J, find the reduced representation of \frac{I}{J}, i.e. find integers A, B such that A and B are relative prime and \frac{I}{J} = \frac{A}{B} holds.

The problem consists in the fact that even if if A and B have a small binary size, this does not necessarily hold true for the integers I and J evaluated by the straight–line program Γ. Observe that such a straight–line program in Z of length L can evaluate an integer z of huge binary size : | z | ≤ 2^{2^{L}}.

Here we show how to obtain an algorithm for the rational reconstruction of a rational number q given by a straight–line program in ZZ, permitting the recovery of a reduced representation of the rational number q independently from the binary size of the representation evaluated by the straight–line program.

This practicable solution overcomes the problem of intermediate expression swell in the binary representation of the intermediate results of the rational numbers used during the computations. First, we recall a few basic algorithms and Theorems, taken verbatim from [Cohen, 1993] and [Knuth, 1981].

Algorithm 21 (Extended Euclidean) Given non–negative integers a and b, this algorithm determines (u, v, d) such that au+bv = d and d = gcd(a, b). We use auxiliary variables v_{1}, v_{3}, t_{1}, t_{3}.

1. [Initialize] Set u = 1, d = a. If b = 0 set v = 0 and terminate the algorithm,

otherwise set v_{1} = 0 and v_{3} = b.

2. [Finished?] If v_{3} = 0 then set v = (d − au)/b and terminate the algorithm.

3. [Euclidean step] Let q = d (div v_{3}) and t_{3} = d (mod v_{3}). Then set t_{1} = u − qv_{1}, u = v_{1}, d = v_{3}, v_{1} = t_{1}, v_{3} = t_{3} and goto step 2.

Complexity : For a, b < N for some bound N ∈ IN the running time will be at most O(log_{2}^{3} N). For further refinements and practical considerations such as multiprecision arithmetics see [Cohen, 1993], [Knuth, 1981].

Theorem 22 (Chinese Remainder Theorem) Let m_{1}, …, m_{k} be pairwise coprime integers, such that gcd(m_{i}, m_{j}) = 1 for i ≠ j. Then, for any integers x_{i} ∈ IN there exists an integer x ∈ IN, unique modulo ∏ m_{i}, such that

x ≡ x_{i} (mod m_{i}) for 1 ≤ i ≤ k.

Algorithm 23 (Inductive Chinese) Given m_{1}, …, m_{k} pairwise coprime integers and integers x_{i}, this algorithm finds an integer x such that x ≡ x_{i} (mod m_{i}) for all i.

1. [Initialize] Set i = 1, m = m_{1}, x = x_{1}.

2. [Finished?] If i = k output x and terminate the algorithm. Otherwise, set i = i + 1 and use the extended euclidean algorithm 21 to compute u, v such that um + vm_{i} = 1.

3. [Compute next x] Set x = umx_{i} + vm_{i}x, m = mm_{i}, x = x (mod m) and goto step 2.

The complexity is of order k times the complexity of the algorithm used for doing extended gcd calculation, for example O(k · log_{2}^{3} N) using the above algorithm.

Using the above algorithm, it is easy to reconstruct the binary representation of an integer given by a straight–line program in ZZ. Given a bound on the binary size of the result, this can be done using a sufficiently large set of prime numbers, modular evaluation and performing then a reconstruction via Chinese Remainder Theorem. Note though, that this method is of small practical value, if the binary size of the integer computed by the straight– line program is very big. Therefore, the obvious approach for the rational reconstruction by separate recovery of the binary representation for both numerator and denominator from their straight–line programs is not feasable in general.

Here, we propose the following alternative algorithm :

Suppose we are given a division free straight–line program Γ in ZZ evaluating a representation \frac{I}{J} of the rational number q ∈ Q and a bound η on the height of the numerator A and denominator B of the reduced representation q = \frac{A}{B} with A, B relative prime integers.

In a first step, we show how to reduce the problem of rational reconstruction to the solution of a modular congruence relation of bounded height :

Lemma 24 Given a positive rational number q = \frac{A}{B} with positive A, B, gcd(A, B) = 1 and a second representation \frac{U}{V} = \frac{A}{B} of q. Let p be a prime number p > max(A, B) with gcd(p, U) = gcd(p, V) = 1. Let Ū, V̄ denote the images of U, V mod p^{2}. Then any solution a, b of the congruence

a · V̄ − b · Ū ≡ 0 mod p^{2} with 0 ≤ a, b < p  (2.6)

will be a valid representation \frac{a}{b} of q.

Proof.– Consider the rational number q given by its reduced representation \frac{A}{B} with A, B relative prime. Thus, A, B is a solution to the congruence (2.6). Now consider a second solution C, D of the above congruence (2.6). Let x := Ū · V̄^{−1} mod p^{2}. Remark that by choice of p, x is an invertible element in ZZ/p^{2}ZZ. Then the congruence (2.6) can rewritten as :

a ≡ b · x mod p^{2} with 0 ≤ a, b < p  (2.7)

For the two solutions A, B and C, D holds :

A ≡ B · x mod p^{2} and C ≡ D · x mod p^{2}.

From this follows A · D · x ≡ B · C · x mod p^{2}, so x(AD − BC) ≡ 0 mod p^{2}. Since x is invertible, AD ≡ BC mod p^{2} holds. As A, D, B, C are each positive and smaller than p, any solution of (2.6) is of the form \frac{μ·A}{μ·B} with 1 ≤ μ ≤ [\frac{p}{max(A,B)}].

The following Lemma, taken from a different context in [Dixon, 1982] (where the exact ractional solutions of a regular system A · x = b of linear equations with integer coefficients are considered), will allow us to obtain an efficient algorithm for the solution of the above congruence (2.7).

Lemma 25 (Dixon) Let x, h > 1 be integers and suppose that there exist integers a, b satisfying the congruence

a ≡ b · x (mod h) with | a |, | b | ≤ λ\sqrt{h}

where λ = 0.618 … is a root of λ^{2} + λ − 1 = 0. The integers a, b can be found in the following way : Let w_{i}/v_{i} (i = 1, 2, …) be the convergents to the continued fraction for x/h and put u_{i} = v_{i}s − w_{i}h. If k is the least integer such that | u_{k} | < \sqrt{h}, then a/b = u_{k}/v_{k}.

For a proof of the complexity of O(log h)^{2} of the algorithm underlying Lemma 25 above (depending on the complexity of the underlying gcd algorithm used) see [Dixon, 1982] or [Wang, 1981], [Wang et al., 1982]. For the underlying properties of continued fractions see [Khinchin, 1935], [Knuth, 1981] or [Hardy & Wright, 1979].

Application :

Given two positive integers U, V represented by a straight–line program Γ of length L and a bound η on the bit-size of the numerator/denominator of the reduced rational number \frac{A}{B} = \frac{U}{V} with gcd(A, b) = 1, 2^{η} > max(A, B), we reconstruct A, B in binary representation from the straight–line program Γ in the following way :

i) Fix a primenumber p > 2^{η} with gcd(U, p) = gcd(V, p) = 1 (using for example Rabin–Miller or a table of precomputed primes). The condition gcd(U, p) = gcd(V, p) = 1 can be easily achieved using modular evaluation of Γ.

ii) Compute the values Ū ≡ U mod p^{2} and V̄ ≡ V mod p^{2} from Γ.

iii) Use the p-adic reconstruction method given by Lemma 25 (using x = Ū · V̄^{−1} and h = p^{2}) to find a solution a, b to the congruence (2.6) : a · V̄ − b · Ū ≡ 0 mod p^{2} with a, b < p. iv) Reduce a, b by gcd(a, b) (if neccessary) to obtain A, B.

In total, this yields an efficient algorithm for the solution of the Problem 1 (Rational reconstruction) with a complexity polynomial in the logarithmic height (bit–size) of the result. Further refinements of this technique, applied in the context of polynomial factorization or gcd computations can be found in [Wang, 1981], [Wang et al., 1982], [Collins & Encarnación, 1996] and the literature cited therein. For implementation purposes consider for example [Collins & Encarnación, 1995], giving a suitably adapted version of Jebelean’s modified extended gcd algorithm [Jebelean, 1993], yielding thus a speedup of factor 2 over the standard algorithm given here (Algorithm 21 + Lehmer/binary improvements). Note however, that these algorithms have not been developped for straight–line programs.

2.3 Evaluation and height: Some useful bounds

In this Section we resume how the notions of straight–line program (Subsection 2.2.2) and height (Subsection 2.1.4) relate, establishing bounds for polynomials given by straight–line programs using the different notions of height.

First of all, we can easily bound the number of parameters used by a non– scalar straight–line program Γ of size L in n variables by 2L(L − (n + 1)). We can also bound the degrees of the polynomials Q_{i,j}^{μ} (of Formula (2.4)) as elements in ZZ[\underline{A}, \underline{B}] :

Lemma 26 ([Krick & Pardo, 1996]) Given a non–scalar straight–line program Γ, the degree of all polynomials Q_{i,j}^{μ} ∈ ZZ[\underline{A}, \underline{B}] is 2^{i+1}−2 (independently from μ and j).

Lemma 27 ([Krick & Pardo, 1996]) Let Γ be a non–scalar straight–line program over R of size L, non–scalar depth ℓ and parameters in a finite set F ⊆ R that evaluates a polynomial P ∈ R[X_{1}, …, X_{n}].

i) For archimedean ν ∈ S holds :

max{m_{ν}(P), ht_{ν}(P)} ≤ log wt_{ν}(P) ≤ (2^{ℓ+1} − 2)[log L + ht_{ν}(F)].

ii) For non–archimedean ν ∉ S holds :

ht_{ν}(P) ≤ log wt_{ν}(P) ≤ (2^{ℓ+1} − 2)ht_{ν}(F).

iii) As estimates for the two notions of logarithmic height introduced on page 25 we have :

ht(P) ≤ (2^{ℓ+1}−2)(log L+ht(F)) and h̃t(P) ≤ (2^{ℓ+1}−2)(log L+ht(F)).

Proof.– Claims i) and ii) follow as in [Krick & Pardo, 1996, Proposition 15]. As for claim iii) we have for the logarithmic height ht :

ht(P) = \frac{1}{[K : Q ]}(∑_{ν∈S} n_{ν} max\{0, ht_{ν}(P)\} + ∑_{ν∈M_{K}\S} n_{ν} max\{0, ht_{ν}(P)\})

≤ \frac{1}{[K : Q ]}(∑_{ν∈S} n_{ν}(2^{ℓ+1} − 2)(log L + max\{0, ht_{ν}(F)\})

+ ∑_{ν∈M_{K}\S} n_{ν}(2^{ℓ+1} − 2) max{0, ht_{ν}(F)}).

Since Identity (2.2) holds, we conclude :

ht(P) ≤ (2^{ℓ+1} − 2) log L + \frac{(2^{ℓ+1} − 2)}{[K : Q ]}( ∑_{ν∈M_{K}} n_{ν} max\{0, ht_{ν}(F)\})
= (2^{ℓ+1} − 2) log L + (2^{ℓ+1} − 2)ht(F).

On the other hand, for the invariant logarithmic height h̃t holds :

h̃t(P) = \frac{1}{[K : Q ]} ∑_{ν∈S} n_{ν}m_{ν}(P) + ∑_{ν∈M_{K}\S} n_{ν}ht_{ν}(P)

≤ \frac{1}{[K : Q ]} ∑_{ν∈M_{K}} n_{ν} log wt_{ν}(P)

≤ \frac{1}{[K : Q ]}( ∑_{ν∈S} n_{ν}(2^{ℓ+1} − 2)(log L + ht_{ν}(F))

+ ∑_{ν∈M_{K}\S} n_{ν}(2^{ℓ+1} − 2)ht_{ν}(F)).

Again by Identity (2.2), we have :

h̃t(P) ≤ (2^{ℓ+1} − 2) log L

+\frac{(2^{ℓ+1} − 2)}{[K : Q ]}(∑_{ν∈S} n_{ν}ht_{ν}(F) + ∑_{ν∈M_{K}\S} n_{ν}ht_{ν}(F))

= (2^{ℓ+1} − 2) log L + (2^{ℓ+1} − 2)ht(F).

Lemma 28 (Composition) Let g_{1}, …, g_{m} be polynomials in R[X_{1}, …, X_{n}] of degree at most D. Let f ∈ R[Y_{1}, …, Y_{m}] be a polynomial evaluable by a non–scalar straight–line program Γ of size L, non–scalar depth ℓ and parameters in a finite subset F ⊆ R. Let G ∈ R[X_{1}, …, X_{n}] be the polynomial given by the composition of f with g_{1}, …, g_{m}, i.e. the polynomial given by :

G := f(g_{1}, …, g_{m}) ∈ R[X_{1}, …, X_{n}].

Then,

i) for every non–archimedean absolute value | · |_{ν} we have

ht_{ν}(G) ≤ 2^{ℓ} max_{1≤i≤m}{ht_{ν}(g_{i})} + (2^{ℓ+1} − 2)ht_{ν}(F),

ii) for every archimedean absolute value | · |_{ν} we have

m_{ν}(G) ≤ log wt_{ν}(G)
≤ 2^{ℓ} max_{1≤i≤m}{log wt_{ν}(g_{i})} + (2^{ℓ+1} − 2) · (log L + ht_{ν}(F))
≤ D2^{ℓ}(n + 1) + (2^{ℓ+1} − 2) · (log L + ht_{ν}(F))

+2^{ℓ} max_{1≤i≤m}{m_{ν}(g_{i})}.

iii) As for the height with respect to an archimedean absolute value | · |_{ν} we have :

ht_{ν}(G) ≤ log wt_{ν}(G)
≤ (n + 1)2^{ℓ} log D + (2^{ℓ+1} − 2)(log L + ht_{ν}(F))

+2^{ℓ} max_{1≤i≤m}{ht_{ν}(g_{i})}.

Moreover, if D is an upper bound for the degrees of the polynomials g_{1}, …, g_{m}, we have :

m_{ν}(G) ≤ 2^{ℓ} max_{1≤i≤m}{m_{ν}(g_{i})} + (2^{ℓ+1} − 2)(m_{ν}(F) + log L) + D log(1 + n).

Proof.– Consider the following estimates :

i) If | · |_{ν} is non–archimedean,

deg(f) max_{1≤i≤m}{ht_{ν}(g_{i})} + ht_{ν}(f) ≤ 2^{ℓ} max_{1≤i≤m}{ht_{ν}(g_{i})} + (2^{ℓ+1} − 2)ht_{ν}(F).

ii) If | · |_{ν} is archimedean we have :

m_{ν}(G) ≤ log wt_{ν}(G),
log wt_{ν}(G) ≤ (2^{ℓ+1} − 2)(log L + ht_{ν}(F)),

and, finally

log wt_{ν}(G) ≤ deg(f) max_{1≤i≤m}{log wt_{ν}(g_{i})} + log wt_{ν}(f).

The third inequality follows since log wt_{ν}(g_{i}) ≤ D log(n + 1) + m_{ν}(g_{i}).

iii) We apply the same upper bounds as in ii), noting that ht_{ν}(G) ≤ log wt_{ν}(G) and log wt_{ν}(g_{i}) ≤ (n + 1) log D + ht_{ν}(g_{i}).

Corollary 29 (Composition) With the same notation as in the previous Lemma we conclude :

i) ht(G) ≤ (n+1)2^{ℓ} log D+(2^{ℓ+1}−2)(log L+ht(F))+2^{ℓ} max_{1≤i≤m}{ht(g_{i})},

ii) h̃t(G) ≤ D2^{ℓ} log(n+1)+(2^{ℓ+1}−2)(log L+ht(F))+2^{ℓ} max_{1≤i≤m}{h̃t(g_{i})}.

Proof.– We make use of the well-known fact that

\frac{1}{[K : Q ]}∑_{ν∈S}n_{ν} = 1.

Then, the quantities (n + 1)2^{ℓ} log D and (2^{ℓ+1} − 2) log L (or D2^{ℓ} log(n + 1) and (2^{ℓ+1} − 2) log L) follow from the bounds in the previous Lemma 28.

Note, how the estimates obtained for the straight–line program representation for multivariate polynomials translate directly to Turing machine complexity estimates (as introduced in Subsection 2.2.1) :

Remark 30 (Observation 36, [Morais, 1997]) Given a polynomial f ∈ ZZ[X_{1}, …, X_{n}] by a straight–line program of size L, non–scalar depth ℓ, using parameters of height h. Then, this straight–line program can be encoded by a boolean circuit of size (Lh)^{O(1)} and furthermore, the evaluation of f in a point α ∈ ZZ^{n} of height h′ given in binary representation can be performed by a deterministic Turing machine in time (2^{ℓ}L max{h, h′})^{O(1)}, yielding thus the binary representation of f(α).

2.4 Non-scalar straight-line programs : Technical lemmata

The height estimates for the arithmetic Nullstellensatz announced in Chapter 1 are based on a detailed analysis of the algorithm for geometric solving of multivariate polynomial equation systems defining affine algebraic varieties as developped in [Giusti et al., 1995], [Krick & Pardo, 1994], [Giusti et al., 1998], [Giusti et al., 1997a], [Giusti et al., 1997c] and [Morais, 1997].

The height estimates are obtained by bounding appropriately the height of all elements appearing in a “geometric solution” produced by the afore mentioned eliminiation algorithm (see Section 3.4 for a discussion of this approach).

This involves neccessarily the height analysis of the algorithmic ingredients given in terms of straight–line programs, using the notions of height defined in Subsection 2.1.4. Therefore we resume here briefly some of the results obtained in [Giusti et al., 1995], [Krick & Pardo, 1994], [Giusti et al., 1998], [Giusti et al., 1997a], [Giusti et al., 1997c] and [Morais, 1997] for the straight– line program complexity of the subalgorithms involved.

The elimination algorithm as developped in [Giusti et al., 1997a] has been analyzed and described in detail in [Morais, 1997], which should be considered as a primary reference for the proofs of the following statements. A more implementation oriented description of the individual steps can be found in [Matera, 1997] and [TERA Development Group, 1998].

Let us recall the notation : R is the ring of algebraic integers of a number field K and IK an algebraic closure of K. We denote by A the ring K[X_{1}, …, X_{r}] and by F the quotient field K(X_{1}, …, X_{r}) of A. Due to the iterative character of our algorithms and the fact that we distinguish between free and dependent variables, we want to state the technical lemmata in a more general form. To facilitate the notation, the ring A will include the free variables and the dependent variables are explicitly named.

Berkowitz’s algorithm

One of the central tasks appearing naturally in elimination algorithms when computing with polynomials, is the efficient computation of the determinant and characteristic polynomial of a matrix over a polynomial ring.

To illustrate the problem, suppose we are given a matrix M := (a_{ij}) with 1 ≤ i, j ≤ N. The determinant of the matrix is a polynomial with the integer coefficients in the N^{2} entries a_{ij} taken as variables. The monomial expansion of this polynomial has N! terms, which means that the determinant has a dense representation which is exponential in the parameter N.

Nevertheless, the classical Gaussian elimination algorithm computes a solution using just O(N^{3}) arithmetic operations. Even though this appears already satisfactory, this approach has two drawbacks : first of all the algorithm uses divisions, which makes it unsuitable for computations over an arbitrary domain, and second, it has an intrinsically sequential character, thus preventing further improvements through parallelism.

These aspects were treated in [Csanky, 1976], giving a first parallel algorithm, with restrictions on the characteristic of the ground field though. These restrictions were removed in a very complicated way in [Borodin et al., 1982], and finally, [Chistov, 1985] and [Berkowitz, 1984] give practicable algorithms for the computation of the determinant as well as the remaining coefficients of the characteristic polynomial of a matrix over an arbitrary domain.

The next Proposition describes the non–scalar complexity bounds resulting from the analysis made in [Krick & Pardo, 1996] using the algorithm given in [Berkowitz, 1984].

Proposition 31 ([Berkowitz, 1984, Krick & Pardo, 1996]) Let A be a ring. There exists a non–scalar straight–line program of size O(n^{5}), non– scalar depth 2 log_{2} n + 7 and parameters in {−1, 0, 1} which computes from the entries of every matrix M ∈ M_{n}(A) the coefficients of its characteristic polynomial and, in particular, its determinant det(M).

It is worth mentioning that this Proposition also forms the basis for the computation of the greatest common divisor of two univariate polynomials over a unique factorization domain. Using Sylvester matrices the problem can be reduced to linear algebra (see [Krick & Pardo, 1996]) and then solved in [Mulmuley, 1987], using [Berkowitz, 1984]. This method due to K. Mulmuley is useful for the case of a non–real ground field. For details on the precise formulation of this algorithm in terms of straight–line programs see [Matera, 1997] and [Morais, 1997].

Homogeneous components of a polynomial

Another useful technique is the computation of the homogeneous components of a polynomial given by a non–scalar straight–line program, which will be subsequently used as part of another algorithm to remove any divisions from the straight–line programs occurring in our computations.

Lemma 32 ([Krick & Pardo, 1996]) Let P be a multivariate polynomial in A[X_{1}, …, X_{n}] computable by a non–scalar straight–line program Γ over A with inputs X_{1}, …, X_{n}, of size L, non–scalar depth ℓ and parameters in F ⊂ A, and fix δ ∈ IN. Then there exists a straight–line program Γ′ which computes all the homogeneous components of P of degree at most δ (with respect to the variables X_{1}, …, X_{n}), such that L(Γ′) = (δ + 1)^{2} L, ℓ(Γ′) = 2ℓ and F(Γ′) = F.

Vermeidung von Divisionen

The technique of computing the homogeneous components of a polynomial together with the use of the formal power series expansion of a rational function are the main ingredients for the following algorithm due to V. Strassen and formulated for non–scalar straight–line programs in [Krick & Pardo, 1996].

Proposition 33 ([Strassen, 1973]) Let Γ be a non–scalar straight–line program of size L, non–scalar depth ℓ and parameters in a set F ⊆ R that computes {f_{0}, …, f_{m}} ⊆ R[X_{1}, …, X_{n}]. Assume that f_{0} ≠ 0 and that f_{0} divides f_{i} in R[X_{1}, …, X_{n}] for all i, 1 ≤ i ≤ m. Then there exists a non–scalar straight–line program Γ′ verifying :

i) Γ′ computes polynomials {P_{1}, …, P_{m}} in ZZ[X_{1}, …, X_{n}] and an integer θ ∈ ZZ − {0} such that for 1 ≤ i ≤ m holds :

P_{i} = θ\frac{f_{i}}{f_{0}} ,

ii) Γ′ has size of order d^{O(1)}L, where d = max deg(f_{i}), non–scalar depth of order O(ℓ) and parameters in the set F ∪ {0, …, L(d + 1)^{2}}.

Evaluation in a matrix

Instead of considering only straight–line programs over a polynomial ring R[X_{1}, …, X_{n}], we will also make use of its flexible evaluation possibilities to compute results over a matrix ring in the following form :

Lemma 34 (Evaluation of a polynomial in matrices) Given algebraically independent variables X_{1}, …, X_{n} over the ring R, let g ∈ R[X_{1}, …, X_{n}] be a polynomial of degree d_{1} with respect to the variables X_{r+1}, …, X_{n} which can be computed by a straight–line program Γ of size L, non–scalar depth ℓ and parameters in a finite subset F ⊂ R. For a fixed t with 1 ≤ t ≤ n let A be the ring of polynomials with coefficients in R in the variables X_{1}, …, X_{t} (i.e. A = R[X_{1}, …, X_{t}]). Let M_{t+1}, …, M_{n} be N × N matrices with entries in A such that M_{i} · M_{j} = M_{j} · M_{i} for all i, j and let ρ ∈ A be a non–zero polynomial. Then there exists a non–scalar straight– line program Γ′ of size (d_{1} + 1)^{2}N^{O(1)}L and non–scalar depth O(ℓ), such that using parameters in F and taking as inputs the polynomial ρ and the entries of the matrices M_{t+1}, …, M_{n}, the straight–line program Γ′ evaluates all the entries of a matrix M_{g} ∈ M_{N}(A) and a non–zero polynomial ρ_{g} such that

g(X_{1}, …, X_{t}, ρ^{−1}M_{t+1}, …, ρ^{−1}M_{n}) = ρ_{g}^{−1}M_{g}.

Moreover, if ρ is a unit in A, the straight–line program Γ′ can be chosen of size LN^{O(1)}, non–scalar depth ℓ+O(1) and a similar parameter set as before.

Proof.– The method is identical to the Vermeidung von Divisionen method of V. Strassen. Basically, we first consider a straight–line program Γ_{0} which evaluates all homogeneous components, say g_{0}, …, g_{d_{1}} with g_{i} = 0or deg g_{i} = i of a polynomial g with respect to the variables {X_{t+1}, …, X_{n}}. Then, we observe that

g_{j}(X_{1}, …, X_{t}, ρ^{−1}M_{t+1}, …, ρ^{−j}M_{n}) = ρ^{−1}g_{j}(X_{1}, …, X_{t}, M_{t+1}, …, M_{n}).

The matrix M_{g} is given by :

M_{g} = ρ^{d_{1}}g_{0}(X_{1}, …, X_{t}, M_{t+1}, …, M_{n}) + ⋯ + g_{d}(X_{1}, …, X_{t}, M_{t+1}, …, M_{n})

and the polynomial ρ_{g} is equal to ρ_{g} := ρ^{d_{1}}. Clearly, ρ_{g}^{−1} · M_{g} verifies the desired identity.

We restate now the above Proposition on the following form, which gives the resulting straight–line program complexity estimates in terms of non–scalar depth, which will be of interest for establishing sharper height bounds.

Proposition 35 ([Strassen, 1973, Krick & Pardo, 1996]) Let Γ be a non–scalar straight–line program of size L, non–scalar depth ℓ and parameters in a set F ⊆ R that computes {f_{0}, …, f_{m}} ⊆ R[X_{1}, …, X_{n}]. Assume that f_{0} ≠ 0 and that f_{0} divides f_{i} in R[X_{1}, …, X_{n}] for all i, 1 ≤ i ≤ m. Then there exists a non–scalar straight–line program Γ′ verifying :

i) Γ′ computes polynomials {P_{1}, …, P_{m}} in ZZ[X_{1}, …, X_{n}] and an integer θ ∈ ZZ − {0} such that

P_{i} = θ\frac{f_{i}}{f_{0}} for 1 ≤ i ≤ m,

ii) Γ′ has size of order O(2^{2ℓ}(L + n + 2^{ℓ} + m)), non–scalar depth of order O(ℓ) and parameters in the set F ∪ {0, …, (2^{ℓ+1} − 2)(2^{ℓ} + 1)^{2}}.

Jacobian and pseudo—jacobian.

The distinction of singular from non–singular points of a variety yields the condition of the “Jacobian” criterion ([Kunz, 1985, Chapter VI, Theorem 1.15]) whose “straight–line program” version is presented here (and which will be used to check the condition of reduced regular sequence). Combining the formal rules of derivation with Proposition 31, one concludes :

Lemma 36 Let f_{1}, …, f_{n} be a family of polynomials of A[X_{1}, …, X_{n}] evaluated by a straight–line program β of size L and non–scalar depth ℓ. Then there exists a straight–line program over A with inputs X_{1}, …, X_{n} of size n^{O(1)}L and non–scalar depth O(ℓ + log_{2} n) with the same parameters as β which evaluates the Jacobian determinant

J(f_{1}, …, f_{n}) := det(\frac{∂f_{i}}{∂X_{j}})_{1≤i,j≤n}.

In Section 5.2 we shall work with a specific polynomial called the pseudo— jacobian determinant of a given regular sequence. We now introduce this polynomial and say how it can be evaluated.

Notation 37 Let f_{1}, …, f_{n} ∈ A[X_{1}, …, X_{n}] be a regular sequence in F [X_{1}, …, X_{n}]. Furthermore, let Y_{1}, …, Y_{n} be new variables. We write Y = (Y_{1}, …, Y_{n}). Fix 1 ≤ j ≤ n. By f_{j}^{(Y)} := f_{j}(Y_{1}, …, Y_{n}) we denote the polynomial obtained from f_{j} substituting the variables X_{1}, …, X_{n} by Y_{1}, …, Y_{n}. In the polynomial ring A[Y_{1}, …, Y_{n}, X_{1}, …, X_{n}] we decompose the polynomial f_{j}^{(Y)} − f_{j} in the following (non–unique) way :

f_{j}^{(Y)} − f_{j} = ∑_{k=1}^{n} l_{k,j}(Y_{k} − X_{k}),

where l_{k,j} are polynomials in A[Y_{1}, …, Y_{n}, X_{1}, …, X_{n}]. Let us consider the determinant Δ of the matrix M = (l_{k,j})_{1≤k,j≤n}, namely Δ := det(M). This determinant is called a pseudo–jacobian determinant of the regular sequence of polynomials f_{1}, …, f_{n}.

Proposition 38 ([Giusti et al., 1998 ], [Morais, 1997]) If d is a bound for the degrees of f_{1}, …, f_{n} and these polynomials are given by a non–scalar straight–line program Γ of size L and non–scalar depth ℓ, then there exists a straight–line program Γ′ of size (nd)^{O(1)}L and non–scalar depth O(log_{2} n+ℓ) which evaluates the pseudo–jacobian determinant Δ. The straight–line program Γ′ uses apart from the same parameters as Γ only parameters of ZZ in {0, …, d^{c}}.

Complete intersection varieties

In this Chapter we first recall how the degree and height of an ideal–theoretic complete intersection diophantine variety V ⊆ IK^{n} are defined. The standard method (see e.g. [Zariski, 1995, Chap.I.1.]) associates to V a birationally isomorphic hypersurface defined as a generic projection with respect to a Noether normalisation (see Subsection 3.2). The height and degree of the resulting hypersurface are then defined as height and degree of its defining polynomial. This polynomial, called elimination polynomial of V with respect to a given Noether normalisation, is closely related with the notion of geometric solution as introduced in [Giusti et al., 1995], [Krick & Pardo, 1996], [Giusti et al., 1998], [Giusti et al., 1997a].

Recently we have discovered that a similar notion has already been considered by Kronecker in his work dedicated to Kummer [Kronecker, 1882]. These ideas have been discussed in [Macauley, 1916] and [Zariski, 1995]. Unfortunately, the developing elimination theory was not able to make good use of Kronecker’s ideas. At that time, mathematicians thought that using Kronecker’s representation would yield an excessive growth in the degrees and heights of the polynomials computed. This impression is wrong since we are in a situation similar to Gaussian elimination, where the “cleaning” of common denominators is crucial for the resulting complexity of the algorithm.

3.1 Notation

Let us recall the notation : R is the ring of algebraic integers of a number field K and IK an algebraic closure of K. We denote by A the ring K[X_{1}, …, X_{r}] and by F the quotient field K(X_{1}, …, X_{r}) of A. An affine algebraic variety V ⊆ IK^{n} is said to be R–definable, if there exist polynomials f_{1}, …, f_{s} ∈ R[X_{1}, …, X_{n}] such that :

V := V (f_{1}, …, f_{s}) = {x ∈ IK^{n} : f_{1}(x) = 0, …, f_{s}(x) = 0}.

In the following we are going to consider only R–definable varieties. For such a variety V ⊆ IK^{n} we denote by I(V) the ideal in K[X_{1}, …, X_{n}] of all polynomials vanishing on V, i.e.

I(V) := {f ∈ K[X_{1}, …, X_{n}] : f(x) = 0, ∀x ∈ V }.

We also denote by K[V] the reduced residue ring (or coordinate ring of V) K[V] := K[X_{1}, …, X_{n}]/I(V) and recall that the ideal I(V) is radical, i.e. \sqrt{(f_{1}, …, f_{s})} = I(V) holds.

For polynomials g ∈ K[X_{1}, …, X_{n}] we denote by ḡ the equivalence class defined by g in the residue ring K[V]. Let us denote by r the dimension of the R–definable variety V and by s the codimension of V (i.e. s + r = n).

One of the main technical difficulties of the algorithms for geometric solving of multivariate polynomial equation systems (as e.g. in [Giusti et al., 1998], [Giusti et al., 1997a] and [Morais, 1997]) is possibly the very tight relation between geometric reasoning and algebraic language used.

We shall mainly use terminology and elementary facts that can be found in classical textbooks on commutative algebra, see for example [Kunz, 1985, Chapter VI], [Matsumura, 1986, Chapters 5+6], [Zariski & Samuel, 1960, Appendix 6]).

3.2 Variables in Noether position

The dimension of affine algebraic varieties is closely related to the notion of Noether normalisation, which is discussed here (see e.g. [Kunz, 1985, Chapter II]).

Let us recall the notation : R is the ring of algebraic integers of a number field K and IK an algebraic closure of K. We denote by A the ring K[X_{1}, …, X_{r}] and by F the quotient field K(X_{1}, …, X_{r}) of A. Let V ⊆ IK^{n} be an algebraic variety of dimension r and I(V) its associated ideal. We say that the variables X_{1}, …, X_{n} are in Noether position with respect to V if the following is an integral ring extension :

K[X_{1}, …, X_{r}] ↪ K[V].

The variables X_{1}, …, X_{r} are called the free variables (with respect to V) and X_{r+1}, …, X_{n} are called the dependent variables. Let us denote by M_{n}(K) the space of all n × n matrices with entries in K (M_{n}(K) ≅ K^{n}).

It is well–known that there exist generically many matrices N ∈ M_{n}(K) such that the linear change of coordinates given by the following relation :

( Y_{1} ; ⋮ ; Y_{n} ) = N ( X_{1} ; ⋮ ; X_{n} )

puts the variables Y_{1}, …, Y_{n} in Noether position with respect to the variety V. Let N (V) ⊆ M_{n}(K) be the set of all matrices which put the variables in Noether position with respect to V.

The “generically many” condition means that N (V) contains a non–empty Zariski-open subset. As for the practical consequences, refer to Chapter 6 for more details. In the sequel we are interested in the case of matrices with coordinates in a ring of algebraic integers. We denote by N_{R}(V) and N_{ZZ}(V) the sets N (V) ∩ R^{n×n} and N (V) ∩ ZZ^{n×n}, respectively.

We say that an R–definable variety V ⊆ IK^{n} of codimension s is an ideal– theoretic complete intersection if there exist polynomials f_{1}, …, f_{s} in R[X_{1}, …, X_{n}] such that I(V) = (f_{1}, …, f_{s}) holds in K[X_{1}, …, X_{n}].

The distinction between singular and non–singular points (and their associated local rings) in algebraic geometry is reflected by the notion of regular local rings. The Jacobian criterion [Kunz, 1985, Chapter VI, Theorem 1.15] for regular local rings gives the connection between prime ideals and smoothness of the variety in the point. The study of possible zero divisors takes us then to the notion of Cohen-Macaulay rings and the Unmixedness Theorem (proved for polynomial rings over a field by Macaulay and for regular local rings by I.S. Cohen).

Lemma 39 ([Morais, 1997], Lemma 26) Let I ⊆ K[X_{1}, …, X_{n}] be an unmixed ideal. Then, the ideal I is radical if and only if for all minimal prime ideals 𝔭 of I holds :

I · K[X_{1}, …, X_{n}]_{𝔭} = 𝔭 · K[X_{1}, …, X_{n}]_{𝔭}.

Lemma 40 (Radical) Let K be a field of characteristic 0 and g_{1}, …, g_{t} a regular sequence in K[X_{1}, …, X_{n}]. Let us assume that the variables X_{1}, …, X_{n} are in Noether position with respect to the ideal I = (g_{1}, …, g_{t}), i.e. A = K[X_{1}, …, X_{r}] ↪ K[X_{1}, …, X_{n}]/I = B is an integral ring extension, where r + t = n. Let J(g_{1}, …, g_{t}) be the determinant of the jacobian matrix given by

(\frac{∂g_{i}}{∂x_{j}} )_{1≤i≤t,r+1≤j≤n} .

Then, the ideal I is radical if and only if J̄(g_{1}, …, g_{t}) is not a zero divisor in K[X_{1}, …, X_{n}]/(g_{1}, …, g_{t}).

Proof.– Let F = K(X_{1}, …, X_{r}) denote the quotient field of A. For every ideal I ⊆ K[X_{1}, …, X_{n}] we denote by I^{e} the extension of I in F [X_{r+1}, …, X_{n}]. By hypothesis, (g_{1}, …, g_{t}) is a complete intersection ideal of codimension t, and thus the associated prime ideals coincide with the minimal prime ideals of (g_{1}, …, g_{t}).

Now, using Lemma 39, we conclude that I is radical if and only if g_{1}, …, g_{t} is a regular system of parameters of the regular local ring K[X_{1}, …, X_{n}]_{𝔭} = F [X_{r+1}, …, X_{n}]_{𝔭^{e}} for every associated prime ideal of I.

Following [Matsumura, 1986, Theorem 30.3], the criterion of the Jacobian shows that this is equivalent to the condition : For all associate prime ideals of I, the determinant of the jacobian matrix J(g_{1}, …, g_{t}) is non–zero in K[X_{1}, …, X_{n}]_{𝔭}/𝔭 · K[X_{1}, …, X_{n}]_{𝔭}.

In particular, this is equivalent to saying that for all minimal prime ideals 𝔭 of I, the class of J(g_{1}, …, g_{t}) in the extension F [X_{r+1}, …, X_{n}]_{𝔭^{e}} is not zero. This means that J is not a zero divisor in B′ = F [X_{r+1}, …, X_{n}]/I^{e} and therefore neither in B.

An elementary inductive argument (based on Quillen–Suslin’s Theorem proving Serre’s conjecture, cf. [Lam, 1978], [Kunz, 1985]) shows the following statement :

Let V ⊆ IK^{n} be an ideal–theoretic complete intersection algebraic variety of dimension r. Let us assume that the variables X_{1}, …, X_{n} are in Noether position with respect to V. Then, K[V] is a free K[X_{1}, …, X_{r}]–module of finite rank. For a proof of this statement see [Rossi & Spangher, 1991], [Armendáriz & Solernó, 1995] or [Giusti et al., 1993, Lemma 3.3.1].

3.3 Geometric degree

In [Heintz, 1983] a notion of (geometric) degree for affine algebraic varieties is introduced. Alternative notions can be found in [Fulton, 1984] and [Vogel, 1984]. If V is an irreducible algebraic set of dimension r, the geometric degree of V is defined as the maximum number of points of the intersections of V with affine linear spaces of dimension n − r. For a general variety V the degree is defined as the sum of the degrees of its irreducible components. We denote by deg(V) the geometric degree of the affine algebraic variety V ⊆ IK^{n}.

A Bézout Inequality can be established for this notion of geometric degree, (cf. [Heintz, 1983], [Fulton, 1984], and [Vogel, 1984]) i.e. given affine algebraic sets V, W ⊆ IK^{n} we have :

deg(V ∩ W) ≤ deg(V) deg(W).

This notion of geometric degree has an interesting translation in terms of Noether normalisations :

Let V be an ideal–theoretic complete intersection of dimension r, and N (V) the Zariski open subset of M_{n}(K) of all non–singular matrices which put the variables in Noether position with respect to V. For every matrix N ∈ N (V), let us denote by rk_{A_{N}} K[V] the rank of K[V] as free A_{N}–module, where

( Y_{1} ; ⋮ ; Y_{n} ) = N ( X_{1} ; ⋮ ; X_{n} )

are the new variables and A_{N} := K[Y_{1}, …, Y_{r}] such that A_{N} ↪ K[V] is an integral ring extension. The following equality may be seen in [Heintz, 1983] :

deg(V) = max{rk_{A_{N}} K[V] : N ∈ N (V)}.

As observed in [Caniglia et al., 1991, Proposition 1.11] the geometric degree of an affine algebraic variety agrees with the geometric degree of its projective closure without counting multiplicities.

However, one has to observe that the existing relations between equations and degree in projective geometry and commutative algebra cannot be directly translated to the affine case. For instance, let X_{0}, X_{1}, …, X_{n} be homogeneous coordinates and g_{1}, …, g_{s} ∈ K[X_{0}, X_{1}, …, X_{n}] a regular sequence of homogeneous polynomials. The degree of the set of common zeroes of g_{1}, …, g_{s} defined by the Hilbert polynomial is exactly the product of the degrees deg(g_{1}) ⋯ deg(g_{s}).

This number is usually called the Bézout number of g_{1}, …, g_{s}. This behaviour does not occur in the affine case. As a simple example, let us consider the regular sequence of affine polynomials given by :

g_{1} = x_{1}^{2} + x_{1} + 1, g_{2} = x_{2} − x_{1}^{2}, …, g_{s} = x_{s} − x_{s−1}^{2}.

The geometric degree of the affine variety V (g_{1}, …, g_{s}) is exactly 2, whereas the Bézout number is 2^{s}. As the geometric degree does not take into account neither components in the infinity hyperplane nor multiplicities, this yields a more “geometric” behaviour which is just what we are looking for, as illustrated by the example in Section 3.1.

3.4 Geometric Solving

In [Pardo, 1995], [Giusti et al., 1997a] the notion of geometric solving was introduced to formalize a way of describing the ring K[V], where V is an ideal–theoretic complete intersection variety of dimension r. Basically, this ring has two main properties. One is the free module character of K[V] inherited from a Noether normalisation :

A := K[X_{1}, …, X_{r}] ↪ K[V].

This can be easily described by means of a basis of K[V] as a free module. The second property is the A–algebra character of K[V]. This means to describe the product operation in the ring K[V]. This is achieved by means of the following method :

For every g ∈ K[X_{1}, …, X_{n}] we identify the residual class ḡ and the K[X_{1}, …, X_{r}]–module endomorphism η_{g} defined by : η_{g} : K[V] ⟶ K[V], where η_{g}(f) := ḡf, for all f ∈ K[V]. Furthermore, for a fixed free module basis of K[V], we can represent the endomorphism η_{g} by a matrix which we denote by M_{g}. If g = X_{i} is a dependent variable, we denote M_{i} := M_{X_{i}} for r + 1 ≤ i ≤ n and we call these matrices the tensor matrices of the algebra K[V].

Let us observe that if g ∈ K[X_{1}, …, X_{n}] and a basis of K[V] is fixed, the matrix M_{g} is given by the following formula :

M_{g} := g(X_{1}, …, X_{r}, M_{r+1}, …, M_{n}).

Thus, the ring K[V] will be completely described by means of the following elements :

• the Noether normalisation, K[X_{1}, …, X_{r}] ↪ K[V], • the basis of K[V] as a free module, and

• the tensor matrices M_{r+1}, …, M_{n}.

There exists a geometrical interpretation of the matrices M_{g} and, more precisely, the characteristic and minimal polynomials of M_{g}. Suppose that the variables are in Noether position with respect to V ⊆ IK^{n} and that g ∈ K[X_{1}, …, X_{n}]. Let us consider the regular morphism :

G : IK^{n} ⟶ IK^{r+1}, G(X_{1}, …, X_{n}) := (X_{1}, …, X_{r}, g(X_{1}, …, X_{n})).

We observe that (since the variables are in Noether position) the image of V under the action of this mapping G, G(V) ⊆ IK^{r+1}, is a hypersurface H_{G} ⊆ IK^{r+1}.

Proposition 41 With this notation, let χ_{g}, m_{g} ∈ A[T] be the characteristic and minimal polynomial of M_{g}, respectively. We have :

i) m_{g} = \frac{χ_{g}}{gcd(χ_{g},χ′_{g})}, where χ′_{g} is the derivative of χ_{g} with respect to the variable T,

ii) V (χ_{g}) = V (m_{g}) = H_{G} in IK^{r+1},

iii) I(H_{G}) = (m_{g}) in K[X_{1}, …, X_{r}, T],

iv) deg(H_{G}) = deg(m_{g}) ≤ deg(V) · deg(g),

v) deg_{T} m_{g} ≤ deg_{T} χ_{g} = rk_{K[Y_{1},...,Y_{r}]}(K[V]) ≤ deg(V).

Up to now there is no method of admissible complexity known for the computation of a basis of K[V] as free A–module. Recent progress in this sense may be seen in [Almeida et al., 1998]. Thus, alternative descriptions of the algebra K[V] have been introduced (cf. [Kronecker, 1882], [Giusti & Heintz, 1991], [Giusti & Heintz, 1993], [Fitchas et al., 1995], [Krick & Pardo, 1994], [Giusti et al., 1995], [Giusti et al., 1998], [Matera, 1997], [Morais, 1997] and [Giusti et al., 1997a] for more details).

One of these alternative descriptions is the following one. Suppose, as before, that you have a Noether normalisation : A := K[X_{1}, …, X_{r}] ↪ K[V] =: B.

Let F = K(X_{1}, …, X_{r}) be the quotient field of A and B′ the zero– dimensional F –algebra obtained by extending scalars to F, i.e. B′ = F ⊗_{A}B.

For most elimination problems, a description of the F –algebra B′ will be sufficient to proceed. Thus, a geometric solution of an ideal–theoretic complete intersection variety V consists of a Noether normalisation

A = K[X_{1}, …, X_{r}] ↪ K[V] = B

together with a suitable description of B′.

We are going to show that the following two approaches for the description of ideal theoretic complete intersection affine algebraic varieties are equivalent : the description using the elimination polynomial or Chow form with respect to a given Noether normalisation (see for example [Van der Waerden, 1930] or the works [Philippon, 1991b], [Philippon, 1994], [Philippon, 1995]) and the description by a geometric solution (consider e.g. [Kronecker, 1882], [Giusti & Heintz, 1991], [Giusti & Heintz, 1993], [Fitchas et al., 1995], [Krick & Pardo, 1996] and [Giusti et al., 1997a]). For an application of both approaches (even for arbitrary dimension) in the context of polynomial factorization see [Chistov, 1986] and [Grigoriev, 1986].

3.4.1 The elimination polynomial

This approach describes the algebra K[V] by means of a generic projection in terms of the dependent variables. With the previous notation, let U_{r+1}, …, U_{n} be new indeterminates. Let us denote by R_{u}, A_{u}, F_{u}, B_{u}, B′_{u} respectively the rings obtained by extending scalars in the following form :

R_{u} := R[U_{r+1}, …, U_{n}], A_{u} := A[U_{r+1}, …, U_{n}],
F_{u} := F (U_{r+1}, …, U_{n}),  B_{u} := A_{u} ⊗_{A} B,  B′_{u} := F_{u} ⊗_{F} B′.

We have that A_{u} ↪ B_{u} is also an integral ring extension and B_{u} is also a free A_{u}–module. We also have

rk_{A_{u}}B_{u} = rk_{A}B, dim_{F_{u}} B′_{u} = dim_{F} B′,

and the bases of B and B′ extend respectively to bases of B_{u} and B′_{u}. Let U be the linear form given in terms of the dependent variables by U := U_{r+1}X_{r+1} + ⋯ + U_{n}X_{n} and let us consider the endomorphism given by :

η_{U} : B_{u} ⟶ B_{u} : ḡ ↦ Ū · ḡ.

Proposition 42 The characteristic polynomial χ_{U} ∈ A_{u}[T] of η_{U} agrees with its minimal polynomial 𝔪_{U} ∈ A_{u}[T]. Both have degree equal to rk_{A}B and B′_{u} is isomorphic to the F_{u}–algebra :

F_{u}[T]/(𝔪_{U}(T)).

Since R is the ring of algebraic integers of the number field K, there exists a minimal non–zero integer number C_{U} ∈ ZZ \ {0} such that C_{U} · 𝔪_{U} ∈ R[X_{1}, …, X_{r}, U_{r+1}, …, U_{n}][T] and this constant C_{U} is the coefficient of the highest degree term in T of the minimal polynomial 𝔪_{U}. From now on we denote by 𝔪_{U} this polynomial C_{U} · 𝔪_{U} in R[X_{1}, …, X_{r}, U_{r+1}, …, U_{n}][T]. It has the form

𝔪_{U} = C_{U}T^{D} + G(X_{1}, …, X_{r}, U_{r+1}, …, U_{n}, T)

where deg_{T} G ≤ D − 1, D = rk_{A}K[V]. It will be called the elimination polynomial of V with respect to the Noether Normalisation A ↪ K[V].

3.4.2 The primitive element

The second approach for the description of the algebra K[V] is most commonly used in the design of elimination procedures because of its efficiency. The underlying idea consists in specializing the generic parameters U_{i} used to define the elimination polynomial. We take some concrete data u_{r+1}, …, u_{n} ∈ R and the linear form

u := u_{r+1}X_{r+1} + ⋯ + u_{n}X_{n} ∈ R[X_{r+1}, …, X_{n}].

With the same notations as before, we say that u is a primitive element of K[V] with respect to the Noether normalisation A ↪ K[V] if the characteristic polynomial χ_{u} and the minimal polynomial 𝔪_{u} of η_{u} agree (i.e. if χ_{u} = 𝔪_{u} holds). In fact, a primitive element u verifies that B′ = F ⊗_{A} K[V] and F [T]/(𝔪_{u}(T)) are isomorphic.

This is equivalent to saying that for D = rk_{A}K[V] and ū the class of u modulo I(V) the set {1, ū, …, ū^{D−1}} is a basis of the zero–dimensional algebra B′ if and only if u is primitive element of K[V] with respect to the Noether normalisation A ↪ K[V].

All these equivalent properties may be illustrated by the following geometric property. Let U be the regular mapping given by :

U : IK^{n} ⟶ IK^{r+1} : U(X_{1}, …, X_{n}) = (X_{1}, …, X_{r}, u(X_{r+1}, …, X_{n})).

Then, u is a primitive element if and only if U defines a birational isomorphism between V and the hypersurface H_{U} given by :

H_{U} := {(X_{1}, …, X_{r+1}) ∈ IK^{r+1} : 𝔪_{u}(X_{1}, …, X_{r+1}) = 0}.

Since A ↪ K[V] is integral, the inverse U^{−1} restricted to V of the birational isomorphism U can be obtained in the following way :

U^{−1} := (X_{1}, …, X_{r}, ρ_{r+1}^{−1}v_{r+1}(X_{1}, …, X_{r+1}), …, ρ_{n}^{−1}v_{n}(X_{1}, …, X_{r+1})), where for r+1 ≤ i ≤ n, the ρ_{i} ∈ K[X_{1}, …, X_{r}] are non–zero polynomials and the v_{i} ∈ K[X_{1}, …, X_{r}, T] are polynomials whose degree with respect to the variable T is at most D−1. The polynomials ρ_{r+1}X_{r+1}−v_{r+1}, …, ρ_{n}X_{n}−v_{n} are then called a canonical parametrization of the ideal–theoretic complete intersection variety V.

In other words, the following identity between ideals in F [x_{r+1}, …, x_{n}] holds :

F ⊗_{A} I(V) = (𝔪_{u}(u), ρ_{r+1}X_{r+1} − v_{r+1}, …, ρ_{n}X_{n} − v_{n})

Observe that for i = r + 1, …, n the dependent variable X_{i} is parametrized by ρ_{i}^{−1}v_{i}.

Proposition 43 (Proposition 16, [Giusti et al., 1998 ]) Suppose the polynomials ρ_{r+1}X_{r+1}−v_{r+1}, …, ρ_{n}X_{n}−v_{n} define a canonical parametrization of an ideal–theoretic complete intersection variety V. Then, the polynomials ρ_{i} ∈ R[X_{1}, …, X_{r}]\{0}, r +1 ≤ i ≤ n and the coefficients of the polynomials v_{i} ∈ R[X_{1}, …, X_{r}][t] verify the conditions :

• deg ρ_{i} ≤ (deg V)^{3},

• the degree of the coefficients of the v_{i} is ≤ 2(deg V)^{3},

• in K(Y_{1}, …, Y_{r})[Y_{r+1}, …, Y_{n}] holds the identity (𝔪_{u}, ρ_{r+1}X_{r+1} − v_{r+1}, …, ρ_{n}X_{n} − v_{n}) = I(V),

• and ρ_{i}X̄_{i} − v_{i}(X_{1}, …, X_{r}, ū) = 0 in K[V].

Let us observe that the information provided by H_{U}, U, and U^{−1} is sufficient to describe K[V] completely. The set {1, ū, …, ū^{D−1}} is a basis of F ⊗_{A}K[V] as a vector space. The matrix M_{u} is the companion matrix of 𝔪_{u} with respect to this basis. The tensor matrices M_{i}, for r + 1 ≤ i ≤ n, will be given by :

M_{i} := ρ_{i}^{−1}v_{i}(M_{u}).  (3.1)

The elimination polynomial can be obtained as the characteristic polynomial of the matrix given by :

∑_{i=r+1}^{n} U_{i} · ρ_{i}^{−1}v_{i}(M_{u}).  (3.2)

Definition 44 (Geometric Solution) Let V ⊆ IK^{n} be an ideal–theoretic complete intersection R–definable variety of dimension r. A geometric solution of V is the following list of data :

• a non–singular matrix N ∈ N (V) such that the set of variables

( Y_{1} ; ⋮ ; Y_{n} ) = N · ( X_{1} ; ⋮ ; X_{n} )

are in Noether position with respect to V, this means the ring A_{N} := K[Y_{1}, …, Y_{r}] verifies that A_{N} ↪ K[V] is an integral ring extension,

• a primitive element u = u_{r+1}Y_{r+1} + ⋯ + u_{n}Y_{n} ∈ R[Y_{r+1}, …, Y_{n}] of the integral ring extension A_{N} ↪ K[V],

• a polynomial P ∈ R[Y_{1}, …, Y_{r}][T] of the form

P = CT^{D} + g(Y_{1}, …, Y_{r}, T),

where C ∈ ZZ\{0}, deg_{T} g ≤ D−1 and C^{−1}P is the minimal polynomial of u with respect to K[V] (let us observe that deg_{T} P = rk_{A_{N}} K[V]) and finally

• a representation of U^{−1} given as the list ρ_{r+1}, …, ρ_{n} ∈ R[Y_{1}, …, Y_{r}], v_{r+1}, …, v_{n} ∈ R[Y_{1}, …, Y_{r}][T] with deg v_{j} ≤ D − 1 such that

I(V) = (P (u), ρ_{r+1}X_{r+1} − v_{r+1}(u), …, ρ_{n}X_{n} − v_{n}(u))

is an equality of ideals in K(Y_{1}, …, Y_{r})[Y_{r+1}, …, Y_{n}].

Observe that for the minimal polynomial P of the primitive element u holds :

K[X_{1}, …, X_{n}]/(P (u), ρ_{r+1}X_{r+1}−v_{r+1}(u), …, ρ_{n}X_{n}−v_{n}(u)) = K[T]/(P (T)).

The following Proposition taken from [Giusti et al., 1997a], [Morais, 1997] says that we can obtain a set of geometric solutions for the varieties V_{i} = V (f_{1}, …, f_{i}) for 1 ≤ i ≤ t in the form of a straight–line program Γ′ evaluating them with a reasonable complexity. Moreover, the time needed to produce this straight–line program is polynomial in the parameters n, d, L, δ.

Proposition 45 (Geometric solutions, [Giusti et al., 1997a ]) Given a non–scalar straight–line program Γ of size L, non–scalar depth ℓ and parameters in a finite set F ⊆ R, such that Γ evaluates the polynomials f_{1}, …, f_{t}, f ∈ R[X_{1}, …, X_{n}]. Then there exists a bounded error probability Turing machine which, taking as input the straight–line program Γ computes a non–scalar straight–line program Γ′ of size O(ndLδ)^{O(1)} and parameters in F ∪ {z ∈ ZZ : | z | ≤ (ndLδ)^{c}}, such that Γ′ evaluates the geometric solutions of all the varieties V_{1}, …, V_{i−1} with respect to the Noether normalisation N, i.e. Γ′ evaluates :

• linear forms u_{i} ∈ R[Y_{n−i+1}, …, Y_{n}], 1 ≤ i ≤ t − 1, such that u_{i} is a primitive element of the integral ring extension A_{i} ↪ B_{i}. Moreover, u_{i} may be chosen such that ht(u_{i}) ≤ (ndLδ)^{c}.

• polynomials p_{i} ∈ R[Y_{n−i+1}, …, Y_{n}][T] for 1 ≤ i ≤ t − 1 of degree D_{i} with respect to the variable T. We may assume that p_{i} has the form

p_{i} = α_{i}T^{D_{i}} + h_{i}

where α_{i} ∈ R \ {0} is the leading coefficient of p_{i} and deg_{T} h_{i} ≤ D_{i−1}. Moreover, α_{i}^{−1}p_{i} is the minimal equation of the endomorphism : η_{u_{i}} : B′_{i} → B′_{i} in the basis given by {1, ū_{i}, …, ū_{i}^{D_{i}−1}}.

• for 1 ≤ i ≤ t − 1 polynomials ρ_{n−i+1}^{(i)}, …, ρ_{n}^{(i)} ∈ R[Y_{n−i+1}, …, Y_{n}],

• for 1 ≤ i ≤ t−1 polynomials v_{n−i+1}^{(i)}, …, v_{n}^{(i)} ∈ R[Y_{n−i+1}, …, Y_{n}][T] with deg_{T} v_{j}^{(i)} ≤ D_{i}−1. Moreover, for 1 ≤ i ≤ t−1 and for n−i+1 ≤ j ≤ n, the polynomial ρ_{j}^{(i)}Y_{j} − v_{j}^{(i)}(u_{i}) lies in the ideal generated by (f_{1}, …, f_{i}) in K[Y_{1}, …, Y_{n}].

3.5 Height of complete intersection varieties.

Being well conscious about the existing differences between the commutative algebra, projective and affine geometrical context, we introduce a notion of height for complete intersection varieties which is strongly inspired by the works [Nesterenko, 1985], [Nesterenko, 1987] and [Philippon, 1991b], [Philippon, 1994], [Philippon, 1995]. These authors focused their attention on the elimination polynomial of equidimensional projective varieties in order to define an appropriate notion of height. In spite of the non–homogeneous condition of our ideals we can condense a notion of height for affine varieties in the elimination polynomial 𝔪_{U}. This depends on the condition of having the variables in Noether position, but this is not a relevant restriction as we will see.

Our main goal here is to show that elimination polynomial and geometric solution are not only computationally equivalent. They are also equivalent in terms of height and we are therefore free to use either in our forthcoming statements.

Definition 46 Let V ⊆ IK^{n} be an ideal–theoretic complete intersection R– definable variety of dimension r. Let N ∈ N (V) be a linear change of coordinates that puts the variables in Noether position with respect to V. Let Y_{1}, …, Y_{n} be the new variables and A = K[Y_{1}, …, Y_{r}] be the ring of polynomials such that A_{N} ↪ K[V] is an integral ring extension. We define :

i) the degree of V with respect to A_{N} as deg(V, N) := rk_{A_{N}} K[V]. Let us observe that if 𝔪_{U} ∈ R[Y_{1}, …, Y_{r}][U_{r+1}, …, U_{n}][T] is the elimination polynomial of V with respect to A_{N} (see Subsection 3.4.1) we have :

deg(V, N) = deg_{T} 𝔪_{U}.

ii) the height of V with respect to the Noether normalisation A_{N} as the

logarithmic height

ht(V, N) := ht(𝔪_{U}).

iii) Finally, Philippon’s invariant height of V with respect to the Noether normalisation A_{N} is :

h̃t(V, N) := h̃t(𝔪_{U}).

These notions of degree and height may be seen as mappings :

deg_{V} : N (V) ⟶ IR,  ht_{V} : N (V) ⟶ IR,  h̃t_{V} : N (V) ⟶ IR.

To state the forthcoming results in a concise form, we shall restrict the domains of these mappings, while trying to minimize the loss of generality. First, we work mainly with the set of Noether normalisations N ∈ N_{ZZ}(V) which have integer entries. Second, there exists a universal constant c > 0 independent from V such that there exist matrices N ∈ N_{ZZ}(V), N = (n_{ij})_{1≤i,j≤n}, n_{ij} ∈ ZZ verifying

| n_{ij} | ≤ (n deg(V))^{c},  rk_{A_{N}} K[V] = deg(V, N) = deg(V).  (3.3)

Finally, we restrict our Noether normalisations to the class of matrices

N(V) := {N ∈ N_{ZZ}(V) : H_{1}(N) ≤ (n deg(V))^{c}, deg(V, N) = deg(V)}.

Definition 47 (Heights) With the previous notations, for an ideal–theoretic complete intersection R–definable variety V ⊆ IK^{n}, we define

i) the height of V as

ht(V) := max{ht(V, N) : N ∈ N(V)},

ii) and Philippon’s invariant height of V as

h̃t(V) := max{h̃t(V, N) : N ∈ N(V)}.

These two definitions of height are independent of any particular polynomial equation system defining the ideal-theoretic complete intersection variety. Similar notions of height are also studied in [Sombra, 1998a].

3.6 Relations between both approaches

This Section shows that the two approaches for the description of F ⊗_{A} K[V] via elimination polynomial and geometric solution are essentially equivalent, both in terms of computational and height estimates.

3.6.1 Computational equivalence

From the geometric solution to the elimination polynomial

Let us assume that we have a complete intersection variety V ⊆ IK^{n} of dimension r, generated by and that I(V) = (f_{1}, …, f_{n−r}). Let N ∈ N_{ZZ}(V) be a linear change of coordinates which puts the variables in Noether position with respect to V, i.e. the new set of variables (Y_{1}, …, Y_{n}) given by

( Y_{1} ; ⋮ ; Y_{n} ) = N ( X_{1} ; ⋮ ; X_{n} )

verifies that the following is an integral ring extension

A = K[Y_{1}, …, Y_{r}] ↪ K[Y_{1}, …, Y_{n}]/I(V) = B.

Let D ∈ IN be the rank of B as free A–module. Let U_{r+1}, …, U_{n} be a new set of variables and

U = U_{r+1}X_{r+1} + ⋯ + U_{n}X_{n}

the generic projection. The elimination polynomial 𝔪_{U} as introduced in Subsection 3.4.1 can be obtained as the characteristic polynomial χ_{U} of the matrix :

M_{U} = T_{r+1}M_{r+1} + ⋯ + T_{n}M_{n}

where the matrices M_{i} are the tensor matrices M_{X_{i}} of A ↪ B describing the multiplication by the dependent variables X_{i} for r + 1 ≤ i ≤ n. Thus, using Proposition 31 (Berkowitz) we can obtain the characteristic polynomial χ_{U} of M_{U} by a straight–line program Γ_{0} verifying :

• size(Γ_{0}) ≤ D^{6}

• non–scalar depth (Γ_{0}) ≤ 2 log_{2} D + 7 = O(log_{2} D)

• Parameters in {−1, 0, 1} 3.6. Relations between both approaches 67

which takes as inputs the entries of the matrix M_{U} and outputs the coefficients of the elimination polynomial χ_{U} in A_{T} := A[U_{r+1}, …, U_{n}]. Now, let us consider a geometric solution of the variety V (as introduced in Section 3.4) consisting of :

• a primitive element u (Subsection 3.4.2),

• the minimal polynomial 𝔪_{u} ∈ A[Z] of u and

• the canonical parametrizations ρ_{i}X_{i} − v_{i}(Z) for r + 1 ≤ i ≤ n. Let M_{u} be the companion matrix of 𝔪_{u}. Then, by Equation (3.1) we can compute a multiple of the tensor matrix M_{i} as ρ_{i}M_{i} = v_{i}(M_{u}). Defining ρ := ∏_{i=r+1}^{n} ρ_{i}, we have :

ρM_{U} := U_{r+1}( ∏_{i≠r+1} ρ_{i}) · v_{r+1}(M_{u}) + ⋯ + U_{n}(∏_{i≠n} ρ_{i})v_{n}(M_{u}).

Thus, applying Proposition 31 (Berkowitz) there exists a non–scalar straight– line program Γ_{1} verifying :

• size(Γ_{1}) ≤ O(n · D),

• non–scalar depth (Γ_{1}) ≤ O(max{log_{2} n, log_{2} D}),

• parameters used by Γ_{1} in {−1, 0, 1} ⊆ ZZ, which takes as inputs

• the new variables U_{r+1}, …, U_{n},

• the coefficients of p,

• the coefficients of the polynomials v_{r+1}, …, v_{n} and

• the polynomials ρ_{r+1}, …, ρ_{n} and outputs the entries of the matrix ρM_{U}. Finally, let us consider the coordinate change given by the variables Z and Z′ related by Z′ = ρZ. Then, we have :

ρ^{D} det(Z − M_{U}) = det(ρZ − ρM_{U}) = det(Z′ − ρM_{U}).

So, the coefficients of the characteristic polynomial χ_{U} can be obtained by dividing the coefficients of the characteristic polynomial of ρM_{U} (as obtained by the straight–line program Γ_{1}) by \frac{1}{ρ^{D}}. We then conclude the following Proposition :

Proposition 48 There exists a non–scalar straight–line program Γ verifying :

• size(Γ) ≤ O(n · D) + D^{O(1)},

• non–scalar depth of Γ ≤ O(log_{2} n + log_{2} D),

• parameters used by Γ in {−1, 0, 1},

which takes as inputs

• the variables U_{r+1}, …, U_{n},

• the coefficients of the minimal polynomial 𝔪_{u} of the primitive element u,

• the coefficients of the polynomials v_{r+1}, …, v_{n} and

• the polynomials ρ_{r+1}, …, ρ_{n}

and, applying Proposition 33 (Vermeidung von Divisionen), outputs the coefficients of the elimination polynomial χ_{U}.

From the elimination polynomial to the geometric solution

Conversely, let us suppose now that we are given an elimination polynomial of the variety V with respect to a fixed Noether normalisation N. In [Krick & Pardo, 1994], [Krick & Pardo, 1996] a well-parallelizable method was exposed, which transforms the coefficients of the elimination polynomial into the coefficients of the geometric solution of the variety V. Roughly speaking, the method is expressed as a well-parallelizable straight–line program (of appropriate size) performing this transformation. A brief sketch of this method runs as follows :

Let U := U_{r+1}X_{r+1} + ⋯ + U_{n}X_{n} be the generic projection with respect to a Noether normalisation A = K[X_{1}, …, X_{r}] ↪ K[V]. Let 𝔪_{U} be its minimal polynomial in A[U_{r+1}, …, U_{n}][T] with respect to the variety V. Let us recall that 𝔪_{U} is monic (up to a constant in ZZ) with respect to the variable T.

Let us now consider for r + 1 ≤ i ≤ n the projections :

z_{i} := U_{r+1}X_{r+1} + ⋯ + U_{i−1}X_{i−1} + U_{i+1}X_{i+1} + ⋯ + U_{n}X_{n}

and the polynomials

Q_{i} := 𝔪_{U}(X_{1}, …, X_{r}, U_{r+1}, …, U_{i−1}, 0, U_{i+1}, …, U_{n}, T),

G_{i} := 𝔪_{U}(X_{1}, …, X_{r}, 0, …, 0, 1, 0, …, 0, T).

Then, we have the following

Lemma 49 ([Krick & Pardo, 1996]) There exists a geometric solution of the variety V given by :

• u := u_{r+1}X_{r+1} + ⋯ + u_{n}X_{n} ∈ ZZ[X_{r+1}, …, X_{n}],

• P_{u} ∈ R[X_{1}, …, X_{r}][T],

• ρ_{i} ∈ K[X_{1}, …, X_{r}] for r + 1 ≤ i ≤ n and

• v_{i} ∈ K[X_{1}, …, X_{r}][T] for r + 1 ≤ i ≤ n,

such that the following holds :

i) | u_{i} | ≤ (deg(V))^{O(1)} for r + 1 ≤ i ≤ n,

ii) m_{u}(X_{1}, …, X_{r}) := 𝔪_{U}(X_{1}, …, X_{r}, u_{r+1}, …, u_{n}).

Let us consider for r + 1 ≤ i ≤ n the polynomials

q_{i} := Q_{i}(X_{1}, …, X_{r}, U_{r+1}, …, U_{i−1}, U_{i+1}, …, U_{n}, T),
g_{i} := G_{i}(X_{1}, …, X_{r}, 0, …, 0, 1, 0, …, 0, T).

Then, there exists a non–scalar straight–line program of size (n deg(V))^{O(1)}, non–scalar depth O(log deg(V)) and parameters in {−1, 0, 1, u_{r+1}, …, u_{n}} which from the coefficients with respect to the variable T of the polynomials q_{r+1}, …, q_{n}, g_{r+1}, …, g_{n} computes the coefficients with respect to the variable T of the polynomials v_{r+1}, …, v_{n} and the polynomials ρ_{r+1}, …, ρ_{n}.

Moreover, this procedure for computing the geometric solution of V from the elimination polynomial can be performed by an algorithm running in bounded error probability, probabilistic time (n deg(V))^{O(1)}. Alternative methods can also be seen in [Bompadre et al., 1997].

3.6.2 Equivalence of height estimates

Let us observe that the two main statements shown in the previous Subsection say that we may pass from the elimination polynomial to the geometric solution and vice versa by means of an algorithmic procedure with low bounds in terms of parallel complexity (non-scalar depth). Since height estimates depend mainly on the non-scalar depth (see Section 2.3) we may easily conclude the following two Theorems.

Theorem 50 There exists a universal constant c > 0 independent of all involved data such that for every ideal–theoretic complete intersection R– definable variety V ⊆ IK^{n}, there exist the following elements :

i) a Noether normalisation N ∈ N(V),

ii) a geometric solution of V with respect to N (see Definition 44), i.e.

• a primitive element u = u_{r+1}Y_{r+1} + ⋯ + u_{n}Y_{n},

• the minimal polynomial P ∈ K[Y_{1}, …, Y_{r}][T],

• polynomials ρ_{i} ∈ R[Y_{1}, …, Y_{r}] and polynomials v_{i} ∈ R[Y_{1}, …, Y_{r}][T]

such that the following holds :

i) the data N, u, P, ρ_{r+1}, …, ρ_{n}, v_{r+1}, …, v_{n} is a geometric solution of V,

ii) | u_{i} | ≤ H_{1}(u) ≤ (deg(V))^{c},

iii) max{ht(P), ht(ρ_{i}X_{i} − v_{i}(T))} ≤ deg(V)^{c}((n − r) + ht(V)), and

iv) max{h̃t(P), h̃t(ρ_{i}X_{i} − v_{i}(T))} ≤ deg(V)^{c}((n − r) + h̃t(V)).

Moreover, all these polynomials verify the degree bounds stated in Proposition 43 on page 62.

Proof.– Combining the Lemmata 11, 26, 27, 28 and 49.

Theorem 51 For the height estimates of the elimination polynomial holds :

ht(χ_{U}) ≤ (nD)^{O(1)}(ht(𝔪_{u})) + ∑_{i=r+1}^{n} ht(ρ_{i}X_{i} − v_{i}(Z)),

h̃t(χ_{U}) ≤ (nD)^{O(1)}(h̃t(𝔪_{u}) + ∑_{i=r+1}^{n} h̃t(ρ_{i}X_{i} − v_{i}(Z)).

Proof.– Applying Proposition 48, there exists a non–scalar straight–line program of size (nD)^{O(1)}, non-scalar depth O(log_{2} n + log_{2} D) and parameters in {−1, 0, 1} which, taking as input the coefficients of the polynomials 𝔪_{u}, ρ_{1}, …, ρ_{n} and v_{1}, …, v_{n} with respect to the variable Z, evaluates the coefficients of χ_{U} with respect to the variable Z. Applying Corollary 29 (Composition), we obtain that the coefficients of χ_{U} verify that both ht and h̃t are bounded by the heights of the coefficients of 𝔪_{u}, v_{1}, …, v_{n} and the heights of ρ_{1}, …, ρ_{n}. Next, applying Corollary 12 (Coefficients) shows that also ht(χ_{U}) and h̃t(χ_{U}) are bounded by these estimates. Finally, the heights of the coefficients of 𝔪_{u}, v_{1}, …, v_{n} and also ρ_{1}, …, ρ_{n} are appropriately bounded, see Corollary 12.

72 Chapter 3. Complete intersection varieties

The equivalence problem for straight–line programs

This Chapter deals with the zero–equivalence problem for multivariate polynomials given by straight–line programs. This subject was initiated in in the late seventies and early eighties by several authors (cf. [Schönhage, 1979], [Zippel, 1979], [Schwartz, 1979], [Schwartz, 1980], [Ibarra et al., 1981], [Heintz & Schnorr, 1982], [Ibarra & Leininger, 1983], [Ibarra & Moran, 1983], [Zippel, 1990], [Zippel, 1993]).

The renewed interest in the subject is motivated by several recent advances in Symbolic and Numeric Solving (see for example [Shub & Smale, 1993a], [Shub & Smale, 1993b], [Shub & Smale, 1993c], [Giusti et al., 1995], [Aldaz et al., 1996], [Giusti et al., 1997a]).

We can state the problem in the following form :

Problem 2 (Zero–equivalence) Let K be a number field. Given a division free straight–line program Γ that evaluates a polynomial f ∈ K[X_{1}, …, X_{n}] of degree at most d, decide whether f ≡ 0 or not.

The simple-minded approach of comparing the the coefficients of the dense representation does not work, since the coefficients are not individually available. If we interpolate the straight–line program in sufficiently many points to recover the coefficients of the polynomial, we obtain a deterministic algorithm for the solution of Problem 2. At the same time, we loose all the work we have spent in avoiding the high complexity of the dense monomial representation, since the interpolation process yields a lower time bounds of \binom{d+n}{n} ≃ d^{n},, which is particularly inefficient if the degree of the polynomial f is much larger that the length of the straight–line program representing it.

Since the early eighties these considerations lead to probabilistic design of procedures solving Problem 2. In fact, all known procedures not only solve Problem 2 but also the following :

Problem 3 Let K be a number field. Let Γ be a division free straight–line program that evaluates a polynomial f ∈ K[X_{1}, …, X_{n}] of degree at most d. Let V (f) ⊆ C^{n} be the algebraic hypersurface

V (f) := \{x ∈ C^{n} : f(\underline{x})\}

If the polynomial f is not identically zero in K[X_{1}, …, X_{n}], compute a point x ∈ K^{n} \ V (f).

In the papers [Krick & Pardo, 1994], [Giusti et al., 1995], [Giusti et al., 1998], [Giusti et al., 1997a] the consistency problem 1.1 for polynomial equation systems is reduced to the problem of zero–equivalence of straight–line programs for polynomials.

The main goal of this Chapter is to establish all the necessary theoretical arguments as well as an effective algorithm for the decision of this equivalence problem. The following examples should illustrate the natural occurence of zero–equivalence tests for straight–line programs in our context :

Let K be a number field, and f_{1}, …, f_{r} ∈ K[X_{1}, …, X_{n}] a regular sequence of polynomials of degree at most d. Let V ⊆ C^{n} be the algebraic variety given by V := V (f_{1}, …, f_{r}) := {x ∈ C^{n} : f_{i}(x) = 0, 1 ≤ i ≤ r}. Then, V is an equidimensional variety of codimension r and dimension n−r. Let g ∈ K[X_{1}, …, X_{n}] be another polynomial. We may ask the following questions :

i) Consistency : Decide whether V (g) intersects V, i.e.

V (g) ∩ V ≠ ∅?

ii) Radicality : Decide whether the ideal (f_{1}, …, f_{r}) is a radical ideal.

iii) Transversality : Assuming that V (g) intersects V, decide whether

dim V (g) ∩ V = n − r − 1 holds?

iv) Smoothness : Decide whether V (f_{1}, …, f_{r}) is a smooth variety?

v) Membership Problem for complete intersection radical ideals : Assuming that the ideal (f_{1}, …, f_{r}) is a radical ideal, decide whether g ∈ (f_{1}, …, f_{r}) or not.

These questions can be reduced to a zero–equivalence test for a particular polynomial 𝔪_{U} called elimination polynomial, which has been introduced in Proposition 42 on page 60 in Chapter 3. Applied here, we can restate the above problems in the following way :

i) Consistency : V (g) intersects V if and only if χ_{g} ∈ K \ {0}. Thus, taking two new variables S and T, consider the polynomial F := χ_{g}(X_{1}, …, X_{n−r}, S) − χ_{g}(Z_{1}, …, Z_{n−r}, T). We conclude that V (g) ∩ V = ∅ ⟺ F ≡ 0.

ii) Transversality : Assuming that V (g) intersects V, let us consider the polynomial F := χ_{g}(X_{1}, …, X_{n−r}, 0) ∈ K[X_{1}, …, X_{n−r}]. Then, V (g) is transversal to V if and only if F is not the zero polynomial.

iii) Radicality : Let us consider g as the determinant of the jacobian matrix of (f_{1}, …, f_{r}) with respect to the variables X_{n−r+1}, …, X_{n}, i.e. g := J(f_{1}, …, f_{r}) := det(\frac{∂f_{i}}{∂X_{j}})_{1≤i≤r,n−r+1≤j≤n}. Let χ_{g} be the corresponding elimination polynomial. Then, the ideal (f_{1}, …, f_{r}) ⊆ K[X_{1}, …, X_{n}] is a radical ideal if and only if g is transversal to V.

iv) Smoothness : Let J(f_{1}, …, f_{r}) be the jacobian matrix with respect to a Noether normalisation. Then smoothness is equivalent to the condition : χ_{J} ∈ K \ {0}.

v) Membership Problem : Assuming the radicality of (f_{1}, …, f_{r}), let us observe that g ∈ (f_{1}, …, f_{r}) if and only if χ_{g} = Y holds in K[X_{1}, …, X_{n−r}, Y]. In other words, taking F := χ_{g}(X_{1}, …, X_{n−r}, Y)− Y ∈ K[X_{1}, …, X_{n−r}, Y], we have g ∈ (g_{1}, …, g_{r}) ⟺ F ≡ 0.

4.1 Correct test sequences

A first class of procedures solving Problem 2 and Problem 3 are based on counting arguments which, in fact, are quantitative estimates obtained by a systematic use of geometric intersection theory, see for example [Heintz, 1983], [Fulton, 1984] [Vogel, 1984]. Usually, the underlying mathematical tool is a geometric Bézout inequality. This is implicit in [Zippel, 1979], [Schwartz, 1979], [Schwartz, 1980], [Zippel, 1990], [Zippel, 1993], and explicitly used in [Heintz & Schnorr, 1982], [Krick & Pardo, 1994], [Krick & Pardo, 1996].

In [Ibarra & Moran, 1983] the authors give a detailed analysis of the complexity of the zero–equivalence problem for straight–line programs representing polynomials, yielding a probabilistic polynomial time algorithm as well as a separation from the case where the ground domain is finite and the problem becomes NP –hard. A good presentation of this type of techniques, resuming the above and new results (see [Zippel, 1990]) can be found in the book [Zippel, 1993].

A different approach based on a non–uniform complexity model using density arguments is used by J. Heintz and C. P. Schnorr in [Heintz & Schnorr, 1980], [Heintz & Schnorr, 1982] to establish the existence of short correct test sequences for the equivalence problem for polynomials. This approach has been translated in [Hägele & Montaña, 1997] to the context of straight-line programs over ZZ, Q and yields that the equivalence problem is in the space complexity class P/poly.

Definition 52 Given a set F ⊂ R[X_{1}, …, X_{n}] (which contains the null polynomial) we say that a finite set of points Q ⊂ R^{n} is a correct test sequence for F iff for all P ∈ F the following holds :

P |_{Q}= 0 ⟹ P ≡ 0 .

Let W(n, d, L) be the class of all polynomials in n variables with degree bounded by d which can be evaluated by a straight–line program of size L. The following Theorem taken from [Heintz & Schnorr, 1982] states that the height of correct test sequences for W(n, d, L) is moderate.

Theorem 53 ([Heintz & Schnorr, 1982]) Let L, d ∈ IN and let u := 2L(d + 1)^{2}, s := 6(L + n)(L + n + 1). Then, the number of correct test sequences for W(d, n, ν) in the set {1, …, u}^{ns} is at least u^{ns}(1 − u^{−s/6}).

The proof of this Theorem is based essentially on the concept of geometric degree of an affine algebraic variety, probability arguments and the Bézout inequality, both established in [Heintz & Schnorr, 1982], [Heintz, 1983] see also [Fulton, 1984], [Vogel, 1984] and Section 3.3 on page 56.

Let us define the set W (n, L, ℓ) of all polynomials in n variables over R which can be evaluated by a non–scalar straight–line program of size L and non– scalar depth ℓ. The following Proposition states the existence of a correct test sequence for W (n, L, ℓ) of small size and height.

Proposition 54 ([Krick & Pardo, 1996]) Given n, L, ℓ ∈ IN with L ≥ n + 1, let u := (2^{ℓ+1} − 2) (2^{ℓ} + 1)^{2} and t := 6 (ℓL)^{2}. Then the finite set \{1, …, u\}^{nt} ⊂ ZZ^{nt} contains at least u^{nt} (1 − u^{− \frac{t}{6}} ) correct test sequences of length t for W(n, L, ℓ) (therefore it contains at least one correct test sequence of this length).

4.2 Probabilistic zero–test

In this Section we use height estimates for the integer evaluated by a given straight–line program to show that the equivalence problem is in the timecomplexity class BP P. We also give an effective randomized version of a BP P class algorithm.

Let us recall the following classical result :

Theorem 55 (Čebyšev, see [Narkiewiecz, 1983], Chapter III.4) Let π(x) denote the function

π : IR^{+} → IN_{0} : pi(x) = #{p ∈ IN, p prime, and p ≤ x}

Then there exist positive constants c_{1}, c_{2} > 0 with c_{1} = 1 + O(1), such that

c_{1} \frac{x}{log x} ≤ π(x) ≤ c_{2} \frac{x}{log x}.

The obvious bound of 2^{2^{L}} for the absolute value of an integer evaluated by a division free straight–line program of length L together with a counting argument using Čebyšev’s Prime Number Theorem yields the following Proposition :

Algorithm 56 ([Hägele & Montaña, 1997]) Given a division free straight–line program Γ over ZZ of length L which evaluates an integer a ∈ ZZ, the following algorithm decides probabilistically (with an error probability bounded by \frac{1}{e}) whether a = 0 or not. Algorithm : Consider a set D_{L} of 4L random numbers in the range 1, …, 2^{2L}. Output “a ≠ 0” if D_{L} contains at least one number, say x, for which the evalution of Γ mod x gives a non–zero result. Otherwise, output “a = 0”.

A more careful analysis, taking into account the non–scalar depth ℓ of the straight–line program yields :

Lemma 57 ([Krick & Pardo, 1996], Proposition 15) Given an integer a ∈ ZZ by a division-free straight–line program of size L, non–scalar depth ℓ and parameters in a finite set F ⊆ ZZ of bounded height H, the height of a can be bounded as :

| a | ≤ (LH)^{(2^{ℓ+1}−2)}.

This allows us to prove the following :

Lemma 58 Given integers n, N ∈ ZZ with 1 ≤ N ≤ 2^{n2^{n}}, and n ≥ 8, • the probability for a random m in {1, …, 2^{2n}} that N mod m ≠ 0 is at

least \frac{1}{4n},

• the probability for a random prime p in {1, …, 2^{2n}} that N mod p ≠ 0 is at least \frac{1}{2}.

Proof.– The number of prime divisors for any integer N in the range {1, …, 2^{n2^{n}}} is bounded by n2^{n}. By Čebyšev’s Prime Number Theorem, the number of primes in \{1, …, 2^{2n}\} is estimated by \frac{2^{2n}}{2n}. Therefore, the probability that N ≢ 0 modulo a number (prime) chosen at random from {1, …, 2^{2n}} becomes

(\frac{2^{2n}}{2n} − n2^{n}) · \frac{1}{2^{2n}} and (\frac{2^{2n}}{2n} − n2^{n}) · \frac{2n}{2^{2n}} respectively.

From this we can directly conclude for n ≥ 8 the claims made.

4.3 Witness Theorem

In [Heintz & Schnorr, 1982] and more recently in [Blum et al., 1997] (cf. also [Blum et al., 1995]) the authors give deterministic methods for the solution of Problem 3. The common approach is based on the notion of witness : Here the idea, which goes back to Kronecker, is to use instead of many points just one point of sufficiently large height.

Observe however, that this approach is not suitable for our main purpose of establishing good height estimates, since we will always want to maintain the height of all coefficients as small as possible.

Definition 59 ([Blum et al., 1997 ]) Let K be an algebraic number field and f ∈ K[X_{1}, …, X_{n}]. A witness for f is a point w ∈ K^{n} such that holds :

f(w) = 0 ⟹ f = 0.

The result due to Heintz and Schnorr can be resumed as :

Theorem 60 ([Heintz & Schnorr, 1982]) i) Let f ∈ ZZ[X_{1}, …, X_{n}] be a polynomial of degree bounded by d such that the weight of f is bounded by m. Then, the following point is a witness for f :

w := ((2m), (2m)^{d+1}, …, (2m)^{(d+1)^{n−1}}).

ii) Let f ∈ Q [X_{1}, …, X_{n}] be a polynomial of degree d and p_{1}, …, p_{n} pairwise distinct primes. Then, the following point is a witness for f :

w := (p1^{\frac{1}{(d+1)}} , …, pn^{\frac{1}{(d+1)}} ).

By a similar argument as that of item i) above, but using Weil’s height, we obtain the following statement :

Theorem 61 ([Blum et al., 1997 ]) Let f(X_{1}, …, X_{n}) ∈ K[X_{1}, …, X_{n}] be a polynomial that can be evaluated by a division free non–scalar straight– line program of size L with parameters in {x_{1}, …, x_{s}}. Then a witness for f can be obtained as the sequence :

(w_{1}, (w_{1})^{2^{4nL^{2}+4L}}, …, (w_{1})^{2^{4nL^{2}+4L}(n−1)}),

where w_{1} can be chosen in

{2^{2^{4nL^{2}+4L}}, x_{1}^{2^{4nL^{2}+4L}}, …, x_{s}^{2^{4nL^{2}+4L}}}.

Observe that the proof is similar to that of [Heintz & Schnorr, 1982], with the bounds for the weight written in terms of the size of the straight–line program. For more recent results in this direction refer to the forthcoming book [Blum et al., 1997]. As a final remark we give the following Theorem, which improves on the height bounds established in Theorem 61 above by considering the parallel complexity measure of a straight–line program evaluating the polynomial.

Theorem 62 (Witness Theorem with parallel estimates) Let f be a polynomial in ZZ[T_{1}, …, T_{r}, X_{1}, …, X_{n}] evaluable by a non–scalar straight– line program Γ of size L, non–scalar depth ℓ and parameters in {−1, 0, 1}. Let x_{1}, …, x_{r} ∈ K be some algebraic numbers, and ω_{0} ∈ {2, x_{1}, …, x_{r}} such that

H_{1}(x_{0}) = max{2, H_{1}(x_{1}), …, H_{1}(x_{r})}

Let f ∈ K[X_{1}, …, X_{r}] be the polynomial given by :

f := F (x_{1}, …, x_{r}, X_{1}, …, X_{r}).

Then, for N ∈ IN such that

log_{2} N > log_{2}(ℓ + 1) + (ℓ + 2)(log_{2} log_{2} L + max{2, log_{2} r})

the point (ω_{1}, …, ω_{n}) ∈ K^{n} given by :

ω_{1} = ω_{0}^{N},  ω_{i} = ω_{i−1}^{N}  for i = 2, …, n

is a witness point for f.

Proof.– [Castro et al., 1998] 80 Chapter 4. The equivalence problem for straight–line programs

Interpolation modulo complete intersection varieties

Trace formulae have been used recently in several papers treating problems in algorithmic elimination theory. There are two main applications of this kind of identities : computation of monomial bases of low degree (as in [Alonso et al., 1996], [Becker et al., 1996], [Cardinal, 1993]) or interpolation modulo complete intersection varieties (as in [Fitchas et al., 1995], [Krick & Pardo, 1994], [Krick & Pardo, 1996], [Giusti et al., 1997a]). Here we follow the second approach to solve the following problem :

Let A be a ring of polynomials over a given number field. Let F be the quotient field of A, IF the algebraic closure of F and let A[X_{1}, …, X_{n}] be the ring of n–variate polynomials with coefficients in A. Let f_{1}, …, f_{n} be polynomials in the ring A[X_{1}, …, X_{n}] of degree at most d in the variables X_{1}, …, X_{n} such that the following holds :

• the ideal (f_{1}, …, f_{n}) is radical and

• for B := A[X_{1}, …, X_{n}]/(f_{1}, …, f_{n}) the morphism A ↪ B is an integral ring extension representing a Noether normalisation of the variety V = V (f_{1}, …, f_{n}) defined by the polynomials f_{1}, …, f_{n} in a suitable affine space.

Thus, B is a free A–module of rank bounded by the degree of the variety V (f_{1}, …, f_{n}). Moreover, the A–algebra B is Gorenstein and the following statements are based on this fact.

Now the interpolation problem can be stated in the following terms :

Problem 4 (Interpolation modulo complete intersection variety) Given an element g ∈ B, compute a polynomial g_{1} ∈ A[X_{1}, …, X_{n}] such that ḡ_{1} = g holds in B.

Let us explain why this can be considered as an “interpolation” problem. The residue class g ∈ B of a polynomial can be given in terms of a matrix M_{g} as described in Chapter 3. However, the method we are going to show, does not require all of the information available in this matrix. Let V ⊆ IF be the zero–dimensional algebraic variety defined by

V := V (f_{1}, …, f_{n}) = \{\underline{x} ∈ IF^{n} : f_{i}(\underline{x}) = 0 for 1 ≤ i ≤ n\},

and let us assume that V = {α_{1}, …, α_{D}}. The procedure for the solution of Problem 4 we will exhibit in the sequel will also solve the following task :

Given a list of eigenvalues {β_{1}, …, β_{D}} ⊆ IF of a matrix M_{g} which describes the endomorphism of multiplication by an element g ∈ B with respect to some fixed basis, compute a polynomial g_{1} ∈ A[X_{1}, …, X_{n}] (if it exists) such that holds : g_{1}(α_{i}) = β_{i} for 1 ≤ i ≤ D.

In some cases, in particular our case the existence of g_{1} can be guaranteed : Let f, h be two elements of B such that f is not a zero–divisor in B and f divides h in B. Then, there exists a g_{1} ∈ A[X_{1}, …, X_{n}] such that

g_{1}(α_{i}) = \frac{h(α_{i})}{f(α_{i})} = β_{i} for 1 ≤ i ≤ D.

The polynomial g_{1} computed by our procedure verifies ḡ_{1} · f = h.

The objective for any constructive solution of the Interpolation Problem 4 will be of course to minimize the degree of g_{1} with respect to the variables X_{1}, …, X_{n}.

5.1 Trace and duality

With the above notations we are going to sketch a few standard facts related with the solution of the Interpolation Problem 4.

Recall that we are considering ideal-theoretic complete intersection varieties given by a sequence of polynomials f_{1}, …, f_{n} ∈ A[X_{1}, …, X_{n}] generating a radical ideal of codimension n. The A–algebra B := A[X_{1}, …, X_{n}]/(f_{1}, …, f_{n}) is reduced and Gorenstein (see Chapter 3). Let B^{∗} denote the dual of B by B^{∗} := Hom_{A}(B, A) as a B–module by the scalar product B × B^{∗} ⟶ B^{∗} which associates to any (b, τ) in B × B^{∗} the A–linear map b · τ : B ⟶ A defined by (b · τ)(x) := τ(bx) for any element x of B.

Since we know by our short discussion in Chapter 3 that the A–algebra B is Gorenstein, its dual B^{∗} is a free B–module of rank one. Any element σ of B^{∗} which generates B^{∗} as B–module is called a canonical trace of B or simply a trace.

There exists a particular element Tr of B^{∗} relevant for our purposes. The mapping Tr ∈ B^{∗} and is given in the following way : given b ∈ B, let η_{b} : B ⟶ B the A–linear map defined by multiplying by b any given element of B. The image Tr(b) under the map Tr is defined as the trace of the endomorphism η_{b} of B. This mapping Tr is called the standard trace of B and it should be remarked that it is not necessarily a canonical trace in the above sense, i.e. does not necessarily generate B^{∗}.

Let us introduce some additional notations, which we will need to show how to compute a canonical trace σ. For any element g ∈ A[X_{1}, …, X_{n}] we denote by ḡ its image in B, i.e. the residue class of g modulo the ideal (f_{1}, …, f_{n}). Let Y_{1}, …, Y_{n} be new variables and let Y := (Y_{1}, …, Y_{n}). Let 1 ≤ j ≤ n and let f_{j}^{Y} := f_{j}(Y_{1}, …, Y_{n}) be the polynomial of A[Y_{1}, …, Y_{n}] obtained from f_{j} by substituting the variables X_{1}, …, X_{n} by Y_{1}, …, Y_{n}. Let us consider the polynomial

f_{j}^{Y} − f_{j} = ∑_{k=1}^{n} l_{jk}(Y_{k} − X_{k}) ∈ A[X_{1}, …, X_{n}, Y_{1}, …, Y_{n}],

where the l_{jk} are polynomials belonging to A[X_{1}, …, X_{n}, Y_{1}, …, Y_{n}] with total degree at most (d−1) (observe that the l_{jk} are not uniquely determined by the sequence f_{1}, …, f_{n}). Let us now consider the determinant Δ of the matrix (l_{jk})_{1≤j,k≤n} which can be written (non uniquely) as

Δ = ∑_{m} a_{m}(X_{1}, …, X_{n})b_{m}(Y_{1}, …, Y_{n}) ∈ A[X_{1}, …, X_{n}, Y_{1}, …, Y_{n}],

with the a_{m} being elements of A[X_{1}, …, X_{n}] and b_{m} elements of A[Y_{1}, …, Y_{n}] (observe that it will not be necessary to find the polynomials a_{m} and b_{m} algorithmically, we need just their existence for our argumentation). The polynomial Δ is called a pseudo–jacobian determinant of the regular sequence (f_{1}, …, f_{n}), as defined in Subsection 2.4.

Observe that the polynomials a_{m} and b_{m} can (and will) be chosen to have degrees bounded by n(d − 1) in the variables X_{1}, …, X_{n} and Y_{1}, …, Y_{n} respectively. Let c_{m} ∈ A[X_{1}, …, X_{n}] be the polynomial we obtain from b_{m} by substituting the variables Y_{1}, …, Y_{n} by X_{1}, …, X_{n}. Denoting by J̄ the class of the Jacobian determinant J(f_{1}, …, f_{n}) in B, we have the identity

J̄ = ∑_{m} ā_{m} · c̄_{m}.

Moreover the image of the polynomial Δ in the residue class ring

A[X_{1}, …, X_{n}, Y_{1}, …, Y_{n}]/(f_{1}, …, f_{n}, f_{1}^{Y} , …, f_{n}^{Y})

is independent of the particular choice of the matrix (l_{kj})_{1≤k,j≤n}. This justifies the name pseudo–jacobian determinant for the polynomial Δ.

With these notations there exists a unique canonical trace σ ∈ B^{∗} such that the following identity holds in B :

¯1 = ∑_{m} σ(ā_{m}) · c̄_{m}.

This canonical trace σ is called the canonical trace associated to the pseudo– jacobian determinant. The main property of the canonical trace σ, known as “trace formula” (“Tate’s trace formula”, see [Kunz, 1986, Appendix F] or [Iversen, 1973], as a particular case) is the following statement : for any g ∈ A[X_{1}, …, X_{n}] the identity

ḡ = ∑_{m} σ(ḡ · ā_{m}) · c̄_{m}  (5.1)

holds true in B. Let us observe that the polynomial ∑_{m} σ(ḡ · ā_{m}) · c_{m} ∈ A[X_{1}, …, X_{n}] underlying Identity (5.1) is of degree at most n(d − 1) in the variables X_{1}, …, X_{n}. The next Proposition shows how to relate the standard trace Tr and a canonical trace σ ∈ B^{∗} (see also [Giusti et al., 1997a]) :

Proposition 63 ([Sabia & Solernó, 1996])

σ(ḡ) = Tr(ḡ · J̄^{−1})

Tate’s trace formula (5.1) solves the Interpolation Problem 4 in the following terms :

Given g ∈ B, let us consider the polynomial g_{1} ∈ A[X_{1}, …, X_{n}] of degree at most n(d − 1) given by

g_{1} := ∑_{m} σ(ḡ · ā_{m}) · c_{m}.  (5.2)

Then, ḡ_{1} = g in B.

The trace formula can also be applied to compute systems of generators of B as A–module with low degree : obviously, the set of monomials in the variables X_{1}, …, X_{n} (of degree at most n(d−1)) {b_{m}}_{1≤m≤N} include a system of generators for B as A–module.

However, there is no known rule which would help us to find any suitable A–linear independent subset of {b_{m}}_{1≤m≤N} with a reasonable effort. Let us remark however, that recently, there has been some progress in this direction, see [Sabia & Solernó, 1996] and [Almeida et al., 1998].

This inhibits us from taking advantage of any special “semantical” features of the A–algebra B : one “a priori” needs all monomials of degree at most n(d − 1) for the description of the polynomials c_{m} (and a_{m}). Therefore, we replace the trace formula (5.1) by the following alternative one, which solves the problem in a suitable linear vector space :

First, recall that in our case A is a ring of polynomials over a number field, f_{1}, …, f_{n} are polynomials in the ring A[X_{1}, …, X_{n}] of degree at most d in the variables X_{1}, …, X_{n}, generating a radical ideal. The extension A ↪ B := A[X_{1}, …, X_{n}]/(f_{1}, …, f_{n}) is an an integral ring extension. Thus, we are given an ideal-theoretic complete intersection variety, where the A–algebra B is reduced and Gorenstein (see Chapter 3).

Proposition 64 (Trace Formula, [Giusti et al., 1997a ]) With the same notations as before, let us consider the free A[X_{1}, …, X_{n}]– module B[X_{1}, …, X_{n}] given by extending scalars to B (this means we consider the tensor product B[X_{1}, …, X_{n}] := B ⊗_{A} A[X_{1}, …, X_{n}]) and let us also consider the polynomial Δ_{1} ∈ A[X_{1}, …, X_{n}] given by :

Δ_{1} := ∑_{m} ā_{m} · c_{m} ∈ B[X_{1}, …, X_{n}].

Then for any g ∈ A[X_{1}, …, X_{n}] the following identity holds in A[X_{1}, …, X_{n}] :

ḡ = ∑_{m} σ(ḡ · ā_{m}) · c_{m} = T̃r(J̄^{−1} · ḡ · Δ_{1})

(where T̃r := Tr ⊗ Id_{A[X_{1},...,X_{n}]} : B[X_{1}, …, X_{n}] ⟶ A[X_{1}, …, X_{n}] is the trace obtained from the standard trace Tr : B ⟶ A by extending scalars).

5.2 Division modulo complete intersection ideals

One of the main applications of these interpolation techniques will be the division modulo complete intersection ideals. This problem can be stated in the following terms :

Given a sequence of polynomials f_{1}, …, f_{t} ∈ R[X_{1}, …, X_{n}] of degree at most d defining a radical ideal (f_{1}, …, f_{t}) of codimension t. Let V be the complete intersection variety given by V = (f_{1}, …, f_{t}). Let us assume that the variables are in Noether position with respect to the variety V, i.e. the following is an integral ring extension :

A = K[X_{1}, …, X_{n−t}] ↪ B = K[V] = K[X_{1}, …, X_{n}]/(f_{1}, …, f_{t}).

We have thus the same conditions as in the previous Subsection. Then, there exists a pseudo–jacobian determinant defined by f_{1}, …, f_{t} with respect to the variables X_{n−t+1}, …, X_{n}. There exist a_{m}, c_{m} ∈ A[X_{n−t+1}, …, X_{n}] such that

Δ = ∑_{1≤m≤N} a_{m} ⊗ c_{m} ∈ B ⊗ B,

where the polynomials c_{m} can be chosen as polynomials in the variables Y_{n−t+1}, …, Y_{n} of degree at most t(d − 1). Let b_{m} be the monomial given as c_{m}(X_{n−t+1}, …, X_{n}). Moreover, the polynomials a_{m} ∈ K[X_{1}, …, X_{n}] have total degree at most t(d−1). The problem we want to solve is the following :

Problem 5 (Division Problem) With the previous notations, given two polynomials f, g ∈ R[X_{1}, …, X_{n}] such that

i) f̄ is not a zero divisor in B, and

ii) f̄ divides ḡ in B, this means there exists some q ∈ B such that

qf − g ∈ (f_{1}, …, f_{t}).

Then, compute some polynomial q_{1} ∈ K[X_{1}, …, X_{n}] such that q_{1}f − g ∈ (f_{1}, …, f_{t}) holds.

First, we give a formal statement showing how the trace formulae of the previous Section 5.1 interferes in the solution of Problem (5). Then we show how to use this statement in a computational solution for the Division Problem.

Let σ ∈ B^{∗} be the trace associated to the pseudo–jacobian determinant Δ. Let q ∈ K[X_{1}, …, X_{n}] be any polynomial such that q̄· f̄ = ḡ holds in B. Let F be the quotient field of A, B′ := F ⊗_{A} B the zero–dimensional F –algebra and σ′ : B′ → F the canonical trace on B′ obtained by extending scalars on σ (i.e. σ′ = σ on B). Then, since f̄ is not a zero divisor in B, f̄ is a unit in B′. Hence, q̄ = (f̄)^{−1} · ḡ holds in B′. We then conclude that for every h ∈ K[X_{1}, …, X_{n}] the following holds :

σ′((f̄)^{−1} · ḡ · h̄) = σ′(q̄ · h̄) = σ(q̄ · h̄) ∈ A.

In particular, we conclude :

Proposition 65 With the previous hypotheses and notations, the polynomial

q_{1} = ∑_{1≤m≤N} σ′((f̄)^{−1} · ḡ · h̄) · b_{m} ∈ K[X_{1}, …, X_{n}]

verifies :

i) the degree of q_{1} with respect to the variables X_{n−t+1}, …, X_{n} is at most t(d − 1), and

ii) q_{1}f − g ∈ (f_{1}, …, f_{t}).

Moreover, let T̃r′ : B′[X_{n−t+1}, …, X_{n}] → F [X_{n−t+1}, …, X_{n}] be the extension of the standard trace

T̃r : B[X_{n−t+1}, …, X_{n}] → A[X_{n−t+1}, …, X_{n}]

by localization at A\{0}. Let Δ_{1} = ∑_{1≤m≤N} ā_{m} ·b_{m} ∈ B[X_{n−t+1}, …, X_{n}] be the pseudo–jacobian determinant seen as an element of B′[X_{n−t+1}, …, X_{n}]. Finally, let J̄ ∈ B be the residual class defined by the jacobian determinant of the polynomials f_{1}, …, f_{t} with respect to the variables X_{n−t+1}, …, X_{n}. Then, the polynomial q_{1} of the previous Proposition 65 can also be obtained as :

q_{1} = T̃r′((J̄)^{−1} · (f̄)^{−1} · ḡ · Δ_{1}).  (5.3)

Now, for the computational solution of the Division Problem 5, we have to represent the entities appearing in Equation (5.3). We can do this by associating to each endomorphism its corresponding matrix of multiplication in a suitable basis, following Chapter 3. We thus obtain the following :

q_{0} = T̃r′(M_{J}^{−1} · M_{f}^{−1} · M_{g} · M_{Δ_{1}}),  (5.4)

We can compute this polynomial using the method described in Lemma 34 in Section 2.4. The idea is resumed in the following Proposition :

Proposition 66 With the previous assumptions and conventions, let D be the rank of B as free A–module (observe that D ≤ deg(V) holds). Let us also assume that there exists a non–scalar straight–line program Γ_{1} of size L_{1}, depth ℓ_{1} and parameters in F_{1} ⊆ R such that Γ_{1} evaluates f, f_{1}, …, f_{t} ∈ R[X_{1}, …, X_{n}]. Let us suppose deg(f_{i}) ≤ d, deg(f) ≤ d with respect to the variables X_{1}, …, X_{n}. Let us also assume that g ∈ R[X_{1}, …, X_{n}] has degree at most d with respect to the variables X_{n−t+1}, …, X_{n}. Let us finally assume that there exists a non–scalar straight–line program Γ_{2} of size L_{2}, non–scalar depth ℓ_{2} and parameters in a finite set F_{2} ⊆ R which evaluates g. Then, there exists a non–scalar straight–line program Γ over A, taking as input a geometric solution of V (f_{1}, …, f_{t}) (see Definition 44 on page (44)) with the following properties :

i) the size of Γ is at most (L_{1} + L_{2})(tdD)^{O(1)},

ii) the non–scalar depth of Γ is at most O(log_{2} t + ℓ_{1} + ℓ_{2} + log_{2} D),

iii) the parameters are in F_{1} ∪ F_{2} ∪ {z ∈ ZZ : | z | ≤ (td)^{O(1)}L_{1}}, and

iv) the straight–line program Γ evaluates two polynomials q_{0} ∈ R[X_{1}, …, X_{n}] and Θ ∈ R[X_{1}, …, X_{n−t}] such that holds :

q_{1} = \frac{q_{0}}{Θ} ∈ K[X_{1}, …, X_{n}] and q_{1}f − g ∈ (f_{1}, …, f_{t}).  (5.5)

The proof of this Proposition illustrates the way the division algorithm works and will facilitate the lecture of the harder-to-follow proof of Theorem 1 in Chapter 7.

The key point can be understood as the following : One wishes to compute the polynomial q_{1} ∈ K[X_{1}, …, X_{n}] verifying the desired properties. Thus, the Trace Formula (5.3) of Proposition 65 in the computational form of Equation (5.4) shows how to compute q_{1} from the geometric solution of the variety V. However, as the geometric solution yields tensor matrices (describing the multiplication by the variables X_{i} in B) whose entries are quotients of polynomials, we will have to find a common denominator polynomial for these. Moreover, inverting the matrices M_{J} and M_{f} will also introduce denominators. By our method, these will be “carried on” by keeping numerators and denominators separate in order to express q_{1} as the quotient

q_{1} = \frac{q_{0}}{Θ}  (5.6)

where q_{0} and Θ are polynomials in R[X_{1}, …, X_{n}] computed from the coefficients of the geometric solution of V (or equivalently, from the coefficients of the elimination polynomial 𝔪_{U} using only addition, subtraction and multiplication).

The polynomials q_{0} and Θ in R[X_{1}, …, X_{n}] are given by straight–line program encoding, which means given as the list of coefficients of the geometric solution and a list of arithmetic operations required to evaluate them. As we know that Θ divides q_{0} in R[X_{1}, …, X_{n}], the computation of q_{1} concludes with the application of Strassen’s Vermeidung von Divisionen as in Lemma 33, yielding a straight–line program for the polynomial q_{1}.

Proof.– Recall that we start with a geometric solution for V, which gives us the entries of the matrices M_{X_{i}} of the tensors of multiplication by the variables X_{i} with respect to the basis given by the primitive element of the geometric solution. We show how to obtain a straight–line program Γ satisfying the claims of Proposition 66 in the following way : Using Γ_{1} and the method described in Lemma 36 (Jacobian) we obtain a non–scalar straight–line program Γ̃_{1} of size bounded by t^{O(1)}L_{1}, non–scalar depth ≤ O(log_{2} t+ℓ_{1}) and parameters in F_{1} which evaluates the jacobian determinant J of f_{1}, …, f_{t}.

Similarly, applying Proposition 38 we obtain from Γ_{1} a non–scalar straight– line program ˜ Γ̃_{1} evaluating the pseudo–jacobian determinant Δ_{1} in the following form :

˜Γ̃_{1} evaluates a polynomial D_{1}(X_{1}, …, X_{t}, Y_{t+1}, …, Y_{n}, X_{t+1}, …, X_{n}) and a non–zero polynomial D_{2} ∈ R[X_{1}, …, X_{t}] such that the following properties hold :

i) MΔ̄_{1} = D_{2}^{−1} · D_{1}(X_{1}, …, X_{t}, M_{X_{t+1}}, …, M_{X_{n}}, X_{t+1}, …, X_{n}),

ii) the size of ˜ Γ̃_{1} is at most (t(d − 1))^{O(1)}L_{1},

iii) the non–scalar depth of ˜ Γ̃_{1} is at most O(log_{2}(n − t) + ℓ_{1}), and

iv) taking as inputs the coefficients of a geometric solution of V, the

straight–line program ˜ Γ̃_{1} uses parameters in

F̃_{1} = F_{1} ∪ {z ∈ ZZ : | z | ≤ ((n − t)d)^{O(1)}L_{1}}.

Next, we apply Lemma 34 to compute the matrices M_{J}, M_{f}, M_{g}, M_{Δ_{1}} (with respect to the basis given by the primitive element of the geometric solution) for Equation (5.5) in the following way :

Let us consider a geometric solution of the variety V given by polynomials u, 𝔪_{u} ∈ R[X_{1}, …, X_{n−t}][T], polynomials ρ_{n−t+1}, …, ρ_{n} ∈ R[X_{1}, …, X_{n−t}] and v_{n−t+1}, …, v_{n} ∈ R[X_{1}, …, X_{n−t}][T] as described in Section 3.4. Let M_{u} be the companion matrix of C_{u}^{−1} · 𝔪_{u}, where C_{u} ∈ R \ {0} is the leading coefficient of 𝔪_{u}.

We then apply Lemma 34 to obtain for t + 1 ≤ i ≤ n constants α_{i} ∈ R and matrices M_{i} ∈ M^{D×D}(R[X_{1}, …, X_{t}]) such that the tensor matrices of the dependent variables in the basis {1, u, …, u^{D−1}} have the form : (ρ_{i}α_{i})^{−1}·M_{i}. Let us define

ρ := ∏_{i=t+1}^{n}(ρ_{i}α_{i}) and M̃_{i} := ∏_{{j=t+1 \atop j≠i}}^{n}(ρ_{j}α_{j})M_{i}.

The tensor matrices are now given by the identity :

ρ^{−1}M_{i} = M_{X_{i}} for t + 1 ≤ i ≤ n.

These matrices can be easily obtained from the coefficients in T of the geometric solution of V in size D^{O(1)}, non–scalar depth O(log_{2} D) and parameters in {−1, 0, 1}.

Finally, we apply Lemma 34 (Evaluation of a polynomial given by straight– line program over a matrix ring) to obtain the matrices

M_{J} := J(X_{1}, …, X_{t}, ρ^{−1}M_{t+1}, …, ρ^{−1}M_{n}),
M_{f} := f(X_{1}, …, X_{t}, ρ^{−1}M_{t+1}, …, ρ^{−1}M_{n}),
M_{g} := g(X_{1}, …, X_{t}, ρ^{−1}M_{t+1}, …, ρ^{−1}M_{n}),
M_{Δ_{1}} := Δ_{1}(X_{1}, …, X_{t}, ρ^{−1}M_{t+1}, …, ρ^{−1}M_{n}, X_{t+1}, …, X_{n}).

Since Lemma 34 yields these matrices with entries containing polynomial quotients, we will have to find suitable denominators for them, yielding thus a collection of matrices M_{J}, M_{f}, M_{g}, M_{Δ_{1}} whose entries are respectively in R[X_{1}, …, X_{n−t}] (the first three) and R[X_{1}, …, X_{n}] (the last one) as well as denominator polynomials ρ_{J}, ρ_{f}, ρ_{g}, ρ_{Δ_{1}} ∈ R[X_{1}, …, X_{n−t}] such that :

M_{J} = ρ_{J}^{−1}M_{J},  M_{f} = ρ_{f}^{−1}M_{f},  M_{g} = ρ_{g}^{−1}M_{g},  M_{Δ_{1}} = ρ_{Δ_{1}}^{−1}M_{Δ_{1}}.

Finally, to compute the inverse matrices appearing in Equation (5.5), we can add the following information : Let det_{J}, det_{f} be the determinants (in R[X_{1}, …, X_{t}]) of the matrices M_{J} and M_{f}. Let Adj_{J}, Adj_{f} be the adjoint matrices of M_{J} and M_{f}. We then obtain the inverse matrices as :

M_{J}^{−1} = (det_{J})^{−1} · ρ_{J} · Adj_{J}, M_{f}^{−1} = (det_{f})^{−1} · ρ_{f} · Adj_{f}.

Thus, following Equation (5.6), to compute q_{1} we can compute the numerator q_{0} as the trace of a matrix

q_{0} = Tr(ρ_{J} · ρ_{f} · Adj_{J} · Adj_{f} · M_{g} · M_{Δ_{1}})

and the denominator as the non–zero polynomial Θ ∈ R[X_{1}, …, X_{n−t}] \ {0} given by

Θ := (det_{J}) · (det_{f}) · ρ_{g} · ρ_{Δ_{1}}

to obtain the polynomial q_{1} as the quotient :

q_{1} := \frac{q_{0}}{Θ} .

We have thus described a procedure evaluating q_{1} from the coefficients of the geometric solution of V with a single division. The bounds on size, depth and parameters follow by combining the estimates given before.

The proof of Proposition 66 shows how to perform a single division to obtain a polynomial quotient. However, in Theorem 1 and Theorem 2 of the introduction more than one division is necessary. We have to iterate divisions of precomputed polynomials which involve precomputed quotients. The naïve approach, simply iterating the above procedure, would yield an excessive growth of the complexity of the method. Therefore, we combine in the proofs of Theorem 1 and Theorem 2 the strategy of Proposition 66 with two methods, namely Pasodoble effect and iterated matrix product, which improve the complexity and height estimates (depending mainly on the non–scalar depth of the straight–line programs describing our algorithm).

92 Chapter 5. Interpolation modulo complete intersection varieties

Equations in general position : Geometric degree and height

This Chapter is dedicated to the proof of Corollary 5 given in Chapter 1. We introduce the notion of polynomials in general position as the central property of our inductive algorithm, and show how to maintain this condition while controlling the height of the appearing coefficients in terms of the geometric degree of the system.

Let us begin by recalling the statement of the Corollary :

Corollary 5 (Arithmetic Nullstellensatz) Let R be the ring of algebraic integers of a number field K. Let f_{1}, …, f_{s} be polynomials in R[X_{1}, …, X_{n}] verifying the following conditions :

i) the ideal (f_{1}, …, f_{s}) in K[X_{1}, …, X_{n}] is trivial,

ii) there exists a non–scalar straight–line program Γ of size L, non–scalar depth ℓ = O(log_{2} L) and parameters in a finite set F ⊂ R, and

iii) deg(f_{i}) ≤ d for 1 ≤ i ≤ s.

Then, there exist a non–zero constant a ∈ R \ {0} and polynomials g_{1}, …, g_{s} ∈ R[X_{1}, …, X_{n}] such that the following properties hold :

i) a = g_{1}f_{1} + ⋯ + g_{s}f_{s}

ii) max{deg(g_{i}) : 1 ≤ i ≤ s} ≤ 3n^{2}dδ_{S}, where δ_{S} is the degree of the system f_{1}, …, f_{s}.

94 Chapter 6. Equations in general position : Geometric degree and height

iii) The polynomials a^{−1}g_{1}, …, a^{−1}g_{s} can be evaluated (without essential divisions) by a straight–line program over K of size (nd(L + s)δ_{S})^{O(1)}, non–scalar depth O(n(log_{2} δ_{S} + log_{2} L)) and parameters in F ∪ {x ∈ ZZ : | x | ≤ (nd(L + s)δ_{S})^{O(1)}}, iv) the logarithmic height of a, g_{1}, …, g_{s} verify the following bounds :

ht(a) ≤ (ndLδ_{S})^{O(1)}(ht(F) + η_{S} + log_{2} s),
ht(g_{i}) ≤ (ndLδ_{S})^{O(1)}(ht(F) + η_{S} + log_{2} s)

where η_{S} is the (logarithmic) height of the system f_{1}, …, f_{s}, as defined in Chapter 3.

v) The invariant (logarithmic) height of a, g_{1}, …, g_{t} verifies the following upper bound :

h̃t(a^{−1}g_{i}) = h̃t(g_{i}) ≤ (ndLδ_{S})^{O(1)}(ht(F) + η̃_{S} + log_{2} s).

vi) Finally, for the case of R = ZZ, the straight–line program evaluating the polynomials a^{−1}g_{1}, …, a^{−1}g_{s} ∈ Q [X_{1}, …, X_{n}] can be computed by a bounded error probability Turing machine running in time

(nd(L + s)δ_{S})^{O(1)}

In this Chapter we show how to obtain this statement can be deduced from Theorems 1 and 2.

6.1 Geometric degree and height of a system

Here we introduce the notions of geometric degree and height of a system of polynomials. Observe that this can be done in both cases in a very similar way.

Definition 67 (General position) A sequence of polynomials h_{1}, …, h_{t} ∈ R[X_{1}, …, X_{n}] is said to be in general position if the following holds :

• h_{1}, …, h_{t−1} is a regular sequence in K[X_{1}, …, X_{n}],

• the ideals (h_{1}, …, h_{i}) are radical in K[X_{1}, …, X_{n}] for 1 ≤ i ≤ t − 1 , and

• h_{t} is not a zero divisor in K[X_{1}, …, X_{n}]/(h_{1}, …, h_{t−1}).

Definition 68 (Geometric degree of a sequence) Given a sequence of polynomials h_{1}, …, h_{t} ∈ R[X_{1}, …, X_{n}] in general position, we denote by δ the geometric degree of the sequence h_{1}, …, h_{t} :

δ(h_{1}, …, h_{t}) := max{deg V (h_{1}, …, h_{i}) : 1 ≤ i ≤ t − 1}.

Let us notice that δ(h_{1}, …, h_{t}) ≤ ∏_{i=1}^{t−1} deg(h_{i}) holds. Observe, that the δ thus defined does not just depend on the variety V but also on the polynomials h_{1}, …, h_{t} and their order.

Similarly, we define the logarithmic height and invariant logarithmic height of a sequence in general position.

Definition 69 (Height of a sequence) Given a sequence of polynomials h_{1}, …, h_{t} ∈ R[X_{1}, …, X_{n}] in general position, we define :

i) the logarithmic height of the sequence

η(h_{1}, …, h_{t}) := max{htV (h_{1}, …, h_{i}) : 1 ≤ i ≤ t − 1},

ii) the invariant logarithmic height of the sequence

η̃(h_{1}, …, h_{t}) := max{h̃tV (h_{1}, …, h_{i}) : 1 ≤ i ≤ t − 1}.

Definition 70 (Geometric degree of a system) Let S = {f_{1}, …, f_{s}} be a system of polynomials of degree at most d in R[X_{1}, …, X_{n}]. We consider the set S̃ of all families {h_{1}, …, h_{t} : 1 ≤ t ≤ n + 1} of polynomials such that the following holds : There exist integer numbers λ_{ij} ∈ ZZ, 1 ≤ i ≤ t, 1 ≤ j ≤ s such that :

• h_{i} := ∑_{j=1}^{s} λ_{ij}f_{j},

• (h_{1}, …, h_{t}) = (f_{1}, …, f_{s}) = (1),

• h_{1}, …, h_{t} are in general position and

• | λ_{ij} | ≤ (ndδ(h_{1}, …, h_{t}))^{c} ≤ (nd^{t})^{c}.

We define

i) the geometric degree δ_{S} of the system S as

δ_{S} := max{δ(h_{1}, …, h_{t}) : {h_{1}, …, h_{t}} ∈ S̃}.

ii) the logarithmic height η_{S} of the system S as

η_{S} := max{η(h_{1}, …, h_{t}) : {h_{1}, …, h_{t}} ∈ S̃}.

iii) and the invariant logarithmic height η̃_{S} of the system S as

η̃_{S} := max{η̃(h_{1}, …, h_{t}) : {h_{1}, …, h_{t}} ∈ S̃}.

Observe that initially, we are given polynomials f_{1}, …, f_{s} ∈ R[X_{1}, …, X_{n}]. Passing from these polynomials to a sequence h_{1}, …, h_{t} in general position as described in Section 6.2 is a constructive, algorithmic process. Therefore, in our estimates, we are forced to assume worst-case estimates, which means taking maximums in our definitions of geometric degree and height.

Nevertheless, our Theorems are of a double nature : existential statement and at the same time algorithmic solution. The existential statements made in Corollary 5 and Corollary 6 also hold for any particular sequence h_{1}, …, h_{t} in general position which minimizes the products δ_{S}η_{S} or δ_{S}η̃_{S} respectively.

6.2 Computing equations in general position

The proof of Corollary 5 requires some additional effort for the preparation of the input polynomials f_{1}, …, f_{s} ∈ R[X_{1}, …, X_{n}] verifying the hypotheses of Corollary 5. In the following we exhibit an efficient procedure that, taking as inputs the polynomials f_{1}, …, f_{s}, outputs a sequence of polynomials h_{1}, …, h_{t} ∈ R[X_{1}, …, X_{n}] with t ≤ n + 1 such that (h_{1}, …, h_{t}) = (f_{1}, …, f_{s}) = (1). For this sequence of polynomials h_{1}, …, h_{t} holds :

i) h_{i} is a linear combination of f_{1}, …, f_{s} for 1 ≤ i ≤ t,

ii) (h_{1}, …, h_{t}) defines the trivial ideal in K[X_{1}, …, X_{n}] and

iii) (h_{1}, …, h_{t}) verifies the following conditions :

• the ideals (h_{1}, …, h_{i}) are radical ideals in K[X_{1}, …, X_{n}] of codimension i, for 1 ≤ i ≤ t − 1,

• the polynomial h_{t} is not a zero divisor in the residue ring

K[X_{1}, …, X_{n}]/(h_{1}, …, h_{t−1}).

Let us observe that this effectively shows that the set S̃ appearing in Definition 70 is non–empty. Since {h_{1}, …, h_{t}} ∈ S̃ are linear combinations of f_{1}, …, f_{s}, they can be evaluated by a non–scalar straight–line program of size L + ts, non–scalar depth ℓ + 1 = O(log_{2} L) and parameters in F ∪ P, where P ⊆ ZZ is a finite set whose height we are going to bound.

Lemma 71 (Zero divisor) Let g_{1}, …, g_{t} be a regular sequence generating a radical ideal and assume that the variables X_{1}, …, X_{n} are in Noether position with respect to the ideal I = (g_{1}, …, g_{t}). Let g ∈ K[X_{1}, …, X_{n}] be a new polynomial, η_{g} the endomorphism defined by multiplication by g and M_{g} the matrix of η_{g} in some fixed basis. Then we have : i) g is not a zero divisor in B if and only if det(M_{g}) ∈ K[X_{1}, …, X_{r}]\{0}.

ii) If g is not a zero divisor in B, the ideal (g_{1}, …, g_{t}) is the trivial ideal in K[X_{1}, …, X_{n}] if and only if det(M_{g}) ∈ K \ {0}.

Proof.– Claim i) : Since the variables X_{1}, …, X_{n} are in Noether position with respect to the ideal I = (g_{1}, …, g_{t}), for r = n − t the following A = K[X_{1}, …, X_{r}] ↪ K[X_{1}, …, X_{n}]/I = B is an integral ring extension, B being a free A–module of rank bounded by deg V (g_{1}, …, g_{t}). Now, as before, let F = K(X_{1}, …, X_{r}) denote the quotient field of A and IK the algebraic closure of F. Let A′ := IK[X_{1}, …, X_{r}] and B′ := A′ ⊗_{A} B. Then, g is a zero divisor in B if and only if it is a zero divisor in F [X_{r+1}, …, X_{n}]/I^{e} = F ⊗_{A} B = B′, which is equivalent to det(M_{g}) = 0.

Claim ii) : Suppose g is not a zero divisor in B. The ideal (g, g_{1}, …, g_{t}) ⊆ K[X_{1}, …, X_{n}] is trivial if and only if for all points \underline{a} := (a_{1}, …, a_{r}) ∈ IK^{r} the variety \{\underline{x} ∈ IK^{n} : g = 0, g_{1} = 0, …, g_{t} = 0, X_{1} − a_{1} = 0, …, X_{r} − a_{r} = 0\} is empty.

For every point \underline{a} := (a_{1}, …, a_{r}) ∈ IK^{r} we denote by 𝔪_{a} the maximal ideal associated to the point \underline{a} in A′ : 𝔪_{a} = (X_{1} − a_{1} = 0, …, X_{r} − a_{r} = 0). We observe that for every point \underline{a} ∈ IK^{r} the following IK = A′/𝔪_{a} ↪ B′/𝔪_{a}B′ is an integral ring extension and the dimension of B′/𝔪_{a}B′ as a IK–vector space is exactly the rank of B as an A–module.

In particular, for every polynomial g ∈ K[X_{1}, …, X_{n}] the matrix of the endomorphism of multiplication by g

η′_{g} : B′/𝔪_{a}B′ → B′/𝔪_{a}B′

can be obtained as the specialization of the matrix M_{g} in the point \underline{a}.

Therefore, the ideal (g, g_{1}, …, g_{t}) is trivial if and only if for all points \underline{a} ∈ IK^{r} the polynomial g is not a zero divisor in B′/𝔪_{a}B′. This is equivalent to det(M_{g})(\underline{a}) ≠ 0 for all \underline{a} ∈ IK^{r}. Now, since det(M_{g}) is a non–zero polynomial, it must be in K \ {0}.

Proposition 72 Let h_{1}, …, h_{t} be a regular sequence in K[X_{1}, …, X_{n}] such that the ideal I = (h_{1}, …, h_{t}) is a radical ideal in K[X_{1}, …, X_{n}]. Let f_{1}, …, f_{s} be polynomials in K[X_{1}, …, X_{n}] such that they generate the trivial ideal. Let T_{1}, …, T_{s} some new variables and let h be the polynomial

h = T_{1}f_{1} + ⋯ + T_{s}f_{s}.

Let F be the field K(T_{1}, …, T_{s}). Then, i) h is not a zero divisor in F [X_{1}, …, X_{n}]/(h_{1}, …, h_{t}), and

ii) either (h_{1}, …, h_{t}, h) is the trivial ideal in F [X_{1}, …, X_{n}] or (h_{1}, …, h_{t}, h) is a radical ideal in F [X_{1}, …, X_{n}]/(h_{1}, …, h_{t}).

Proof.– This statement follows from the classical Theorem of Bertini (as stated in [Jouanolou, 1983, Theorem 6.3]). Let V ⊆ IK^{n} be the non–empty algebraic variety given by V = V (h_{1}, …, h_{r}). For every i, 1 ≤ i ≤ s, let us define the Zariski open subsets of V given by U_{i} := \{\underline{x} ∈ V : f_{i}(\underline{x}) ≠ 0\}. Finally, let us define the morphism

Φ_{i} : U_{i} ⟶ IK^{s−1} : \underline{x} ↦ (\frac{f_{1}(\underline{x})}{f_{i}(\underline{x})}, …, \frac{f_{i−1}(\underline{x})}{f_{i}(\underline{x})}, \frac{f_{i+1}(\underline{x})}{f_{i}(\underline{x})}, …, \frac{f_{s}(\underline{x})}{f_{i}(\underline{x})}) .

From Bertini’s Theorem we conclude that

• if dim \overline{Φ_{i}(U_{i})} = 0, for almost all (t_{1}, …, t_{s}) ∈ K^{s} the ideal (t_{1}f_{1} + ⋯ + t_{s}f_{s}, h_{1}, …, h_{t}) is the trivial ideal in K[U_{i}],

• if dim \overline{Φ_{i}(U_{i})} ≥ 1, for almost all (t_{1}, …, t_{s}) ∈ K^{s} the polynomial t_{1}f_{1} + ⋯ + t_{s}f_{s} is not a zero divisor in K[U_{i}].

Let us recall that “for almost all” means up to a Zariski closed proper subset and that

K[U_{i}] = K[X_{1}, …, X_{n}]_{f_{i}}/I for 1 ≤ i ≤ s.

In any case, for almost all (t_{1}, …, t_{s}) ∈ K^{s} the polynomial t_{1}f_{1} + ⋯ + t_{s}f_{s} is not a zero divisor in K[U_{i}] for any i, 1 ≤ i ≤ s.

Since f_{1}, …, f_{s} generate the trivial ideal in K[X_{1}, …, X_{n}] we conclude that for every minimal prime ideal 𝔭 over I, there exists some f_{k} such that f_{k} ∉ 𝔭 and hence

(t_{1}f_{1} + ⋯ + t_{s}f_{s}) ∉ 𝔭 · K[X_{1}, …, X_{n}]_{f_{k}}.

Thus, for almost all (t_{1}, …, t_{s}) ∈ K^{s}, t_{1}f_{1} + ⋯ + t_{s}f_{s} is not a zero divisor in K[X_{1}, …, X_{n}]/I. This is simply statement i) of Proposition 72.

As for statement ii) of Proposition 72 we have :

• either dim \overline{Φ_{i}(U_{i})} = 0 for all i, 1 ≤ i ≤ s,

• or there is some l < s such that dim \overline{Φ_{i}(U_{i})} ≥ 1 if and only if 1 ≤ i ≤ l.

In the first case, we conclude that for almost all (t_{1}, …, t_{s}) ∈ K^{s}, the ideal (t_{1}f_{1} + ⋯ + t_{s}f_{s}, h_{1}, …, h_{t}) is the trivial ideal in K[U_{i}]. Thus t_{1}f_{1} + ⋯ + t_{s}f_{s} does not vanish at any point of U_{i}. Since V = ∪_{i=1}^{s}U_{i}, the polynomial t_{1}f_{1} + ⋯ + t_{s}f_{s} does not vanish at any point of V. Finally, for almost all (t_{1}, …, t_{s}) ∈ K^{s} the ideal (t_{1}f_{1} + ⋯ + t_{s}f_{s}, h_{1}, …, h_{t}) is the trivial ideal in K[X_{1}, …, X_{n}].

As for the second case, let us assume that for almost all (t_{1}, …, t_{s}) ∈ K^{s} the ideal (t_{1}f_{1} + ⋯ + t_{s}f_{s}, h_{1}, …, h_{t}) is not the trivial ideal in K[X_{1}, …, X_{n}]. Let l, l < s be such that dim \overline{Φ_{i}(U_{i})} = 0 if and only if 1 ≤ i ≤ l.

Thus, we have : there exists a non–zero polynomial G ∈ K[T_{1}, …, T_{s}] such that for all points (t_{1}, …, t_{s}) ∈ IK^{s} with G(t_{1}, …, t_{s}) ≠ 0, the following holds :

• for 1 ≤ i ≤ l, (h_{1}, …, h_{t}, t_{1}f_{1} + ⋯ + t_{s}f_{s}) is the trivial ideal in K[U_{i}],

• for l +1 ≤ i < s, (h_{1}, …, h_{t}, t_{1}f_{1} +⋯+t_{s}f_{s}) is a radical ideal in K[U_{i}],

• (h_{1}, …, h_{t}, t_{1}f_{1} + ⋯ + t_{s}f_{s}) is not the trivial ideal in K[X_{1}, …, X_{n}], and

• t_{1}f_{1} + ⋯ + t_{s}f_{s} is not a zero divisor in K[X_{1}, …, X_{n}]/(h_{1}, …, h_{t}).

We conclude that if G(t_{1}, …, t_{s}) ≠ 0 for all (t_{1}, …, t_{s}) ∈ K^{s}, then the ideal (h_{1}, …, h_{t}, t_{1}f_{1} + ⋯ + t_{s}f_{s}) is a radical ideal of codimension t + 1 in K[X_{1}, …, X_{n}].

To prove this, let us assume that the variables X_{1}, …, X_{n} are in Noether position with respect to the ideal (h_{1}, …, h_{t}, t_{1}f_{1} + ⋯ + t_{s}f_{s}), i.e.

K[X_{1}, …, X_{n}] ⟶ K[X_{1}, …, X_{n}]/(h_{1}, …, h_{t}, t_{1}f_{1} + ⋯ + t_{s}f_{s})

is an integral ring extension and r + t + 1 = n. Let 𝔮 be a minimal prime ideal over (h_{1}, …, h_{t}, t_{1}f_{1} + ⋯ + t_{s}f_{s}).

Since f_{1}, …, f_{s} generate the trivial ideal in K[X_{1}, …, X_{n}], there exists a k with 1 ≤ k ≤ s such that f_{k} ∉ 𝔮. We observe that k ≥ l + 1, because otherwise, if 1 ≤ k ≤ l we would have that (h_{1}, …, h_{t}, t_{1}f_{1} + ⋯ + t_{s}f_{s}) is the trivial ideal in K[U_{i}]_{f_{k}}. Then, f_{k}^{N} ∈ (h_{1}, …, h_{t}, t_{1}f_{1} + ⋯ + t_{s}f_{s}) for some N ≥ 1. This would imply f_{k} ∈ 𝔮, which is in contradiction with the hypothesis f_{k} ≠ 𝔮. Thus, k ≥ l+1 and (h_{1}, …, h_{t}, t_{1}f_{1}+⋯+t_{s}f_{s}) is a radical ideal in K[X_{1}, …, X_{n}]_{f_{k}}. Therefore it is also radical in (K[X_{1}, …, X_{n}]_{f_{k}})_{𝔮} =

K[X_{1}, …, X_{n}]_{𝔮}.

We conclude : for all minimal prime ideals 𝔮 over (h_{1}, …, h_{t}, t_{1}f_{1} +⋯+t_{s}f_{s}) we have

(h_{1}, …, h_{t}, t_{1}f_{1} + ⋯ + t_{s}f_{s}) · K[X_{1}, …, X_{n}]_{𝔮} = 𝔮 · K[X_{1}, …, X_{n}]_{𝔮}

and this implies the radicality of the ideal (h_{1}, …, h_{t}, t_{1}f_{1} + ⋯ + t_{s}f_{s}).

Proposition 73 There exists a universal constant c > 0 such that the following holds : Given f_{1}, …, f_{s} ∈ R[X_{1}, …, X_{n}] polynomials of degree at most d such that (f_{1}, …, f_{s}) is the trivial ideal in K[X_{1}, …, X_{n}], there exists t ∈ IN, 1 ≤ t ≤ n + 1 and integer numbers λ_{ij} ∈ ZZ, 1 ≤ i ≤ t, 1 ≤ j ≤ s, such that the following holds :

• the polynomials h_{1}, …, h_{t} given by h_{i} = ∑_{j=1}^{s} λ_{ij}f_{j}, 1 ≤ i ≤ t are in general position,

• (h_{1}, …, h_{t}) = (f_{1}, …, f_{s}) = (1) in K[X_{1}, …, X_{n}], and

• | λ_{ij} | ≤ (ndδ(h_{1}, …, h_{i}))^{c} for 1 ≤ i ≤ t (where δ(∅) := 1).

Proof.– The proof follows follows by means of an inductive argument. Thus, let us assume that there exist h_{1}, …, h_{i} ∈ R[X_{1}, …, X_{n}] ZZ–linear combinations of f_{1}, …, f_{s} such that the ideal (h_{1}, …, h_{i}) is a proper ideal of codimension i. Let us also assume that the variables X_{1}, …, X_{n} are in Noether position with respect to the ideal (h_{1}, …, h_{i}), i.e. the following is an integral ring extension

A = K[X_{1}, …, X_{n−i}] ↪ K[X_{1}, …, X_{n}]/(h_{1}, …, h_{i}) = B.

Let us now introduce some new variables T_{1}, …, T_{s} and the polynomial

h = T_{1}f_{1} + ⋯ + T_{s}f_{s} ∈ K(T_{1}, …, T_{s})[X_{1}, …, X_{n}].

Let A′ and B′ be the algebras obtained from A and B by extending scalars, i.e.

A′ = K(T_{1}, …, T_{s}) ⊗_{K} A = K(T_{1}, …, T_{s})[X_{1}, …, X_{n−i}],
B′ = K(T_{1}, …, T_{s}) ⊗_{K} B.

Again, we have an integral ring extension A′ ↪ B′ and B′ is a free A′– module. We observe that the basis of B as A–module is also a basis of B′ as A′–module and that for every polynomial f ∈ K[X_{1}, …, X_{n}] the matrix of the endomorphism η_{f} : B ⟶ B is also the matrix of the endomorphism η′_{f} : B′ ⟶ B′. In other words, M′_{f} = M_{f} for all polynomials f in K[X_{1}, …, X_{n}]. In particular, let η′_{h} be the endomorphism η′_{h} : B′ ⟶ B′ defined by multiplying by h. We have

M′_{h} = T_{1}M_{f_{1}} + ⋯ + T_{s}M_{f_{s}}.

The entries of M′_{h} are polynomials in K[T_{1}, …, T_{s}, X_{1}, …, X_{n−i}] of degree at most 1 in the variables T_{1}, …, T_{s}. Now, let χ_{h} be the characteristic polynomial of M′_{h}, which can be written in the following way :

χ_{h} = Z^{δ} + a_{δ−1}Z^{δ−1} + ⋯ + a_{0},

with δ = rk_{A}B = rk_{A′}B′, coefficients a_{i} ∈ K[T_{1}, …, T_{s}, X_{1}, …, X_{n−i}] and a_{0} = det(M′_{h}). The coefficients a_{i} are polynomials of degree at most δ in the variables T_{1}, …, T_{s}. Now, we have two possibilities : either A) a_{0} ∈ K[T_{1}, …, T_{s}] or B) a_{0} ∈ K[T_{1}, …, T_{s}, X_{1}, …, X_{n−i}] \ K[T_{1}, …, T_{s}].

A) In the first case, let us choose a point \underline{t} := (t_{1}, …, t_{s}) ∈ ZZ^{s} such that a_{0}(t_{1}, …, t_{s}) ≠ 0. The polynomial

h_{i+1} = t_{1}h_{1} + ⋯ + t_{s}h_{s}

verifies that h_{i+1} is not a zero divisor modulo (h_{1}, …, h_{i}) and (h_{1}, …, h_{i+1}) is the trivial ideal in K[X_{1}, …, X_{n}]. As the degree of a_{0} is bounded by δ, the point \underline{t} = (t_{1}, …, t_{s}) ∈ ZZ^{s} may be chosen such that | t_{i} | ≤ δ, for 1 ≤ i ≤ s. In this case we have finished since h_{1}, …, h_{i+1} are in general position and (h_{1}, …, h_{i+1}) = (f_{1}, …, f_{s}).

B) As for the second case, we have to make an additional effort. First we perform a linear change of coordinates (X_{1}, …, X_{n}) → (Y_{1}, …, Y_{n}) such that for A′_{1} := K(T_{1}, …, T_{s})[Y_{1}, …, Y_{n−i−1}] and the A′_{1}–algebra

B′_{1} := K(T_{1}, …, T_{s})[Y_{1}, …, Y_{n}]/(h_{1}, …, h_{i}, h)

the new variables Y_{1}, …, Y_{n} verify that A′_{1} ↪ B′_{1} is an integral ring extension. In fact, this can be done simply by transforming the polynomial a_{0} in such a way that

a_{0}(T_{1}, …, T_{s}, Y_{1}, …, Y_{n−i}) = b_{D}Y_{n−i}^{D} + ⋯ + b_{0}  (6.1)

where b_{i} ∈ K[T_{1}, …, T_{s}, Y_{1}, …, Y_{n−i−1}]. The degree D is at most δ · d as shown in [Giusti et al., 1995, Lemma 11]. Of course, the degree of the polynomials b_{i} with respect to the variables T_{1}, …, T_{s} is at most δ. Now, we proceed as in [Giusti et al., 1995, Section 4] or [Giusti et al., 1998, Section 5], to compute a primitive element of the integral ring extension A′_{1} ↪ B′_{1}.

Let u = λ_{n−i}Y_{n−i} + ⋯ + λ_{n}Y_{n} be such a primitive element with λ_{j} ∈ ZZ for n − i ≤ j ≤ n. Now, there exists a universal constant c_{1} > 0 such that the degrees of the geometric solution given by the polynomials 𝔪_{u}, ρ_{n−i}, …, ρ_{n}, v_{n−i}, …, v_{n} with respect to the variables T_{1}, …, T_{s} are at most (dδ)^{c_{1}}.

Finally, we consider the Jacobian determinant J = det J(h_{1}, …, h_{i}, h), which is not a zero divisor in B′_{1}. This simply means that we consider the matrix M′_{J} of the endomorphism η′_{J} : B′_{1} ⟶ B′_{1}.

The determinant of M′_{J} is a polynomial in K[T_{1}, …, T_{s}, Y_{1}, …, Y_{n−i−1}] whose degree in the variables T_{1}, …, T_{s} is at most (ndδ)^{c} for some universal constant c ≥ c_{1} > 0. Thus, let us consider the following two polynomials

F_{1} = det(M_{h}) ∈ K[T_{1}, …, T_{s}, Y_{1}, …, Y_{n−i}] and
F_{2} = det(M′_{J}) ∈ K[T_{1}, …, T_{s}, Y_{1}, …, Y_{n−i−1}].

Both polynomials are not in K[T_{1}, …, T_{s}]. Let us choose two points \underline{y}_{1} = (y_{1}^{(1)}, …, y_{n−i}^{(1)}) and \underline{y}_{2} = (y_{1}^{(2)}, …, y_{n−i}^{(2)}) ∈ ZZ^{n−i} such that the following polynomials 𝔉_{1} and 𝔉_{2} verify :

𝔉_{1} = F_{1}(T_{1}, …, T_{s}, \underline{y}_{1}) − F_{1}(T_{1}, …, T_{s}, \underline{y}_{2}) ≠ 0 and
𝔉_{2} = F_{2}(T_{1}, …, T_{s}, \underline{y}_{1}) − F_{2}(T_{1}, …, T_{s}, \underline{y}_{2}) ≠ 0.

Finally, the polynomial 𝔉_{1} · 𝔉_{2} ∈ K[T_{1}, …, T_{s}] is a non zero polynomial of degree at most (ndδ)^{c} + δ. For every point (t_{1}, …, t_{s}) ∈ ZZ^{s} such that 𝔉_{1} · 𝔉_{2}(t_{1}, …, t_{s}) ≠ 0 we have that F_{1} and F_{2} are non–zero polynomials. In particular, let h_{i+1} be the polynomial h_{i+1} = t_{1}f_{1} + ⋯ + t_{s}f_{s}. Then, we obtain :

• h_{i+1} is not a zero divisor modulo (h_{1}, …, h_{i}), and

• the ideal (h_{1}, …, h_{i}, h_{i+1}) is a proper radical ideal of codimension i+1.

The coordinates of the point (t_{1}, …, t_{s}) ∈ ZZ^{s} can be obviously chosen such that | t_{i} | ≤ (ndδ)^{c} + δ.

6.3 The case of trivial ideals

Now we are in conditions to give the proof of Corollary 5 from Theorems 1 and 2 :

From Proposition 73 we easily deduce the existential statements of Corollary 5 (i.e. claims ii), iii), iv) and v) as a consequence of the bounds given in Theorem 1 and 2.

As for claim vi), the proof of Proposition 73 essentially shows how to compute polynomials h_{1}, …, h_{t} ∈ ZZ[X_{1}, …, X_{n}] given as linear combinations of the input polynomials f_{1}, …, f_{s} and verifying the conditions described in Proposition 73. To see how this works, we shall explain the inductive step :

Suppose that we already have computed polynomials h_{1}, …, h_{i} (for a fixed i, 1 ≤ i ≤ m) such that

i) (h_{1}, …, h_{j}) is a radical ideal of codimension j in K[X_{1}, …, X_{n}] for 1 ≤ j ≤ i, and

ii) h_{1}, …, h_{i} are linear combinations of f_{1}, …, f_{s} of the form

h_{k} := ∑_{j=1}^{s} λ_{kj}f_{j} with | λ_{kj} | ≤ (ndδ_{S})^{c}.

Now, suppose that we have computed a Noether normalisation of (h_{1}, …, h_{i}), i.e. a matrix N ∈ M_{n}(ZZ) such that the variables

( Y_{1} ; ⋮ ; Y_{n} ) = N · ( X_{1} ; ⋮ ; X_{n} )

are in Noether position with respect to h_{1}, …, h_{i}, i.e. the following is an integral ring extension

A = K[Y_{1}, …, Y_{n−i}] ↪ K[Y_{1}, …, Y_{n}]/(h_{1}, …, h_{i}) = B.

We may also assume that a geometric solution (Def. 44 on page 62) of V (h_{1}, …, h_{i}) has been computed with respect to the Noether normalisation N. As observed in Lemma 49, all this can be done in time

(nd(L + s)δ_{S})^{O(1)}.

Now, we proceed as follows :

i) Introduce some new variables T_{1}, …, T_{s}.

ii) Consider the polynomial H = T_{1}f_{1}+⋯+T_{s}f_{s} ∈ R[T_{1}, …, T_{s}][Y_{1}, …, Y_{n}]. iii) Consider A[T] := A[T_{1}, …, T_{s}], B[T] = A[T]⊗_{A}B and the homothesy :

η_{H} : B[T] → B[T].

iv) Compute the determinant of the matrix of η_{H} (using the geometric solution), yielding the polynomial P_{1}(Y_{1}, …, Y_{n−i}, T_{1}, …, T_{s}) ∈ A[T].

v) Now, using a probabilistic algorithm (as described in Section 4.1 or [Zippel, 1993], [Schwartz, 1979]) decide (according to Lemma 71 on page 96) whether P_{1}(Y_{1}, …, Y_{n−i}, T_{1}, …, T_{s}) is in K[T_{1}, …, T_{s}] or not.

vi) If P_{1}(Y_{1}, …, Y_{n−i}, T_{1}, …, T_{s}) ∈ K[T_{1}, …, T_{s}], choose a point in ZZ^{s}, say (λ_{i+1,1}, …, λ_{i+1,s}), such that | λ_{i+1,k} | ≤ (ndδ_{s})^{s} and P_{1} does not vanish : P_{1}(Y_{1}, …, Y_{n−i}, λ_{i+1,1}, …, λ_{i+1,s}) ≠ 0. The algorithm terminates by writing t = i + 1, h_{t} = λ_{t,1}f_{1} + ⋯ + λ_{t,s}f_{s}.

vii) Else, compute a Noether normalisation of the ideal (h_{1}, …, h_{i}, H) as an ideal of codimension i + 1 in K(T_{1}, …, T_{s})[Y_{1}, …, Y_{n}]. In other words, compute N′ ∈ M_{n}(ZZ) a regular matrix such that

( Y′_{1} ; ⋮ ; Y′_{n} ) = N′ · ( Y_{1} ; ⋮ ; Y_{n} )

such that for A′[T] := K(T_{1}, …, T_{s})[Y′_{1}, …, Y′_{n−i+s}] the following

A′[T] ↪ K(T_{1}, …, T_{s})[Y′_{1}, …, Y′_{n}]/(h_{1}, …, h_{i}, H)

is an integral ring extension. Then, compute the Jacobian determinant of the sequence (h_{1}, …, h_{i}, H) with respect to the variables Y′_{n−i}, …, Y′_{n}. Let J(Y′_{1}, …, Y′_{n−i−1}, T_{1}, …, T_{s}) ∈ R[T_{1}, …, T_{s}, Y′_{1}, …, Y_{n−i−1′}] be this polynomial.

Finally, using a probabilistic algorithm (as described in Section 4.1 or [Zippel, 1993]) choose a point (λ_{i+1,1}, …, λ_{i+1,s}) ∈ ZZ^{s} with | λ_{i+1,k} | ≤ (ndδ_{s})^{c} for 1 ≤ k ≤ s such that

P_{1}(Y_{1}, …, Y_{n−i}, λ_{i+1,1}, …, λ_{i+1,s}) ≠ 0 and
J(Y′_{1}, …, Y_{n−i−1}, λ_{i+1,1}, …, λ_{i+1,s}) ≠ 0 holds.

We now set h_{i+1} = λ_{i+1,1}f_{1} + ⋯ + λ_{i+1,s}f_{s} and obtain thus the hypotheses made at the beginning and continue the induction.

This procedure runs in the desired time because all polynomials computed by the procedure are represented by the straight–line program which evaluates them.

6.4 The case of complete intersection ideals

The proof of Corollary 6 follows step by step the proof described in the previous Section 6.2. To facilitate the verification of this fact we give the following Proposition (similar to Proposition 73) :

Proposition 74 There exists a universal constant c > 0 such that the following holds : Given f_{1}, …, f_{s} ∈ R[X_{1}, …, X_{n}] polynomials of degree at most d such that (f_{1}, …, f_{s}) is a proper ideal of codimension s in K[X_{1}, …, X_{n}], there exist integer numbers λ_{ij} ∈ ZZ, 1 ≤ i ≤ s, 1 ≤ j ≤ s, such that the following holds :

• the polynomials h_{1}, …, h_{t} given by h_{i} = ∑_{j=1}^{s} λ_{ij}f_{j}, 1 ≤ i ≤ s are in general position,

• (h_{1}, …, h_{s}) = (f_{1}, …, f_{s}) in K[X_{1}, …, X_{n}], and

• | λ_{ij} | ≤ (ndδ(h_{1}, …, h_{i−1}))^{c} for 1 ≤ i ≤ s (where δ(∅) := 1).

Taking this Proposition and the same iterative procedure as in Section 6.2 before to compute h_{i+1} from h_{1}, …, h_{i}, we easily conclude the statements of Corollary 6.

106Chapter 6. Equations in general position : Geometric degree and height

Proof of Theorem 1

This Chapter is dedicated to the proof of the following Theorem, which was given at the Introduction :

Theorem 1 There exists a universal constant c_{1} > 0 with the following property : Let R be the ring of algebraic integers of a given number field K and f_{1}, …, f_{t}, f ∈ R[X_{1}, …, X_{n}], t ≤ n + 1 polynomials of degree at most d. Suppose that the following properties are verified :

i) All the ideals (f_{1}, …, f_{i}) in K[X_{1}, …, X_{n}] are radical ideals defining a variety of codimension i for 1 ≤ i ≤ t − 1.

ii) The polynomial f_{t} is not a zero divisor in the residue ring

K[X_{1}, …, X_{n}]/(f_{1}, …, f_{t−1}).

iii) The polynomial f belongs to the ideal (f_{1}, …, f_{t}) in K[X_{1}, …, X_{n}].

iv) There is given a straight–line program Γ of size L, non–scalar depth ℓ and parameters in a finite set F ⊂ R, such that Γ evaluates the polynomials f_{1}, …, f_{t}, f.

1) Then, there exists a division-free straight–line program Γ_{1} of size (tdLδ)^{c_{1}}, non–scalar depth O((n + ℓ)^{2} log_{2} δ) and parameters in

F ∪ {z ∈ ZZ : | z | ≤ (tdLδ)^{c_{1}}} ⊆ R,

such that Γ_{1} evaluates polynomials g_{1}, …, g_{t} ∈ R[X_{1}, …, X_{n}] and a non–zero constant a ∈ R \ {0} such that the following holds :

af = g_{1}f_{1} + ⋯ + g_{t}f_{t}.

2) Moreover, the polynomials g_{1}, …, g_{t} verify the degree bound deg(g_{i}) ≤ 3t^{2}dδ.

The Chapter is divided into two Sections, each dedicated to the proof of one of the two claims of Theorem 1.

7.1 The degree bound

In this section we give a proof for the degree bound for the polynomials g_{i} stated in claim 2) of Theorem 1.

We are given a finite sequence of polynomials f_{1}, …, f_{t} ∈ R[X_{1}, …, X_{n}] with t ≤ n + 1 such that the following properties hold :

i) for every i, 1 ≤ i ≤ t − 1, the ideals (f_{1}, …, f_{i}) are radical ideals of codimension i,

ii) the polynomial f_{i+1} is not a zero divisor in the residue ring B_{i} := K[X_{1}, …, X_{n}]/(f_{1}, …, f_{i}) for 1 ≤ i ≤ t − 1,

iii) deg(f_{i}) ≤ d, ht(f_{i}) ≤ h, for every i, 1 ≤ i ≤ t.

We are also given an additional polynomial f ∈ R[X_{1}, …, X_{n}] with deg(f) ≤ d and ht(f) ≤ h. Assuming that f belongs to the ideal (f_{1}, …, f_{t}) in K[X_{1}, …, X_{n}], we wish to compute a ∈ R and g_{1}, …, g_{t} ∈ R[X_{1}, …, X_{n}] such that the following identity holds :

af = g_{1}f_{1} + ⋯ + g_{t}f_{t}.

We consider the intermediate varieties V_{i} := V (f_{1}, …, f_{i}) for 1 ≤ i ≤ t − 1, D_{i} := deg(V_{i}) and δ := max{D_{1}, …, D_{t−1}}.

We will make use of the following Proposition, saying that we can compute geometric solutions for all intermediate varieties V_{i}. The proof of this Proposition can be found for example in [Krick & Pardo, 1996], [Giusti et al., 1998], [Giusti et al., 1997a] and [Morais, 1997].

Proposition 75 (Geometric solutions, [Giusti et al., 1997a ]) With the previous hypotheses and notations, given a non–scalar straight– line program Γ of size L, non–scalar depth ℓ and parameters in a finite set F ⊆ R, such that Γ evaluates the polynomials f_{1}, …, f_{t}, f ∈ R[X_{1}, …, X_{n}] verifying the hypotheses of Theorem 1 above. Then there exists a bounded error probability Turing machine which, taking as input this straight–line program Γ computes the following items :

i) a regular matrix N ∈ M_{n}(ZZ), N = (ν_{ij})_{1≤i,j≤n} such that (a) | ν_{ij} | ≤ (nδ)^{c}, where c is the universal constant of Equation (3.3)

on Page 65,

(b) the variables Y_{1}, …, Y_{n} given by :

( Y_{1} ; ⋮ ; Y_{n} ) = N ( X_{1} ; ⋮ ; X_{n} )

are in Noether position with respect to all intermediate varieties V_{i}, i.e.

A_{i} := K[Y_{1}, …, Y_{n−i}] ↪ B_{i} := K[Y_{1}, …, Y_{n}]/(f_{1}, …, f_{i})

is an integral ring extension for 1 ≤ i ≤ t − 1,

ii) a non–scalar straight–line program Γ′ of size O(ndLδ)^{O(1)} and parameters in F ∪ {z ∈ ZZ : | z | ≤ (ndLδ)^{c}}, such that Γ′ evaluates the geometric solutions of all the varieties V_{1}, …, V_{i−1} with respect to the Noether normalisation N, i.e. Γ′ evaluates :

• linear forms u_{i} ∈ ZZ[Y_{n−i+1}, …, Y_{n}], 1 ≤ i ≤ t − 1, such that u_{i} is a primitive element of the integral ring extension A_{i} ↪ B_{i}. Moreover, u_{i} may be chosen such that ht(u_{i}) ≤ (ndLδ)^{c}.

• polynomials p_{i} ∈ R[Y_{n−i+1}, …, Y_{n}][T] for 1 ≤ i ≤ t − 1 of degree D_{i} with respect to the variable T. We may assume that p_{i} has the form

p_{i} = α_{i}T^{D_{i}} + h_{i}

where α_{i} ∈ R \ {0} is the leading coefficient of p_{i} and deg_{T} h_{i} ≤ deg p_{i} ≤ D_{i}. Moreover, α_{i}^{−1}p_{i} is the minimal equation of the endomorphism : η_{u_{i}} : B′_{i} → B′_{i} in the basis given by {1, ū_{i}, …, ū_{i}^{D_{i}−1}}.

• for 1 ≤ i ≤ t − 1 polynomials ρ_{n−i+1}^{(i)}, …, ρ_{n}^{(i)} ∈ R[Y_{n−i+1}, …, Y_{n}],

• for 1 ≤ i ≤ t−1 polynomials v_{n−i+1}^{(i)}, …, v_{n}^{(i)} ∈ R[Y_{n−i+1}, …, Y_{n}][T] with deg_{T} v_{j}^{(i)} ≤ D_{i} − 1. Moreover, for 1 ≤ i ≤ t − 1 and for n − i + 1 ≤ j ≤ n, the polynomial ρ_{j}^{(i)}Y_{j} − v_{j}^{(i)}(u_{i}) lies in the ideal generated by (f_{1}, …, f_{i}) in K[Y_{1}, …, Y_{n}].

As observed in Section 3.2, B_{i} is a free A_{i}–module of rank at most D_{i} (and also bounded by the geometric degree δ). For every polynomial g ∈ K[Y_{1}, …, Y_{n}] we denote by ḡ the residual class g + (f_{1}, …, f_{i}) ∈ B_{i}, writing simply ḡ ∈ B_{i} when no confusion may occur. We denote by F_{i} := K(Y_{1}, …, Y_{n−i}) the quotient field of A_{i} (according to the Nomenklatur of [Matsumura, 1986]) and by B′_{i} the zero–dimensional F_{i}–algebra obtained by extending scalars in B_{i}, i.e.

B′_{i} := F_{i} ⊗_{A_{i}} B_{i}.

It is clear that B′_{i} is a F_{i}–vector space of finite dimension and that its dimension equals the rank of B_{i} as free A_{i}–module. For every A_{i}–module morphism σ ∈ B_{i}^{∗} (:= Hom_{A_{i}}(B_{i}, A_{i})) we denote by σ′ ∈ (B′_{i})^{∗} (:= Hom_{F_{i}}(B′_{i}, K_{i})) the F_{i}–linear mapping defined by extending scalars to B′_{i}. In particular, if σ ∈ B_{i}^{∗} is a canonical trace, the trace σ′ := Id_{F_{i}} ⊗_{A_{i}} σ in (B′_{i})^{∗} is also a canonical trace (in the sense of Section 5.1).

Following our discussion in Section 5.1, we know that there exists a canonical trace σ_{i} ∈ B_{i}^{∗} associated to the pseudo–jacobian determinant defined by the sequence f_{1}, …, f_{i} with respect to the variables Y_{n−i+1}, …, Y_{n}.

Let Δ_{i} ∈ B_{i}⊗_{A_{i}}B_{i} be a pseudo–jacobian determinant defined by the sequence f_{1}, …, f_{i}. Let us consider the set M_{i} of all monomials of degree at most i(d − 1) in the variables {Y_{n−i+1}, …, Y_{n}}. Let us denote the monomials contained in M_{i} in the following way :

M_{i} := {b_{k}^{(i)} : 1 ≤ k ≤ N_{i}},

where N_{i} is the cardinality of M_{i}. Then, there exist polynomials a_{k}^{(i)} ∈ A_{i}[Y_{n−i+1}, …, Y_{n}], 1 ≤ k ≤ N_{i} of total degree bounded by i(d − 1) such that holds :

Δ_{i} = ∑_{k=1}^{N_{i}} \overline{a_{k}^{(i)}} ⊗ \overline{b_{k}^{(i)}} ∈ B_{i} ⊗_{A_{i}} B_{i}.  (7.1)

We want to apply the alternative trace formula given by Proposition 64. As discussed in Section 5.1, for 1 ≤ i ≤ t − 1 we have the canonical trace σ′_{i} ∈ B′_{i} obtained by extending scalars to B′_{i}. Similarly, we may consider B̃_{i} := B_{i}[Y_{n−i+1}, …, Y_{n}] = A_{i}[Y_{n−i+1}, …, Y_{n}] ⊗_{A_{i}} B_{i} and B̃′_{i} := B′_{i}[Y_{n−i+1}, …, Y_{n}].

Now, let us denote by Δ_{1}^{(i)} the pseudo–jacobian determinant Δ_{i} seen as an element in B̃′_{i} = B′_{i}[Y_{n−i+1}, …, Y_{n}]. In other words, let Δ_{1}^{(i)} be the following element :

Δ_{1}^{(i)} = ∑_{k=1}^{N_{i}} \overline{a_{k}^{(i)}} ⊗ b_{k}^{(i)} ∈ B_{i}[Y_{n−i+1}, …, Y_{n}].

Let us recall from Proposition 66 on page 88 that Δ_{1}^{(i)} can be evaluated by a non–scalar straight–line program of low complexity. Now, we consider the standard traces :

T̃r_{i} : B̃_{i} → A_{i}[Y_{n−i+1}, …, Y_{n}] = K[Y_{1}, …, Y_{n}],
T̃r′_{i} : B̃′_{i} → F_{i}[Y_{n−i+1}, …, Y_{n}],

where T̃r′_{i} is Id_{F_{i}} ⊗_{A_{i}} T̃r_{i}.

Let J_{i} denote the jacobian determinant of the sequence f_{1}, …, f_{i} with respect to the variable Y_{n−i+1}, …, Y_{n}. Then, by Proposition 64 holds for every g ∈ A_{i}[Y_{n−i+1}, …, Y_{n}] the following identity :

g_{1} = ∑_{1≤k≤N_{i}} σ′_{i}(ḡ · ā_{k}^{(i)})b_{k}^{(i)} = T̃r′_{i}(J̄_{i}^{−1} · ḡ · Δ_{1}^{(i)})

and ḡ_{1} − ḡ = 0 in B_{i}.

This will allow us to compute a single division step in B_{i} as shown in Proposition 65.

The degree bound

We are now in conditions to show the degree bound for the polynomials g_{i} appearing in the Bézout identity af = g_{1}f_{1} + ⋯ + g_{t}f_{t} of Theorem 1. We define inductively a sequence of polynomials G_{1}, …, G_{t} and Q_{1}, …, Q_{t} in K[X_{1}, …, X_{n}] in the following way :

G_{t} := T̃r′_{t−1}(J̄_{t−1}^{−1} · f̄_{t}^{−1} · f̄· Δ̄_{1}^{(t−1)}),  Q_{t} := f − G_{t}f_{t}.  (7.2)

For 2 ≤ i ≤ t − 1, given Q_{i+1} we define:

G_{i} := T̃r′_{i−1}(J̄_{i−1}^{−1} · f̄_{i}^{−1} · Q̄_{i+1} · Δ̄_{1}^{(i−1)}),  Q_{i} := Q_{i+1} − G_{i}f_{i}.  (7.3)

As for i = 1, we define

G_{1} := \frac{Q_{2}}{f_{1}} ,  Q_{1} := 0.  (7.4)

For the polynomials G_{i} and Q_{i} such defined holds :

f = G_{1}f_{1} + ⋯ + G_{t}f_{t}.  (7.5)

Because of our discussion in Section 5.2 one now easily sees from their definition that the polynomials G_{1}, …, G_{t} are in K[Y_{1}, …, Y_{n}] and that they verify Identity (7.5).

The degree bound on the polynomials g_{i} as claimed in Theorem 1 (first stated in [Giusti et al., 1998]) follows by an elementary inductive argument as that of [Krick et al., 1997] or [Morais, 1997]. We have to find a suitable common denominator a ∈ R \ {0}, such that defining

g_{i} := a · G_{i}, for 1 ≤ i ≤ t

we obtain the expression stated in Theorem 1, i.e. af = g_{1}f_{1} + ⋯ + g_{t}f_{t}, and g_{i} ∈ R[Y_{1}, …, Y_{n}]. The forthcoming Section will show how to construct this denominator a for the polynomials G_{1}, …, G_{t}.

7.2 The size of the straight–line program

Sketch of proof

The following lines intend to give an overview for the proof of claim 1) of Theorem 1 – the complexity estimates in terms of size and non-scalar depth for a straight–line program evaluating polynomials g_{1}, …, g_{t} ∈ R[X_{1}, …, X_{n}] and a non–zero constant a ∈ R \ {0} such that af = g_{1}f_{1} + ⋯ + g_{t}f_{t} holds.

Since we are going to exhibit as precisely as possible the procedures underlying the straight–line programs evaluating the polynomials g_{1}, …, g_{t} ∈ R[X_{1}, …, X_{n}] and the constant a ∈ R \ {0} verifying the conditions of Theorem 1, we will have to pay a price in terms of style and notation. This outline hopefully clarifies the reasons for the necessarily detailed notations introduced in the proof.

The main technical tool we are going to use is a combination of the following two ingredients :

i) an efficient algorithm for computing the geometric solutions of all intermediate varieties V_{i} = V (f_{1}, …, f_{i}) for 1 ≤ i ≤ t − 1 as found in [Giusti et al., 1997a] and resumed in Proposition 75,

ii) and the division procedure described in Chapter 5, resumed in Proposition 66.

More precisely, for 1 ≤ i ≤ n we consider the intermediate varieties V_{i} = V (f_{1}, …, f_{i}) and the integral ring extensions

A_{i} := K[Y_{1}, …, Y_{n−i}] ↪ B_{i} := K[Y_{1}, …, Y_{n}]/(f_{1}, …, f_{i}).

We show that there exist for 1 ≤ i ≤ t − 1 straight–line programs Γ_{i} in A_{i} taking as input the coefficients of a geometric solution for the variety V_{i} which performs the divison algorithm described in Chapter 5 and evaluate polynomials

G̃_{i} ∈ R[X_{1}, …, X_{n}],  Θ̃_{i} ∈ R[X_{1}, …, X_{n−i}]  (7.6)

with the following properties :

• Θ̃_{i} divides G̃_{i} in K[X_{1}, …, X_{n}],

• G_{i} = \frac{G̃_{i}}{Θ̃_{i}},

• and for 1 ≤ r ≤ t the polynomial

f − ∑_{j=r}^{t} \frac{G̃_{j}}{Θ̃_{j}} · f_{j} ∈ (f_{1}, …, f_{r−1}).

The geometric solutions of all intermediate varieties V_{i} are given by a straight– line program Γ′ by Proposition 75. We use the information contained in this straight–line program Γ′ as input for the straight–line programs Γ_{i} computing the divisions modulo the intermediate complete intersection varietes. This composition of straight–line programs yields a new straight–line program which can be visualized by the following scheme, where the arrows signify “input”, as indicated by Equations (7.2) to (7.4) :

[figure: Γ′; Γ_{i}; Γ_{t}; Γ_{t−1}; Γ_{2}; Γ_{1}]

Figure 7.1: First Approach

Then, applying Strassen’s Vermeidung von Divisionen technique (Proposition 33) to this straight–line program evaluating the polynomials G̃_{i}, Θ̃_{i} for 1 ≤ i ≤ t, we would obtain a new straight–line program that evaluates a suitable constant a ∈ R \ {0} and polynomials g_{1}, …, g_{t} ∈ R[X_{1}, …, X_{n}] such that holds :

a^{−1} · g_{i} = \frac{G̃_{i}}{Θ̃_{i}} and af = g_{1}f_{1} + ⋯ + g_{t}f_{t}.

This strategy suffers one major drawback, called the Pasodoble effect :

Recall the method introduced in Chapter 5 to perform a single division modulo a complete intersection variety. This method will be applied in each straight–line program Γ_{i}, but the input of Γ_{i} is not just the geometric solution of the complete intersection variety V_{i} = V (f_{1}, …, f_{i}) but also the “remainder” of all previous divisions as expressed in the polynomials Q_{j} as introduced in Equations (7.2) to (7.4) on page 111 :

Q_{j} = f − ∑_{j=i}^{t} G_{j} · f_{j} for 1 ≤ r ≤ t.

The resulting effect on the dependency of the inputs can be illustrated graphically in the following way :

[figure: Γ′; Γ_{i}; Γ_{t}; Γ_{t−1}; Γ_{2}; Γ_{1}]

Figure 7.2: Consequences of the first approach

Thus, to compute the polynomials G̃_{i} and Θ̃_{i}, all the previously computed straight–line programs Γ_{t}, …, Γ_{i+1} will be used. This “nesting” or dependence on the previous steps (therefore Pasodoble effect) causes an accumulated complexity increasal. If D_{i} denotes the geometric degree deg V_{i} of the intermediate variety V_{i} from the bounds obtained for a single division step in Chapter 5 follows for the straight–line programs Γ_{i} a complexity bound of order (∏_{j=r+1}^{t} D_{j})^{O(1)}, which is unsatisfactory.

Therefore, the main work in the forthcoming proof of Theorem 1 will be spent on showing a way how to avoid this Pasodoble effect.

The crucial observation for the proof of the complexity estimates of Theorem 1 is the fact that we can pre–compute some intermediate information in the form of some straight–line programs which we will denote by 𝔐_{1}, …, 𝔐_{t−1}. This information will only depend on the geometric solutions of the intermediate varieties V_{i} and the input polynomials f_{1}, …, f_{t}. In addition, we modify the straight–line programs Γ_{i} slightly to obtain some new straight– line programs Γ′_{i} such that the straight–line program of Table 7.1 above can be obtained as a straight–line program Γ′′ in the following, alternative way :

[figure: Γ′; 𝔐_{t−2}; 𝔐_{1}; 𝔐_{i−1}; Γ_{t−2}; Γ_{i}; Γ_{2}; Γ_{1}; 𝔐_{t−1}; Γ_{t}]

Figure 7.3: The approach followed in the proof

For t−1 ≥ i ≥ 1 the straight–line programs 𝔐_{i} will evaluate the polynomials listed in Proposition 85 on page 125. Then, using this information as input, the straight–line programs Γ_{i} evaluate the polynomials listed in Proposition 86 on page 128.

Applying Strassen’s Vermeidung von Divisionen method (cf. Proposition 33) we obtain from the straight–line programs Γ_{i} a straight–line program evaluating the polynomials g_{1}, …, g_{t} and a non-zero constant a ∈ R \ {0} such that af = g_{1}f_{1} + ⋯ + g_{t}f_{t} holds.

Roughly speaking, the new technical outcome may be explained as follows : We define inductively a sequence of polynomials G_{1}, …, G_{t} ∈ K[X_{1}, …, X_{n}] by Equations (7.2) to (7.4) such that f = G_{1}f_{1} + ⋯ + G_{t}f_{t} holds. Suppose we have computed G_{t}, …, G_{i+1}. Then, the polynomial G_{i} is given as :

G_{i} = T̃r′_{i−1}(J̄_{i−1}^{−1} · f̄_{i}^{−1} · Q̄_{i+1} · Δ̄_{1}^{(i−1)})
= T̃r′_{i−1}(J̄_{i−1}^{−1} · f̄_{i}^{−1} · f̄· Δ̄_{1}^{(i−1)})

− ∑_{j=i+1}^{t} T̃r′_{i−1}(J̄_{i−1}^{−1} · f̄_{i}^{−1} · Ḡ_{j} · f̄_{j} · Δ̄_{1}^{(i−1)}).

Now, the main point will be to determine which parts of Ḡ_{j} have some influence in the second part of the above formula, namely :

T̃r′_{i−1}(J̄_{i−1}^{−1} · f̄_{i}^{−1} · Ḡ_{j} · f̄_{j} · Δ̄_{1}^{(i−1)}).  (7.7)

The product J̄_{i−1}^{−1} · f̄_{i}^{−1} · ·f̄_{j} · Δ̄_{1}^{(i−1)} depends just on the input system S = {f_{1}, …, f_{t}} and does not depend on the precomputed polynomials G_{t}, …, G_{i+1}.

Now, we observe that the polynomial G_{j} ∈ A_{j}[Y_{n−j+1}, …, Y_{n}] has two main “components”. First, we can see its “coefficients” being polynomials in A_{j} ⊆ A_{i−1} and second, its “variables”, namely Y_{n−j+1}, …, Y_{n}. The main influence of the polynomial G_{j} in Equation (7.7) above depends on the action of the “variable” part of G_{j} under the trace T̃r′_{i−1}, i.e. the dependence on the variables Y_{n−j+1}, …, Y_{n}, whereas the “coefficient” part of G_{j} does not interfere significantly.

We will show that this “variable” part of G_{j} depends only on the previously computed pseudo–jacobian determinants Δ_{1}^{(s)} for t − 1 ≥ s ≥ j. These pseudo–jacobian determinants Δ_{1}^{(s)} are elements of A_{j}[Y_{n−j+1}, …, Y_{n}] and depend only on the input system f_{1}, …, f_{t}, but not on the previously computed polynomials G_{t}, …, G_{i+1}.

The task performed by the non–scalar straight–line programs 𝔐_{t−1}, …, 𝔐_{i−1} will be to “isolate” this “variable” part of the polynomials G_{t}, …, G_{i+1} to be reused in the computation of G_{i}. To clarify this idea : “isolate” does not mean to compute the monomials of G_{j} with respect to the variables Y_{n−j+1}, …, Y_{n}. It means a more sophisticated process which does not contain any “interpolation” steps and which we show explicitely in the sequel. As an additional complication interfers the necessity to “carry on” denominators as before, which increases the notational complexity of the proof once more. Unfortunately, we have not been able to exhibit this process using less notation.

Proof of the complexity estimates of Theorem 1

The complexity estimates of Theorem 1 follow by describing a suitable straight– line program that evaluates G_{1}, …, G_{t} from the information contained in the geometric solutions of the varieties V_{1}, …, V_{t−1}. First of all, we want to give here a matricial expression of the equations (7.2), (7.3) and (7.4).

For every polynomial g ∈ R[Y_{1}, …, Y_{n}] we denote by M_{g}^{(i)} the matrix of the endomorphism η_{g} : B′_{i} → B′_{i} in the basis given by the primitive element {1, ū_{i}, …, ū_{i}^{D_{i}−1}}.

Similarly, for every Δ ∈ B_{i}[Y_{n−i+1}, …, Y_{n}] we denote by M_{Δ}^{(i)} the matrix associated to the endomorphism η_{Δ} : B̃′_{i} → B̃′_{i} in terms of the basis given by the primitive element {1 ⊗ 1, ū_{i} ⊗ 1, …, ū_{i}^{D_{i−1}} ⊗ 1}.

Recall from page 110 that Δ_{i} denotes a pseudo–jacobian of f_{1}, …, f_{i} in B_{i}⊗_{A_{i}} B_{i} and that Δ_{1}^{(i)} is Δ_{i} seen as an element in B̃′_{i} = B′_{i}[Y_{n−i+1}, …, Y_{n}]. Then, let us write M_{Δ_{1}^{(i)}}^{(i)} for the matrix of the endomorphism of multiplication by

Δ_{1}^{(i)} in B̃′_{i}.

Then, the polynomials G_{t}, …, G_{1} we have defined recursively by Equations (7.2), (7.3) and (7.4) can be rewritten in terms of linear algebra using matrices as :

G_{t} = T̃r′_{t−1}((M_{J_{t−1}}^{(t−1)})^{−1} · (M_{f_{t}}^{(t−1)})^{−1} · M_{f}^{(t−1)} · M_{Δ_{1}^{(t−1)}}^{(t−1)})^{−1}),
Q_{t} = f − G_{t}f_{t}

and, recursively for t − 1 ≥ i ≥ 2,

G_{i} = T̃r′_{i−1}((M_{J_{i−1}}^{(i−1)})^{−1} · (M_{f_{i}}^{(i−1)})^{−1} · M_{Q_{i+1}}^{(i−1)} · M_{Δ_{1}^{(i−1)}}^{(i−1)})^{−1}),
Q_{i} = Q_{i+1} − G_{i}f_{i}

and finally

G_{1} = \frac{Q_{2}}{f_{1}} , Q_{1} := 0.

All these expressions above involve divisions by non–constant polynomials (divisions by det(M_{J_{i−1}}^{(i−1)}), det(M_{f_{i}}^{(i−1)}) for instance. Even if the results of Chapter 3 would guarantee that the G_{i}’s and the Q_{i}’s are true polynomials (in K[Y_{1}, …, Y_{n}]), the presence of intermediate divisions will hide (and make harder) the computation of the common denominator (in R) of the polynomials G_{1}, …, G_{t} ∈ R[Y_{1}, …, Y_{n}]. We are going to show a method for computing G_{t}, …, G_{2}. The last step of computing G_{1} can be done applying Vermeidung von Divisionen.

As we said before, our method “carries on” the occurring divisions by non– constant polynomials until the last moment. In this way, we obtain sequences of polynomials G̃_{1}, …, G̃_{t} in R[Y_{1}, …, Y_{n}] and Θ̃_{1}, …, Θ̃_{t} in R[Y_{1}, …, Y_{n}] such that the following identities hold for 2 ≤ i ≤ t :

G_{i} = \frac{G̃_{i}}{Θ̃_{i}} .  (7.8)

Then, applying Strassen’s Vermeidung von Divisionen technique as stated in Lemma 33 together with the degree bound stated in Section 7.1 before will be sufficient to obtain a straight–line program of appropriate size and parameters which evaluates polynomials g_{1}, …, g_{t} ∈ R[Y_{1}, …, Y_{n}] and a non– zero constant a ∈ R \ {0} such that for 1 ≤ i ≤ t holds :

G_{i} = a^{−1} · g_{i},  (7.9)

where for i = 1 simply holds Θ̃_{1} = f_{1} and G̃_{i} = Q_{1}. From this, the complexity estimates of Theorem 1 follow immediately.

Denominators in tensor matrices

We are now interested in the description of the tensor matrices, i.e. the matrices in the basis {1, ū_{i}, …, ū_{i}^{D_{i}−1}} of the endomorphisms : η_{Y_{j}} : B′_{i} → B′_{i} for 1 ≤ i ≤ t − 1, n − i + 1 ≤ j ≤ n. We have the following Lemma :

Lemma 76 With the same notations and assumptions as before, there exists a non–scalar straight–line program of size (ndLδ)^{O(1)} and parameters in F ∪ {z ∈ ZZ : | z | ≤ (ndLδ)^{c}}, such that the straight–line program evaluates the following polynomials :

i) for every i, 1 ≤ i ≤ t − 1, polynomials ρ^{(i)} ∈ R[Y_{1}, …, Y_{n−i}],

ii) for every i, 1 ≤ i ≤ t − 1, and every j, n − i + 1 ≤ j ≤ n, Γ′′ evaluates the entries in R[Y_{1}, …, Y_{n−i}] of some D_{i} × D_{i} matrices M_{Y_{j}}^{(i)}.

These polynomials verify that for every i, 1 ≤ i ≤ t − 1, and every j, n − i + 1 ≤ j ≤ n, the matrix (ρ^{(i)})^{−1}M_{Y_{j}}^{(i)} is the matrix of the endomorphisms η_{Y_{j}} : B′_{i} → B′_{i} in the basis {1, ū_{i}, …, ū_{i}^{D_{i}−1}}.

Proof.– This follows by an argument similar to the one of Lemma 34. We first observe that the tensor matrices of multiplication by Y_{j} are given by

M_{Y_{j}}^{(i)} = (ρ_{j}^{(i)})^{−1}v_{j}^{(i)}(M_{u_{i}}),

where M_{u_{i}} is the companion matrix of the polynomial α_{i}^{−1} · p_{i} ∈ A_{i}[T]. Let us assume that

v_{j}^{(i)} := ∑_{k=0}^{D_{i}−1} a_{j,k}^{(i)}T^{k} with a_{j,k}^{(i)} ∈ R[Y_{1}, …, Y_{n−i}]

and let us define the polynomial

w_{j}^{(i)} := ∑_{k=0}^{D_{i}−1} a_{j,k}^{(i)}α_{i}^{D_{i}−k−1}T^{k}.

The tensor matrix may then be seen as M_{Y_{j}}^{(i)} = (ρ_{j}^{(i)})^{−1} · α_{i}^{−1} · w_{j}^{(i)}(α_{i}M_{u_{i}}). Defining

ρ^{(i)} := ∏_{j=n−i+1}^{n}(ρ_{j}^{(i)}α_{i}) and M_{Y_{j}}^{(i)} := ∏_{{k=n−i+1 \atop k≠j}}^{n} w_{j}^{(i)}(α_{i}M_{u_{i}}),

we have M_{Y_{j}}^{(i)} = (ρ_{j}^{(i)})^{−1}M_{Y_{j}}^{(i)} and these obviously verify the desired conditions.

Denominators of the homothesy matrices

We are interested in the description of the denominators of the matrices describing the multiplication by elements in B_{i}.

Lemma 77 With the previous notations and assumptions, let g be a polynomial in R[Y_{1}, …, Y_{n}] evaluable by a non–scalar straight–line program Γ_{1} of size L_{1} and parameters in F_{1}. Then, there exists a non–scalar straight–line program Γ_{g} of size (nd(L + L_{1})δ)^{O(1)} and parameters in F ∪ F_{1} ∪ {z ∈ ZZ : | z | ≤ (ndLδ)^{c}} such that Γ_{g} evaluates • a polynomial Θ_{g}^{(i)} ∈ R[Y_{1}, …, Y_{n−i}] \ {0} and

• the entries in R[Y_{1}, …, Y_{n−i}] of a D_{i} × D_{i} matrix M_{g}^{(i)} such that :

the matrix M_{g}^{(i)} is given by M_{g}^{(i)} = (Θ_{g}^{(i)})^{−1} · M_{g}^{(i)}.

If g ∈ R[Y_{1}, …, Y_{n}] is not a zero divisor in B_{i} (and B′_{i}), the matrix M_{g}^{(i)} is a regular matrix. Thus, we are also interested in the computation of its inverse matrix, (M_{g}^{(i)})^{−1}.

Lemma 78 With the notations and assumptions of the previous Lemma, if the polynomial g ∈ R[Y_{1}, …, Y_{n}] is not a zero divisor in B_{i}, there exists a non–scalar straight–line program Γ = (Γ_{g}^{(i)})^{−1} of size (nd(L + L_{1})δ)^{O(1)} and parameters in F ∪ F_{1} ∪ {z ∈ ZZ : | z | ≤ (ndLδ)^{c}} such that Γ evaluates

• a polynomial Θ̃_{g}^{(i)} ∈ R[Y_{1}, …, Y_{n−i}] \ {0} and

• the entries in R[Y_{1}, …, Y_{n−i}] of a D_{i} × D_{i} matrix M̃_{g}^{(i)} such that :

the inverse matrix (M_{g}^{(i)})^{−1} may be obtained as (M_{g}^{(i)})^{−1} = (Θ̃_{g}^{(i)})^{−1} · M̃_{g}^{(i)}.

Proof.– First, we have the identity M_{g}^{(i)} = (Θ_{g}^{(i)})^{−1} · M_{g}^{(i)} with the bounds of the previous Lemma 77. Let det_{g} be the determinant of M_{g}^{(i)} and let Adj_{g} be the transposed of the adjoint matrix of M_{g}^{(i)}. Then, we have :

(M_{g}^{(i)})^{−1} = (det_{g})^{−1} · Θ_{g}^{(i)} · Adj_{g}

and thus, defining Θ̃_{g}^{(i)} := (det_{g}) and M̃_{g}^{(i)} := Θ_{g}^{(i)} · Adj_{g} we conclude the proof.

Let us observe that for a given polynomial θ ∈ B_{i}[Y_{n−i+1}, …, Y_{n}] the endomorphism

η_{θ} : B′_{i}[Y_{n−i+1}, …, Y_{n}] → B′_{i}[Y_{n−i+1}, …, Y_{n}]

represented in the basis {1 ⊗ 1, ū_{i} ⊗ 1, …, ū_{i}^{D_{i}−1} ⊗ 1} is given by the matrix M_{θ}^{(i)}.

Lemma 79 With the same notations and assumptions, let be given a polynomial θ ∈ B_{i}[Y_{n−i+1}, …, Y_{n}] which can be evaluated by a non–scalar straight– line program Γ_{2} of size L_{2} and parameters in F_{2}. Then, there exists a non– scalar straight–line program Γ_{θ} of size (nd(L + L_{2})δ)^{O(1)} and parameters in F ∪ F_{2} ∪ {z ∈ ZZ : | z | ≤ (ndLδ)^{c}} such that Γ_{θ} evaluates • a polynomial Θ_{θ}^{(i)} ∈ R[Y_{1}, …, Y_{n−i}] and

• the entries in R[Y_{1}, …, Y_{n}] of a D_{i} × D_{i} matrix M_{θ}^{(i)} such that :

the matrix M_{θ}^{(i)} may be obtained as M_{θ}^{(i)} := (Θ_{θ}^{(i)})^{−1} · M_{θ}^{(i)}.

Proof.– Let us simply observe that :

M_{θ}^{(i)} = θ(Y_{1}, …, Y_{n−i}, (ρ^{(i)})^{−1}M_{Y_{j−i+1}}^{(i)}, …, (ρ^{(i)})^{−1}M_{Y_{n}}^{(i)}, Y_{n−i+1}, …, Y_{n})

and apply the technical tool of Lemma 34 as before to compute matrices and denominators separately.

Dependence on the input system

These notations fixed, let us see how to compute our polynomials G_{1}, …, G_{t}. We introduce the following additional notation for the entities we will compute (which will depend only on the input system f_{1}, …, f_{t}) :

• for 1 ≤ i ≤ t − 1 the polynomial

Θ^{(i)} := Θ̃_{J_{i−1}}^{(i−1)} · Θ̃_{f_{i}}^{(i−1)} · Θ_{f}^{(i−1)} · Θ_{Δ_{1}^{(i−1)}}^{(i−1)} ∈ R[Y_{1}, …, Y_{n−i+1}],

• the matrices with entries in R[Y_{1}, …, Y_{n}] for 1 ≤ i ≤ t − 1 :

M^{(i)} := M̃_{J_{i−1}}^{(i−1)} · M̃_{f_{i}}^{(i−1)} · M_{f}^{(i−1)} · M_{Δ_{1}^{(i−1)}}^{(i−1)},

• for 1 ≤ i ≤ t − 1 and i + 1 ≤ j ≤ t, the polynomials :

Θ_{j}^{(i)} := Θ̃_{J_{i−1}}^{(i−1)} · Θ̃_{f_{i}}^{(i−1)} · Θ_{f_{j}}^{(i−1)} · Θ_{Δ_{1}^{(i−1)}}^{(i−1)} ∈ R[Y_{1}, …, Y_{n−i+1}],

• for 1 ≤ i ≤ t − 1 and i + 1 ≤ j ≤ t, the matrices with entries in R[Y_{1}, …, Y_{n}] given by :

𝔐_{j}^{(i)} := M̃_{J_{i−1}}^{(i−1)} · M̃_{f_{i}}^{(i−1)} · M_{f_{j}}^{(i−1)} · M_{Δ_{1}^{(i−1)}}^{(i−1)},

• for 1 ≤ i ≤ t − 1, let P_{i} ∈ R[Y_{1}, …, Y_{n}] be the polynomial given by

P_{i} := T̃r′_{i}(M^{(i)}).

Observe the following relevant fact which helps us to avoid the Pasodoble effect : the information Θ^{(i)}, M^{(i)}, Θ_{j}^{(i)} and M_{j}^{(i)} is independent of the intermediate results G_{1}, …, G_{t}, Q_{1}, …, Q_{t}. This leads us to the following Lemmata showing how to compute the polynomials G_{1}, …, G_{t}.

Lemma 80 With the previous notations and assumptions, for j ≥ i + 1 let M_{G_{j}}^{(i)} be the matrix associated to the endomorphism η_{G_{j}} : B′_{i} → B′_{i}. Then, the following identities hold :

G_{t} = (Θ^{(t−1)})^{−1}P_{t−1},

and for every 2 ≤ i ≤ t − 1 :

G_{i} = (Θ^{(i−1)})^{−1}P_{i−1} − ∑_{j=i+1}^{t}(Θ_{j}^{(i−1)})^{−1}T̃r′_{i−1}(𝔐_{j}^{(i−1)} · M_{G_{j}}^{(i−1)}).

Proof.– Observe that the following identities hold :

G_{t} = T̃r_{t−1}((M_{J_{t−1}}^{(t−1)})^{−1} · (M_{f_{t}}^{(t−1)})^{−1} · M_{f}^{(t−1)} · M_{Δ_{1}^{(t−1)}}^{(t−1)}),

G_{i} = T̃r_{i−1}((M_{J_{i−1}}^{(i−1)})^{−1} · (M_{f_{i}}^{(i−1)})^{−1} · M_{f}^{(i−1)} · M_{Δ_{1}^{(i−1)}}^{(i−1)}

− ∑_{j=i+1}^{t} T̃r′_{i−1}((M_{J_{i−1}}^{(i−1)})^{−1} · (M_{f_{i}}^{(i−1)})^{−1} · M_{G_{j}}^{(i−1)} · M_{f_{j}}^{(i−1)} · M_{Δ_{1}^{(i−1)}}^{(i−1)}).

At this stage let us consider the entries of the matrices 𝔐_{j}^{(i)}. For 1 ≤ i ≤ t−1 and i + 1 ≤ j ≤ t, let 𝔐_{j}^{(i)} be (𝔪_{k,l}^{(i,j)})_{1≤k,l≤D_{i}} with 𝔪_{k,l}^{(i,j)} ∈ R[Y_{1}, …, Y_{n}].

According to Lemma 80 we can compute the following list of information :

Lemma 81 With the previous notations and assumptions, there exists a non–scalar straight–line program Γ of size (tdLδ)^{O(1)} and parameters in

F ∪ {z ∈ ZZ : | z | ≤ (tdLδ)^{c}}

such that Γ evaluates the following polynomials :

• the polynomials Θ^{(i)} for 1 ≤ i ≤ t − 1, • the polynomials Θ_{j}^{(i)} for 1 ≤ i ≤ t − 1 and i + 1 ≤ j ≤ t,

• the entries of the matrices 𝔐_{j}^{(i)} for 1 ≤ i ≤ t − 1 and i + 1 ≤ j ≤ t, and

• the polynomials P_{i} for 1 ≤ i ≤ t − 1

verifying the conditions of Lemma 80 above.

Proof.– Observe that all this information is obtained by evaluating some polynomials f_{i}, f, J_{i} of Δ_{1}^{(i)} in the corresponding tensor matrices, which only depend on the input (i.e. f_{1}, …, f_{t}, f) and not on the intermediate results G_{1}, …, G_{t}, Q_{1}, …, Q_{t}.

Isolating the variable parts

Let us consider for 1 ≤ i ≤ t − 1 and i + 1 ≤ j ≤ t the matrices M_{G_{j}}^{(i)} whose entries are in F_{i}. Let us denote the entries of the matrices M_{G_{j}}^{(i)} as follows :

M_{G_{j}}^{(i)} := (z_{k,l}^{(i,j)})_{1≤k,l≤D_{i}}.

We have the following identities.

Proposition 82 With the previous notations and assumptions, we have

G_{t} = (Θ^{(t−1)})^{−1} · P_{t−1}

and for 2 ≤ i ≤ t − 1 holds

G_{i} = (Θ^{(i−1)})^{−1} · P_{i−1} − ∑_{j=i+1}^{t}(Θ_{j}^{(i−1)})^{−1}(∑_{k=1}^{D_{i−1}}(∑_{l=1}^{D_{i−1}} 𝔪_{k,l}^{(i−1,j)} · z_{l,k}^{(i−1,j)})).

Proof.– Observe simply that in the expression T̃r′_{i−1}(𝔐_{j}^{(i−1)} · M_{G_{j}}^{(i−1)}) holds :

𝔐_{j}^{(i−1)} · M_{G_{j}}^{(i−1)} = (∑_{l=1}^{D_{i−1}} 𝔪_{k,l}^{(i−1,j)} · z_{l,λ}^{(i−1,j)})

for 1 ≤ k, λ ≤ D_{i−1}.

Carrying on denominators

Additionally, we have to introduce the matrices :

• for 1 ≤ i ≤ t − 1 and r ≤ i, let us denote

M_{P_{i}}^{(r)} := P_{i}(Y_{1}, …, Y_{n−r}, (ρ^{(r)})^{−1}M_{Y_{n−r+1}}^{(r)}, …, (ρ^{(r)})^{−1}M_{Y_{n}}^{(r)}),

• for 1 ≤ i ≤ t − 1, i + 1 ≤ j ≤ t, r ≤ i and 1 ≤ k, l ≤ D_{i−1} we consider :

M_{k,l}^{(i,j,r)} := M_{𝔪_{k,l}^{(i,j)}}^{(r)} = 𝔪_{k,l}^{(i,j)}(Y_{1}, …, Y_{n−r}, (ρ^{(r)})^{−1}M_{Y_{n−r+1}}^{(r)}, …, (ρ^{(r)})^{−1}M_{Y_{n}}^{(r)}).

We have the following Lemma :

Lemma 83 With the same notations and assumptions as before, there exists a non–scalar straight–line program Γ̃ of size (tdLδ)^{O(1)} and parameters in F ∪{z ∈ ZZ : | z | ≤ (tdLδ)^{c}} such that Γ̃ evaluates the following polynomials :

i) for 1 ≤ i ≤ t − 1 and r ≤ i polynomials

α_{i}^{(r)} ∈ R[Y_{1}, …, Y_{n−r}],

ii) for 1 ≤ i ≤ t − 1, i + 1 ≤ j ≤ t, r ≤ i polynomials

β^{(i,r)} ∈ R[Y_{1}, …, Y_{n−r}],

iii) for 1 ≤ i ≤ t − 1, i + 1 ≤ j ≤ t and r ≤ i the entries in R[Y_{1}, …, Y_{n−r}]

of some D_{r} × D_{r} matrices

𝔐_{P_{i}}^{(r)},

iv) for every i, j, k, l, r with 3 ≤ j ≤ t, i + 1 ≤ j, r ≤ i and 1 ≤ k, l ≤ D_{i} the entries 𝔪_{k,l}^{(i,j,r)} in R[Y_{1}, …, Y_{n−r}] of some D_{r} × D_{r} matrices

𝔐_{k,l}^{(i,j,r)}

verifying the following identities :

M_{P_{i}}^{(r)} = (α_{i}^{(r)})^{−1} · 𝔐_{P_{i}}^{(r)},
M_{k,l}^{(i,j,r)} = (β_{j}^{(i,r)})^{−1} · 𝔐_{k,l}^{(i,j,r)}.

Proof.– Again we apply Lemma 34, noting that all the wanted information (i.e. the straight–line program that evaluates P_{j} and M_{k,l}^{(i,j)} and the geometric solution of the intermediate varieties V (f_{1}, …, f_{i}), 1 ≤ i ≤ t − 1) does not depend on the quotients G_{j} to be computed.

The straight–line programs 𝔐_{i}

Now, we have established the following recurrence rules to compute the homothesy matrices M_{G_{i}}^{(r)} :

Lemma 84 With the same notations and assumptions, we obtain that for r ≤ t − 1 holds :

M_{G_{t}}^{(r)} = (Θ^{(t−1)})^{−1}(α_{t−1}^{(r)})^{−1} · 𝔐_{P_{t−1}}^{(r)}

and for 1 ≤ i ≤ t − 1 and r ≤ i − 1 holds :

M_{G_{i}}^{(r)} = (Θ^{(i−1)})^{−1}(α_{i−1}^{(r)})^{−1} · 𝔐_{P_{i−1}}^{(r)}

− ∑_{j=i+1}^{t}(Θ_{j}^{(i−1)})^{−1}(∑_{k=1}^{D_{i−1}}(∑_{l=1}^{D_{i−1}}(β_{j}^{(i−1,r)})^{−1}𝔐_{k,l}^{(i−1,j,r)} · z_{l,k}^{(i−1,j)})).

Proof.– This follows simply by applying the previous identity, noting that z_{l,k}^{(i−1,j)} ∈ F_{i−1} ⊆ F_{r}.

With this, we have explained how to compute straight–line programs evaluating only from the input system f_{1}, …, f_{t} the parts of the polynomials G_{1}, …, G_{t} which we refered to as “coefficient” parts in the sketch of proof on page 116. We conclude from the above discussion the following :

Proposition 85 (Output of the straight–line programs 𝔐_{i}) There exists a non–scalar straight–line program Γ of size (tdLδ)^{O(1)} and parameters in F ∪ {z ∈ ZZ : | z | ≤ (tdLδ)^{c}} such that Γ evaluates directly (i.e. from the input polynomials f_{1}, …, f_{t}, f and the geometric solutions of the intermediate varieties V_{i} = V (f_{1}, …, f_{i}) for 1 ≤ i ≤ t − 1) the following information :

• Θ^{(i)} ∈ R[Y_{1}, …, Y_{n−i+1}] for 1 ≤ i ≤ t − 1,

• Θ_{j}^{(i)} ∈ R[Y_{1}, …, Y_{n−i+1}] for 1 ≤ i ≤ t − 1 and i + 1 ≤ j ≤ t,

• P_{i} ∈ R[Y_{1}, …, Y_{n}] for 1 ≤ i ≤ t − 1,

• the entries 𝔪_{k,l}^{(i,j)} ∈ R[Y_{1}, …, Y_{n}] of the matrices 𝔐_{j}^{(i)} for 1 ≤ i ≤ t − 1, i + 1 ≤ j ≤ t and 1 ≤ k, l ≤ D_{i},

• α_{i}^{(r)} ∈ R[Y_{1}, …, Y_{n−r}] for 1 ≤ i ≤ t − 1 and r ≤ i,

• β_{j}^{(i,r)} ∈ R[Y_{1}, …, Y_{n−r}] for 1 ≤ i ≤ t − 1, i + 1 ≤ j ≤ t and r ≤ i, • the entries in R[Y_{1}, …, Y_{n−r}] of the matrices 𝔐_{P_{i}}^{(r)} for 1 ≤ i ≤ t − 1

and r ≤ i, and finally

• the entries in R[Y_{1}, …, Y_{n−r}] of the matrices 𝔐_{k,l}^{(i,j,r)} for 1 ≤ i ≤ t − 1, i + 1 ≤ j ≤ t, r ≤ i and 1 ≤ k, l ≤ D_{i},

verifying :

G_{t} = (Θ^{(t−1)})^{−1}P_{t−1}
M_{G_{t}}^{(r)} = (Θ^{(t−1)})^{−1} · (α_{t−1}^{(r)})^{−1}𝔐_{P_{t−1}}^{(r)}.

and for 2 ≤ i ≤ t − 1

G_{i} = (Θ^{(i−1)})^{−1} · P_{i−1}

− ∑_{j=i+1}^{t}(Θ_{j}^{(i−1)})^{−1} · (∑_{k=1}^{D_{i−1}}(∑_{l=1}^{D_{i−1}} 𝔪_{k,l}^{(i−1,j)} · z_{k,l}^{(i−1,j)})),

M_{G_{i}}^{(r)} = (Θ^{(i−1)})^{−1}(α_{i−1}^{(r)})^{−1} · 𝔐_{P_{i−1}}^{(r)}

− ∑_{j=i+1}^{t}(Θ_{j}^{(i−1)})^{−1}(∑_{k=1}^{D_{i−1}}(∑_{l=1}^{D_{i−1}}(β_{j}^{(i−1,r)})^{−1}𝔐_{k,l}^{(i,j,r)} · z_{l,k}^{(i−1,j)}))

such that f − (G_{t}f_{t} + ⋯ + G_{i}f_{i}) ∈ (f_{1}, …, f_{i−1}) holds.

The straight–line programs 𝔐_{i} compute for 1 ≤ i ≤ t − 1 the items listed in Proposition 85 verifying the above recurrence rules for G_{i} and M_{G_{i}}^{(r)}. The total complexity of the straight–line programs 𝔐_{i} is (tdLδ)^{O(1)}.

This shows how the influence of the previously computed polynomials G_{j} for j ≥ i + 1 depends on the polynomials 𝔪_{k,l}^{(i−1,j)} and less on the entries z_{k,l}^{(i−1,j)} of the matrices M_{G_{j}}^{(i−1)}.

The straight–line programs Γ_{i}

From the recurrence rules resumed in Proposition 85 above we also obtain a way for computing the entries z_{k,l}^{(i−1,j)} of the matrices M_{G_{j}}^{(i−1)}, which will be done by the straight–line programs Γ_{i}.

We explain how to compute from the information contained in the straight– line programs 𝔐_{i} the polynomial G_{i} and how to “carry on” the denominators of G_{i} and the matrices M_{G_{i}}^{(r)}.

We define from the output of the straight–line program of Proposition 85 :

ζ_{t}^{(r)} := (Θ^{(t−1)}) · α_{t−1}^{(r)} ∈ R[Y_{1}, …, Y_{n−r}]

and we denote by μ_{k,l}^{(r,t)} ∈ R[Y_{1}, …, Y_{n−r}] the entries of the matrix 𝔐_{P_{t−1}}^{(r)}. From this we obtain denominators

z_{k,l}^{(r,t)} = (ζ_{t}^{(r)})^{−1} · μ_{k,l}^{(r,t)}.

Then, we have

G_{t} = (Θ^{(t−1)})^{−1}P_{t−1},  M_{G_{t}}^{(r)} = (ζ_{t}^{(r)})^{−1} · μ_{k,l}^{(r,t)},  𝔐_{G_{t}}^{(r)} := (μ_{k,l}^{(r,t)})_{1≤k,l≤D_{r}}.

Now, let us suppose we already have computed inductively G_{t}, …, G_{i+1} and for i + 1 ≤ j ≤ t, r ≤ j − 1 and 1 ≤ k, l ≤ D_{r} the polynomials ζ_{j}^{(r)} and μ_{k,l}^{(r,j)} in R[Y_{1}, …, Y_{n−r}] such that the following holds :

z_{k,l}^{(r,j)} = (ζ_{j}^{(r)})^{−1} · μ_{k,l}^{(r,j)},  M_{G_{j}}^{(r)} = (ζ_{j}^{(r)})^{−1} · μ_{k,l}^{(r,j)},  𝔐_{G_{j}}^{(r)} = (μ_{k,l}^{(r,j)}).

Then, for r ≤ i the polynomial G_{i} and the matrices M_{G_{i}}^{(r)} can be computed by the following recurrence rule for the polynomials ζ_{j}^{(i−1)} and μ_{k,l}^{(i−1,j)} :

\begin{aligned}G_{i} & = & (Θ^{(i−1)})^{−1} · P_{i−1} & (7.10) \\ & & − ∑_{j=i+1}^{t}(Θ_{j}^{(i−1)})^{−1} · (∑_{k=1}^{D_{i−1}}(∑_{l=1}^{D_{i−1}} 𝔪_{k,l}^{(i−1,j)} · (ζ_{j}^{(i−1)})^{−1} · μ_{k,l}^{(i−1,j)})), & (7.11) \end{aligned}

\begin{aligned}M_{G_{i}}^{(r)} & = & (Θ^{(i−1)})^{−1} · (α_{i−1}^{(r)})^{−1}𝔐_{P_{i−1}}^{(r)} − ∑_{j=i+1}^{t}(Θ_{j}^{(i−1)})^{−1} · & (7.12) \\ & & ·(∑_{k=1}^{D_{i−1}}(∑_{l=1}^{D_{i−1}}(β_{j}^{(i−1,r)})^{−1}𝔐_{k,l}^{(i,j,r)}(ζ_{j}^{(i−1)})^{−1} · μ_{l,k}^{(i−1,j)})). & (7.13) \end{aligned}

Let us observe that we have used only the information contained in Proposition 85 plus the denominators ζ_{j}^{(i−1)} and the polynomials μ_{k,l}^{(i−1,j)} computed by the recurrence rules.

Carrying on separately the denominators appearing in the above recurrence rules (7.10) and (7.12), we can obtain polynomials μ_{k,l}^{(r,i)} ∈ R[Y_{1}, …, Y_{n−r}] for r ≤ i − 1 and 1 ≤ k, l ≤ D_{r} as well as ζ_{i}^{(r)} ∈ R[Y_{1}, …, Y_{n−r}] such that the following holds :

𝔐_{G_{i}}^{(r)} = (μ_{k,l}^{(r,i)})_{1≤k,l≤D_{r}}

128 Chapter 7. Proof of Theorem 1 and for r ≤ i

M_{G_{i}}^{(r)} = ((ζ_{i}^{(r)})^{−1} · 𝔐_{G_{i}}^{(r)}.

These recurrence rules yield now a way to compute the polynomials G_{i} : Proposition 86 The straight–line program Γ_{i} evaluates from the information evaluated by the straight–line programs Γ (the polynomials f_{1}, …, f_{t}), 𝔐_{t−1}, …, 𝔐_{i} and Γ_{i+1} the following list of items :

• for i ≤ j ≤ t and r ≤ i the polynomials ζ_{j}^{(r)} and

• for i ≤ j ≤ t, r ≤ i and 1 ≤ k, l ≤ D_{r} polynomials μ_{k,l}^{(r,j)} ∈ R[Y_{1}, …, Y_{n}] such that, if we define for i ≤ j ≤ t

𝔐_{G_{j}}^{(r)} = (μ_{k,l}^{(r,j)})_{1≤k,l≤D_{r}}

the following identity holds :

M_{G_{j}}^{(r)} = (ζ_{j}^{(r)})^{−1} · 𝔐_{G_{j}}^{(r)}.

Furthermore, the straight–line program Γ_{i} evaluates the polynomials • 𝔪_{k,l}^{(i−1,j)} for i + 1 ≤ j ≤ t and 1 ≤ k, l ≤ D_{i},

• μ_{k,l}^{(i−1,j)} for i + 1 ≤ j ≤ t and 1 ≤ k, l ≤ D_{i},

• Θ̃_{i} := Θ^{(i−1)} · ∏_{j=i+1}^{t} Θ_{j}^{(i−1)} · ∏_{j=i+1}^{t} ζ_{j}^{(i−1)}

• and the polynomials P̃_{i−1} := \frac{Θ̃_{i}}{Θ^{(i−1)}} · P_{i−1}, such that defining

𝔪̃_{k,l}^{(i−1,j)} := 𝔪_{k,l}^{(i−1,j)} · μ_{k,l}^{(i−1,j)} · \frac{Θ̃_{i}}{Θ^{(i−1)} · ζ_{j}^{(i−1)}} ,

the following holds :

G̃_{i} = P̃_{i−1} − ∑_{j=i+1}^{t}(∑_{k=1}^{D_{i−1}}(∑_{l=1}^{D_{i−1}} 𝔪̃_{k,l}^{(i−1,j)})).

The iteration step has to be performed t times and hence the total complexity for the straight–line programs Γ_{i} is (tδ)^{O(1)} for each inductive step for 2 ≤ i ≤ t.

Noting that

\frac{G̃_{i}}{Θ̃_{i}} = G_{i}

holds, we apply Strassen’s Vermeidung von Divisionen method (cf. Proposition 33) to obtain from the combination of the straight–line programs 𝔐_{i} and the straight–line programs Γ_{i} a division free non–scalar straight–line program evaluating the polynomials G_{i}.

Thus, we obtain a total complexity of order (tdLδ)^{O(1)}. This concludes the proof of Theorem 1.

130 Chapter 7. Proof of Theorem 1

Proof of Theorem 2

The present Chapter 8 contains the proof of Theorem 2 from the Introduction, which we recall here :

Theorem 2 There exists a universal constant c_{2} > 0 with the following property : Let R be the ring of algebraic integers of a given number field K and f_{1}, …, f_{t}, f ∈ R[X_{1}, …, X_{n}], t ≤ n + 1 polynomials of degree at most d. Suppose we are given a division-free straight–line program Γ of size L, non–scalar depth ℓ = O(log L) and parameters in a finite set F ⊂ R such that Γ evaluates the polynomials f_{1}, …, f_{t}, f. Then there exists a divisionfree straight–line program Γ_{2} of size ((td)^{t}Lδ)^{c_{2}}, non–scalar depth O(log_{2} t + log_{2} d+log_{2} L+log_{2} δ), and parameters in F ∪{z ∈ ZZ : | z | ≤ ((td)^{t}Lδ)^{c_{2}}} ⊆ R, such that from the geometric solutions of the varieties V (f_{1}, …, f_{i}), 1 ≤ i ≤ t − 1, the straight–line program Γ_{2} evaluates polynomials h_{1}, …, h_{t} ∈ R[X_{1}, …, X_{n}] and a non–zero element b ∈ R such that holds :

bf = h_{1}f_{1} + ⋯ + h_{t}f_{t}.

Moreover, the polynomials h_{1}, …, h_{t} verify the degree bound deg(h_{i}) ≤ 3t^{2}dδ.

In what follows, we are going to show an alternative method for the computation of the polynomials a^{−1}g_{1}, …, a^{−1}g_{t} of Theorem 1. This alternative method induces a major growth of the output size (and hence of the complexity of this procedure) but permits a better control of the non–scalar depth of the straight–line program describing the output. In fact, we are going to compute polynomials h_{1}, …, h_{t} ∈ R[X_{1}, …, X_{n}] and a non–zero constant b ∈ R \ {0} such that

a^{−1}g_{i} = b^{−1}h_{i} for 1 ≤ i ≤ t,

where the non–zero integer a and the polynomials g_{1}, …, g_{t} are precisely those computed by the algorithm given in the proof of Theorem 1. The proof of Theorem 2 here uses mainly Tate’s trace formula which involves all monomials up to a certain degree ((t − 1)d in the worst case) and this implies the growth of the size. Conversely, this reduces the division procedures to an iterated matrix product (which was already considered in [Krick & Pardo, 1994] and [Krick & Pardo, 1996]). The reason for starting with the elimination polynomial (and not with the input polynomials) is mainly based on the fact that Newton’s method for complete local rings (as used in [Giusti et al., 1997a]) is not well-parallelizable. In contrast, this yields bounds for the height of the resulting polynomials which depend almost polynomially on the height and the degree of the intermediate varieties V (f_{1}, …, f_{i}).

As we are going to compute the same polynomials (up to a non–zero constant) the degree bound follows from the discussion put forward in Section 7.1.

8.1 The non–scalar depth bound

We assume the same conditions as those given at the beginning of Chapter 7. To recapitulate, let us denote by N ∈ M_{n}(ZZ) a linear change of coordinates such that :

i) the variables Y_{1}, …, Y_{n} given by

( Y_{1} ; ⋮ ; Y_{n} ) = N · ( X_{1} ; ⋮ ; X_{n} )

are in Noether position with respect to the sequence of intermediate varieties V (f_{1}, …, f_{i}) for 0 ≤ i ≤ t − 1. In other words,

A_{i} := K[Y_{1}, …, Y_{n−i}] ↪ B_{i} := K[X_{1}, …, X_{n}]/(f_{1}, …, f_{i})

is an integral ring extension for 0 ≤ i ≤ t − 1. Let us observe that A_{0} = B_{0} and V_{0} = V ((0)) holds.

ii) The matrix N = (n_{ij})_{1≤i,j≤n} describing the Noether position has coefficients n_{ij} ∈ ZZ of bounded height | n_{ij} | ≤ (ndLδ)^{c}.

iii) For every i, 1 ≤ i ≤ t − 1 we have the elimination polynomial

𝔪_{i} ∈ R[Y_{1}, …, Y_{n−i}, U_{n−i+1}, …, U_{n}][T].

In fact, 𝔪_{i} has the form 𝔪_{i} := α_{i} · T^{D_{i}} + h_{i}, with α_{i} ∈ R \ {0}, degree D_{i} = rk_{A_{i}}B_{i} and degree in T deg_{T} h_{i} ≤ D_{i} − 1. Moreover, the polynomial

α_{i}^{−1} · 𝔪_{i} ∈ K[Y_{1}, …, Y_{n−i}, U_{n−i+1}, …, U_{n}][T]

is the minimal equation over A_{i} of the generic projection

U_{i} := U_{n−i+1}X_{n−i+1} + ⋯ + U_{n}X_{n}.

We will write 𝔪_{0} = 1 when necessary.

iv) As observed in Lemma 76 before, there exists a non–scalar straight–line program Γ of size (tdδ)^{O(1)} and non–scalar depth O(log_{2} d+log_{2} δ) such that Γ computes from the coefficients (with respect to the variable T) of 𝔪_{i} the following polynomials :

(a) for 1 ≤ i ≤ t − 1 non–zero polynomials ρ^{(i)} ∈ R[Y_{1}, …, Y_{n−i}],

(b) for 1 ≤ i ≤ t−1 and n−i+1 ≤ j ≤ n the entries in R[Y_{1}, …, Y_{n−i}]

of a D_{i} × D_{i} matrix 𝔐_{j}^{(i)},

such that the matrix of the endomorphism η_{Y_{j}} : B_{i} → B_{i} is given by M_{Y_{j}}^{(i)} := (ρ^{(i)})^{−1}𝔐_{j}^{(i)}.

Let us remark that these matrices 𝔐_{j}^{(i)} and polynomials ρ^{(i)} are not exactly the same as those in the previous Section 7.2. Here we have explicitly chosen those who can be obtained from the elimination polynomial whereas in Section 7.2 they were given by the description of the primitive element. Nevertheless, as they are essentially the same objects just described in different ways, we preserved the notation introduced before.

Following the introduction of Section 7, let us consider for 1 ≤ i ≤ t − 1 the pseudo–jacobian determinant Δ^{(i)} ∈ B_{i} ⊗_{A_{i}} B_{i}. Let us also consider the set M_{i} of all monomials of degree at most i(d − 1) in the variables {Y_{n−i+1}, …, Y_{n}}. Let us denote by

M_{i} := {b_{k}^{(i)} : 1 ≤ k ≤ N_{i}}

such a set, where N_{i} is the cardinality of M_{i}. Then, there exist polynomials a_{k}^{(i)} ∈ R[Y_{1}, …, Y_{n}], 1 ≤ k ≤ N_{i} of total degree bounded by i(d−1) such that

Δ^{(i)} := ∑_{k=1}^{N_{i}} ā_{k}^{(i)} ⊗ b̄_{k}^{(i)} ∈ B_{i} ⊗_{A_{i}} B_{i},

where ¯ denotes taking residual classes in B_{i} (as before). The case i = 0 yields Δ^{(0)} = 1 ⊗ 1.

Let σ_{i} ∈ B_{i}^{∗} be the trace associated to Δ^{(i)} by Tate’s trace formula. Let us also consider F_{i} as the quotient field of A_{i}, B′_{i} = F_{i} ⊗_{A_{i}} B_{i} and σ′_{i} → F_{i} the trace obtained from σ_{i} by extending scalars. For i = 0 we consider σ_{0} = IdB_{i}, σ′_{o} = IdB′_{0}. Now, we have the following rule to compute the quotients :

G_{t} := ∑_{k=1}^{N_{t−1}} σ′_{t−1}(ā_{k}^{(t−1)} · f̄_{t}^{−1} · f̄) · b_{k}^{(t)} ∈ R[X_{1}, …, X_{n}],

Q_{t} := f − G_{t} · f_{t}.

As for 2 ≤ i ≤ t − 1, we have :

G_{i} := ∑_{k=1}^{N_{i−1}} σ′_{i−1}(ā_{k}^{(i−1)} · f̄_{i}^{−1} · Q̄_{i+1}) · b_{k}^{(i−1)} ∈ R[X_{1}, …, X_{n}],

Q_{i} := Q_{i+1} − G_{i} · f_{i}.

The case i = 1 is simply given by G_{1} = f_{1}^{−1} · Q_{2}. Now, we are going to transform this recurrence rule under the following terms : let β_{i} be the free A_{i}–module generated by the monomials in M_{i}, and β′_{i} := F_{i} ⊗_{A_{i}} B_{i}. Let us consider π_{i} : β_{i} → B_{i} and π′_{i} : β′_{i} → B′_{i} the projections given by :

π′_{i}(C_{1}, …, C_{N_{i}}) := ∑_{k=1}^{N_{i}} C̄_{k} · b̄_{k}^{(i)} ∈ B′_{i}.

The following diagram obviously commutes for every i, 1 ≤ i ≤ t − 1 :

β_{i} ↪ β′_{i}
π_{i} ↓  ↓ π′_{i}
B_{i} ↪ B′_{i}

The previous division procedure can be performed as follows : We are going to compute for every i, 2 ≤ i ≤ t − 1 some elements of the free A_{i−1}–module β_{i−1} :

(C_{1}^{(i)}, …, C_{N_{i−1}}^{(i)}) ∈ β_{i−1}

such that

G_{i} = ∑_{k=1}^{N_{i}} C_{k}^{(i)} · b̄_{k}^{(i−1)} ∈ K[Y_{1}, …, Y_{n}].

In order to perform this task, let us observe the following facts : For every i, 1 ≤ i ≤ t − 1 let f, g ∈ R[Y_{1}, …, Y_{n}] be polynomials such that f̄ | ḡ in B_{i} and f̄is not a zero divisor in B_{i}. Then, for every a ∈ K[X_{1}, …, X_{n}] we have that :

σ′_{i}(ḡ · f̄^{−1} · ā) ∈ A_{i}.

The reason is simply the following : let q ∈ K[Y_{1}, …, Y_{n}] be such that ḡ = f̄·q̄ in B_{i}. Then, since f̄^{−1} ∈ B′_{i}, we have f̄^{−1} · ḡ = q̄ in B′_{i}. Finally,

σ′_{i}(ḡ · f̄^{−1} · ā) = σ_{i}(q̄ · ā) ∈ A_{i}.

The polynomials (C_{1}^{(i)}, …, C_{N_{i−1}}^{(i)}) ∈ β_{i−1} are given by

C_{j}^{(i)} := σ′_{i−1}(ā_{k}^{(i−1)} · f̄_{i}^{−1} · Q̄_{i+1}) ∈ A_{i−1}.

Let us now consider the following sequence of objects :

• for 1 ≤ i ≤ t − 1 and 1 ≤ k ≤ N_{i} :

d_{k}^{(i)} := σ′_{i}(f_{i+1}^{−1} · a_{k}^{(i)}) ∈ K_{i},

• for 1 ≤ i ≤ t − 1, 1 ≤ k ≤ N_{i}, 1 ≤ l ≤ N_{j}, j ≥ i − 1,

e_{k,l}^{(i,j)} := σ′_{i}(b̄_{t}^{(j)} · f̄_{j+1} · f̄_{i+1}^{−1} · b_{k}^{(i)}) ∈ K_{i}.

We consider now the following matrices and column vectors :

E^{(i,j)} := (e_{k,l}^{(i−1,j)})_{{1≤k≤N_{i−1} \atop 1≤l≤N_{j}}} , and D^{(i)} := (d_{k}^{(i−1)})_{1≤k≤i−1}.

Now, suppose that we already computed the polynomials G_{t}, …, G_{r+1}, where :

G_{j} := ∑_{k=1}^{N_{i−1}} C_{k}^{(j)} · b_{k}^{(j−1)}

for r + 1 ≤ j ≤ t and C_{k}^{(j)} ∈ A_{j−1} for r + 1 ≤ j ≤ t. For the computation of the coefficients (C_{1}^{(r)}, …, C_{N_{r−1}}^{(r)}) ∈ β_{r−1} such that the following holds :

1 − (G_{t}f_{t} + ⋯ + G_{r}f_{r}) ∈ (f_{1}, …, f_{r−1}),

we proceed as follows : f_{r} is not a zero divisor in B_{r−1} and f_{r} divides the polynomial Q_{r+1}. Let h_{r} ∈ B_{r−1} be such that h_{r} · f̄_{r} = Q̄_{r+1}. Then, for every k, 1 ≤ k ≤ N_{r−1}, we have the following identity :

σ′_{r−1}(f̄_{r}^{−1} · Q̄_{r+1} · ā_{k}^{(r−1)}) = σ_{r−1}(h̄_{r} · ā_{k}^{(r−1)}) ∈ A_{r−1}.

Then, we proceed as follows :

σ′_{r−1} (f̄_{r}^{−1} · q̄_{r} · ā_{k}^{(r−1)}) = σ′_{r−1} ((\overline{1 − (g_{t}f_{t} + ⋯ + g_{r+1}f_{r+1})}) · f̄_{r}^{−1} · ā_{k}^{(r−1)})

= σ′_{r−1} (f̄_{r}^{−1} · ā_{k}^{(r−1)}) − ( ∑_{i=r+1}^{t} σ′_{r−1} (ḡ_{i} · f̄_{i} · f̄_{r}^{−1} · ā_{k}^{(r−1)}))

= σ′_{r−1} (f̄_{r}^{−1} · ā_{k}^{(r−1)}) − [ ∑_{i=r+1}^{t} σ′_{r−1} (∑_{t=1}^{N_{i−1}} C̄_{t}^{(i)} · b̄_{t}^{(i−1)} · f̄_{i} · f̄_{r}^{−1} · ā_{k}^{(r−1)})]

= d_{k}^{(r−1)} − [ ∑_{i=r+1}^{t} (∑_{t=1}^{N_{i−1}} C̄_{t}^{(i)} · σ′_{r−1} (b̄_{t}^{(i−1)} · f̄_{i} · f̄_{r}^{−1} · ā_{k}^{(r−1)}))]

= d_{k}^{(r−1)} − [ ∑_{i=r+1}^{t} (∑_{t=1}^{N_{i−1}} e_{k,t}^{(r−1,i)} · C̄_{r}^{(i)})] .

In other words, using the matricial language, we obtain for 1 ≤ r ≤ t − 1 the following linear recurrence to perform the wanted division step. It is well-known that linear recurrences can be inverted by a well-parallelizable procedure, see [Csanky, 1976]. Then, the computation of terms given by a linear recurrence can be done by a well-parallelizable procedure.

( C_{1}^{(r)} ; ⋮ ; C_{N_{r−1}}^{(r)} ) = D^{(r)} − ( ∑_{i=r+1}^{t} E^{(r,i)} · ( C_{1}^{(i)} ; ⋮ ; C_{N_{i−1}}^{(i)} )).

Let us observe that this identity holds in the vector space β′_{r−1} (since the matrices D^{(r)} and E^{(r,i)} have entries in F_{i}) but that both sides of this identity represent objects belonging to the free A_{r−1}–module β_{r−1}.

Thus, to conclude the proof of Theorem 2 we just have to show how to invert this linear recurrence. However, as in the previous proof of Theorem 1, the presence of intermediate divisions by non–constant polynomials would hide information. This leads to a procedure that combines inversion of linear recurrences together with carrying on denominators. This is what we show below.

Following the recurrence rule, we observe that there are polynomials

P_{i}(Z^{(i)}, …, Z^{(t)}, Z^{(i,i+1)}, …, Z^{i,t)}, Z^{(i+1,i+2)}, …, Z^{(t−1,t)})  (8.1)

such that for every i, 1 ≤ i ≤ t − 1,

( C_{1}^{(i)} ; ⋮ ; C_{N_{i−1}}^{(i)} ) := P_{i}(D^{(i)}, …, D^{(t)}, E^{(i,i+1)}, …, E^{(i,t)}, …, E^{(t−1,t)}) · ( C_{1}^{(t)} ; ⋮ ; C_{N_{t−1}}^{(t)} )

where P_{i} := P_{i}(D^{(i)}, …) is a matrix with entries in F_{i−1}. These polynomials P_{i} have coefficients in {−1, 0, 1} ⊆ ZZ and their monomials are of degree at most t. In fact, only a few monomials occur in this expression, since they are of the form E^{(i,j_{1})} · E^{(j_{1},j_{2})} ⋯ E^{(j_{k},j_{k+1})} where i < j_{1} < j_{2} < … < j_{k+1} < t or E^{(i,j_{1})} · E^{(j_{1},j_{2})} ⋯ E^{(j_{k},j_{k+1})} · D^{(j_{k+1})} also with i < j_{1} < j_{2} < … < j_{k+1} < t.

The obvious procedure that computes first the monomials (in the appropriate order) and then adds the results has non–scalar depth of order O(log_{2} t). However, to multiply two of these matrices we are dealing a total number of multiplications of order (max N_{i})^{O(1)} ≤ (td)^{O(t)} which yields an awful upper bound for the size.

To end this proof, we are going to see how these linear recurrences can be computed in low parallel time. Let us observe that for the computation of the matrices D^{(i)} and E^{(i,j)} we have to compute some traces of some polynomials. This can be done using the following identities :

d_{0}^{(i)} := Tr′_{i}(J̄_{i}^{−1} · f̄_{i+1}^{−1} · ā_{k}^{(i)}) and e_{k,l}^{(i,j)} := Tr′_{i}(J̄_{i}^{−1} · b̄_{t}^{(j)} · f̄_{j+1} · f̄_{i+1}^{−1} · b̄_{k}^{(i)}),

where Tr′_{i} : B′_{i} → F_{i} is the usual trace and J_{i} is the jacobian determinant of f_{1}, …, f_{i} with respect to the variables Y_{1}, …, Y_{n−i+1}. Thus, noting that deg a_{k}^{(i)} ≤ t(d − 1) and deg b_{k}^{(j)} ≤ t(d − 1), we may conclude as in Lemma 34 (i.e. carrying on denominators) that :

There exists a non–scalar straight–line program Γ of size ((td)^{t}Lδ)^{O(1)} and non–scalar depth O(log_{2} t + log_{2} d + log_{2} L + log_{2} δ) such that Γ computes from the geometric solutions of the varieties V_{1}, …, V_{t−1} the following :

i) non–zero polynomials Θ^{(i)} ∈ R[Y_{1}, …, Y_{n−i+1}] and

ii) the entries in R[Y_{1}, …, Y_{n−i+1}] of matrices D_{k}^{(i)},E^{(i,j)}

such that D_{k}^{(i)} = (Θ^{(i)})^{−1} · D_{k}^{(i)} and E^{(i,j)} = (Θ^{(i)})^{−1} · E^{(i,j)}.

Finally, the computation of the polynomials P_{i} from Equation (8.1) on page 136 is performed for each polynomial separately. We also compute the respective homogeneous components :

P_{i} := P_{i,0}^{∗} + ⋯ + P_{i,t}^{∗}.

Thus, defining Θ̃^{(i)} := ∏_{j=1}^{t} Θ^{(i)}, we conclude that for every i there exists a matrix

P̃_{i} ∈ M_{N_{t−1}}(R[Y_{1}, …, Y_{n−i+1}])

such that

( C_{1}^{(i)} ; ⋮ ; C_{N_{i−1}}^{(i)} ) = (Θ̃^{(i)})^{−1} · P̃_{i} · ( C_{1}^{(t)} ; ⋮ ; C_{N_{t−1}}^{(t)} )

and both Θ̃^{(i)} and the matrices P̃_{i} can be computed from the geometric solutions of the varieties V_{1}, …, V_{t−1} by a non–scalar straight–line program of size ((td)^{t}δ)L^{O(1)}, non–scalar depth O(log_{2} t + log_{2} d + log_{2} δ + log_{2} L) and parameters in {−1, 0, 1}.

Thus we finally conclude by performing the non–scalar arithmetic operations (that can be done in depth O(1))

G_{i} := (Θ̃^{(i)})^{−1} · (⟨P̃_{i} ( C_{1}^{(t)} ; ⋮ ; C_{N_{t−1}}^{(t)} ) , ( b_{1}^{(i−1)} ; ⋮ ; b_{N_{i−1}}^{(i−1)} )⟩)

where ⟨, ⟩ denotes the scalar product. Finally, applying the Vermeidung von Divisionen technique as in Proposition 35, we obtain the desired statement.

Applications

This Chapter recompiles the proofs of the Corollaries which were announced at the introduction and which depended on the completion of the proofs for the Theorems 1 and 2. To ease the lecture, we repeat the Corollaries literally before giving the corresponding proof.

Complexity bounds - proof of Corollary 3

Corollary 3 With the same notations and hypotheses as in Theorem 1, let ZZ be the ring of integers. Then there exists a bounded error probability Turing machine M which takes as input polynomials f_{1}, …, f_{t}, f in ZZ[X_{1}, …, X_{n}] and produces a straight–line program computing a constant a ∈ ZZ \ {0} and polynomials g_{1}, …, g_{t} ∈ ZZ[X_{1}, …, X_{n}] verifying :

af = g_{1}f_{1} + ⋯ + g_{t}f_{t}.

Moreover, the running time of M is polynomial in ndLδ.

Proof.– The Corollary claims the existence of an algorithm of polynomial time complexity in the intrinsic parameters of the problem, which computes a representation of the polynomials g_{1}, …, g_{t} with coefficients in ZZ for the arithmetic Nullstellensatz.

The algorithm developed in the sequence of papers [Krick & Pardo, 1996], [Giusti et al., 1998], [Giusti et al., 1997a], and [Morais, 1997] gives an efficient method for the computation of the geometric solutions of all intermediate varieties V (f_{1}, …, f_{i}), see Proposition 75. This, together with the method given in Chapter 7 for the computation of a straight–line program evaluating the polynomials g_{1}, …, g_{t} and the integer a yields the proof of Corollary 3. The time complexity of the Turing machine M is an immediate consequence of the size of the straight–line program exhibited in Chapter 7.

Height bounds - proof of Corollary 4

Corollary 4 There exists a universal constant c_{3} > 0 with the following property : For the constant b and the polynomials h_{1}, …, h_{t} as evaluated by the straight–line program of Theorem 2 hold the following estimates :

max{ht(b), ht(h_{1}), …, ht(h_{t})} ≤ (ndLδ)^{c_{3}}(η + ht(F)), and
max{h̃t(b), h̃t(h_{1}), …, h̃t(h_{t})} ≤ (ndLδ)^{c_{3}}(η̃ + ht(F)) holds.

Proof.– By Lemma 49 from page 69 we know that a geometric solution of every variety V (f_{1}, …, f_{i}) can be computed from the elimination polynomial of V (f_{1}, …, f_{i}) with at most (n deg V (f_{1}, …, f_{i}))^{O(1)} arithmetic operations, in depth O(log_{2} deg V (f_{1}, …, f_{i})) and using parameters in a finite set

F ⊆ {z ∈ ZZ : | z | ≤ (nd deg V (f_{1}, …, f_{i}))^{c}}.

Thus, applying Lemma 28 (Composition) from page 46, we may estimate the logarithmic and invariant heights of the polynomials in a geometric solution of (f_{1}, …, f_{i})), respectively by:

(deg V (f_{1}, …, f_{i}))^{O(1)}(ht(V (f_{1}, …, f_{i})) + log_{2} n)
(deg V (f_{1}, …, f_{i}))^{O(1)}(h̃t(V (f_{1}, …, f_{i})) + log_{2} n).

Now, using the straight–line program stated in Theorem 2 and applying the bounds of Lemmata 27 and 28 from Section 2.3 we obtain the desired bounds for the proof of Corollary 4.

Arithmetic Nullstellensatz - proof of Corollary 5

The computation of the polynomials for the arithmetic Nullstellensatz is described in detail in Chapter 6, thus presenting a proof of Corollary 5.

Membership problem - proof of Corollary 6

Corollary 6 (Membership problem for complete intersection varieties) Let R be the ring of algebraic integers of a number field K and for t ≤ n f_{1}, …, f_{t}, f ∈ K[X_{1}, …, X_{n}] polynomials of degree at most d verifying the following hypotheses : i) for 1 ≤ i ≤ t − 1 the polynomials f_{1}, …, f_{i} in K[X_{1}, …, X_{n}] generate

a variety of codimension i,

ii) the polynomial f_{t} is not a zero–divisor in the residue ring

K[X_{1}, …, X_{n}]/(f_{1}, …, f_{t−1}),

iii) the polynomial f belongs to the ideal (f_{1}, …, f_{t}) of K[X_{1}, …, X_{n}], and

iv) there exists a non–scalar straight–line program Γ of size L, non–scalar depth ℓ = O(log_{2} L) and parameters in a finite set F ⊂ R.

Then, there exist a non–zero constant a ∈ R\{0} and g_{1}, …, g_{t} ∈ R[X_{1}, …, X_{n}] such that the following properties hold :

i) af = g_{1}f_{1} + ⋯ + g_{t}f_{t},

ii) max{deg(g_{i}) : 1 ≤ i ≤ t} ≤ 3t^{2}dδ, where δ is the degree of the system f_{1}, …, f_{t},

iii) the polynomials a^{−1}g_{1}, …, a^{−1}g_{t} can be evaluated by a non–scalar straight–line program over K of size (tdLδ)^{O(1)} using parameters in F ∪ {a ∈ ZZ : | a | ≤ (tdLδ)^{O(1)}},

iv) the logarithmic height of a, g_{1}, …, g_{t} verify the following bounds :

ht(a) ≤ (tdLδ)^{O(1)}(ht(F) + η),
ht(g_{i}) ≤ (tdLδ)^{O(1)}(ht(F) + η)

where η is the (logarithmic) height of the system f_{1}, …, f_{t}, as defined in Chapter 3.

v) the invariant (logarithmic) height of the polynomials g_{1}, …, g_{t} verifies the following upper bound :

h̃t(a^{−1}g_{i}) = h̃t(g_{i}) ≤ (tdLδ)^{O(1)}ht(F) + η̃).

Proof.– Taking Proposition 74 from page 105 and the same iterative procedure as in Section 6.2 before to compute h_{i+1} from h_{1}, …, h_{i}, we easily conclude the statements of Corollary 6.

Upper bound for π_{S}: proof of Corollary 7

Corollary 7 There exists a universal constant c_{1} > 0 such that for every given system S = {f_{1}, …, f_{s}} ⊆ ZZ[X_{1}, …, X_{n}] of polynomials verifying the hypotheses of Corollary 5, the function π_{S} : IN → IN verifies the bound :

π_{S}(x) ≤ (ndLδ_{S})^{c_{1}}(ht(F) + η_{S} + log_{2} s).

Proof.– The height bound of Corollary 5 for the integer a appearing in the arithmetic Bézout Equality gives ht(a) ≤ (ndLδ_{S})^{O(1)}(ht(F) + η_{S} + log_{2} s). As we can always bound the number of possible prime divisors of a number by its (logarithmic) height, the claim of Corollary 7 follows as an immediate consequence.

Lower bound for π_{S}: proof of Theorem 10

Theorem 10 ([Morais, 1997]) For consistent systems S the following lower bound holds:

π_{S}(x) ≥ \frac{1}{δ_{S}} (π(x) − δ_{S}^{c_{1}}(n − r + η_{s})(1 + c_{2}\sqrt{x}) − δ log x) .

Proof.– The following lines give an idea of the proof, a more complete account can be found in [Morais, 1997]). Let us suppose given the system S = {f_{1}, …, f_{s}}, where the polynomials f_{1}, …, f_{s} ∈ ZZ[X_{1}, …, X_{n}] are given by a straight–line program of size L and depth ℓ. Let us also suppose, that these polynomials form a reduce regular sequence and let us denote by δ_{S} the geometric degree and by η_{S} the height of the system S.

For the proof of Theorem 10, the following results are relevant:

Lemma 87 Let x = (x_{1}, …, x_{n}) be a zero of the system S and let r be a primitive element (in the sense of Subsection 3.4) for x_{1}, …, x_{n}. Then, there exist Q_{1}, …, Q_{n} ∈ ZZ[X] and a ∈ ZZ such that x_{i} = Q_{i}(r)/a. Let R ∈ ZZ[X] be an irreducible polynomial such that R(r) = 0. If R has a root in IF_{p} and a is not zero modulo p, the system is consistent in IF_{p}.

Let now f ∈ ZZ[X] be a polynomial of degree d, Δ its discriminant and let π_{f}(x) be the number of primes p such that f has a root modulo p. Based on an effective version of Chebotarev’s Density Theorem (which assumes the Generalized Riemann Hypothesis) one can prove:

Lemma 88 ([Koiran, 1996]) There exists a universal constant c > 0 such that

π_{f}(x) ≥ \frac{1}{d}[π(x) − log_{2}Δ − cx^{1/2}log_{2}(Δx^{d})]

Once stated these results we begin the proof of Theorem 10. We first study the case s = n, that is, the zero—dimensional case. In this case we have a primitive element for the variety V defined by S, u ∈ ZZ[X_{1}, …, X_{n}], and polynomials q ∈ ZZ[T], v_{j} ∈ ZZ[T] and ρ ∈ ZZ (multiple of the discriminant of q) such that :

• q is square free and

• ρx_{j} − v_{j}(u(x_{1}, …, x_{n})) = 0 for all (x_{1}, …, x_{n}) in V.

In order to finish the proof, we remark that by Lemma 87 above we only have to estimate π_{f}(x). To do that, we simply remark that the degree of q is bounded by δ_{S} and the logarithmic height of its discriminant is bounded by δ_{S}^{O(1)}η_{S} by Theorem 50.

For the case s < n, we can reduce the situation to the zero–dimensional case by considering the fiber in a point of moderate logarithmic height (see [Giusti et al., 1997a] and [Morais, 1997] for more details).

Bounds on P_{S}(I) - proof of Corollary 8

Corollary 8 There exist universal constants c_{2}, c_{3} > 0 such that the following holds : For every given system of multivariate polynomials S = {f_{1}, …, f_{s}} ⊆ ZZ[X_{1}, …, X_{n}] verifying the hypotheses of Corollary 5, and for every finite subset I ⊆ IP we have :

i) P_{S}(I) ≥ 1 − \frac{(ht(F)+log_{2} L)(δ_{S}n2^{ℓ})^{c_{2}n}}{#(I)}

ii) P_{S}(I) ≥ 1 − \frac{2^{C(S)}}{#(I)}

where C(S) := max{c_{3} log_{2}(ndLδ_{S}), (η_{S} + ht(F) + log_{2} s)}.

Proof.– Given a bound B on the absolute value of the integer a appearing in the Nullstellensatz we know that a has at most log_{2} B many prime divisors and therefore holds

P_{S}(I) ≥ \frac{#(I) − log_{2} B}{#(I)} .

We apply Lemma 57 to the bounds for L, ℓ established in iii) of Corollary 5 to conclude claim i) of Corollary 8. Similarly, using the bound for the height of a from Corollary 5 iv), follows claim ii).

Probability - proof of Corollary 9

Corollary 9 There exist universal constants c′_{2}, c′_{3} > 0 such that the following holds : For every given system of polynomials S = {f_{1}, …, f_{s}} ⊆ ZZ[X_{1}, …, X_{n}] verifying the hypotheses of Corollary 5, we have :

i) The probability that, choosing at random a prime number p ∈ ZZ of bit length bounded by (ht(F) + log_{2} L)(δ_{S}n2^{ℓ})^{c′_{2}n} such that the modular system

f̄_{1}, …, f̄_{s} ∈ IF_{p}[X_{1}, …, X_{n}]  (9.1)

is inconsistent, is at least \frac{1}{2}.

ii) The probability that choosing at random a prime number p ∈ ZZ in the set {2, …, (ndLδ_{S})^{c′_{3}}(ht(F)+η_{S} +log_{2} s)} such that the modular system (1.6) is inconsistent, is at least \frac{1}{2}.

Proof.– Under the hypotheses of Corollary 5, the height of the integer a appearing in the Nullstellensatz is bounded by | a | ≤ (ndLδ_{S})^{O(1)}(ht(F) + η_{S} + log_{2} s), and therefore a cannot possess any prime divisors of greater height. This already yields the bound given in Corollary 7.

Now, for m := max{c′_{3} log_{2}(ndLδ_{S})), ht(F) + η_{s} + log_{2} s} holds | a | ≤ 2^{m2^{m}} which in turn, applying Lemma 58, yields claim ii) of Corollary 9. Claim i) follows as an application of Corollary 8 i).

Appendix A

Overview - Programming Activity

The straight–line program approach for the representation of more complex mathematical structures has made its way several times to successful implementations, two of them being DAGWOOD [Freeman et al., 1988], written in a LISP dialect, and, more recently, Toolkit [Rege & Canny, 1995] and FoxBox [Díaz, 1997]. The interesting point about straight–line programs also from a practical, implementation oriented point of view is the existing Time-Space Trade-off, on one side straight–line programs retain all the information while permitting a very good compression of the representation size, and on the other side one has to pay the prize in terms of increased time complexity for operations which were trivial in the other representation models (zero equivalence tests), as well as an increased complexity for the practical work of implementing this model.

This appendix tries to resume briefly the programming activities related with the implementation of (parts of) geometric elimination algorithms based on the ideas described in [Giusti & Heintz, 1993], [Krick & Pardo, 1994], [Giusti et al., 1997a] and [Bank et al., 1997].

A.1 Alcala de Henares, Spain

Thanks to the scientific collaboration between the working groups lead by J. Llovet at Alcala de Henares, a team initially formed by R. Martinez and B. Castaño started after communication with L. M. Pardo around 1994 to experiment with the implementation of a data structure suitable for the representation of straight–line programs in a computer.

A PC specific dialect of PASCAL, namely TURBO PASCAL, was chosen as a first implementation language, as it was used at the University of Alcala and the Polytechnical University of Madrid for teaching purposes. The resulting program, called TERA (as an acronym for Turbo Evaluation and Rapid Algorithms) presented the group’s first step towards more practical experience with straight–line programs.

Even though this program suffers from the limitations artificially imposed by the hardware/software combination chosen (the 640K memory boundary for standard DOS Programs effectively prevents from using matrices of size larger than 11 × 11), it has shown to yield (thanks to well optimized and craftful programming) already a surprisingly good and very competitive performance at computing the determinant and characteristic polynomial of matrices over a multivariate polynomial ring, beating in this specialized field the standard solutions offered by commercial packages for symbolic computations.

This program was presented at the TERA’96 conference together with a MS Powerpoint application explaining the technical aspects of the program, see [Castaño et al., 1996].

The program was successively extended to perform multivariate polynomial GCD computations based on linear recurrency series (as suggested in [Martínez, 1992], [Llovet et al., 1992], [Llovet et al., 1993]), these again being represented by straight–line programs. The resulting program and documentation were resumed in the form of a paper [Castaño et al., 1998].

A.2 Pamplona, Spain

At the Universidad Pública de Navarra at Pamplona, J. L. Montaña started in 1995 to work with his PhD student M. Aldaz on the implementation of straight–line programs using C++. Based on the previously obtained theoretical results, M. Aldaz soon successfully implemented a small C++ program demonstrating the feasibility of the probabilistic zero–test for straight–line programs representing integers as proposed in [Hägele & Montaña, 1997].

An extension of this program, capable of handling and performing arithmetic operations with straight–line programs representing rational numbers, was presented at TERA’96 [Aldaz, 1996], illustrating thus the point made in [Hägele, 1996a].

A.3 Palaiseau, France

The GAGE laboratory directed by M. Giusti is part of the École Polytechnique at Palaiseau, Paris, France. It is one of the outstanding institutions in

France for Symbolic Computations (http://medicis.polytechnique.fr/).

The cluster of Workstations at GAGE, maintained by J. Marchand, is one of the most well-thought and organized installations in the scientific ambience the author has seen so far.

A.3.1 Implementation : pnp

An original Maple code by B. Salvy and J. Marchand for the Berkowitz algorithm, using the internal representation structures of Maple was informally presented by M. Giusti at TERA’96.

After some benchmarks and debugging, the impulse to review the code under the direction of M. Giusti yielded after several major improvements a complete Maple package pnp for the computation of the dimension of a projective variety following the algorithm presented in [Giusti & Heintz, 1993].

The expert optimization by B. Salvy of the underlying Maple code together with the complete reorganization, transformation into a user-friendly Maple package and documentation [Lecerf, 1997], creation of perl scripts for the automation of benchmarking by G. Lecerf as well as the use of the external program gb for Gröbner basis computations [Lecerf & Schost, 1997] resulted in the projective Noether package [Lecerf, 1997], a report on benchmarks is available as [Giusti et al., 1997b].

A.3.2 Ongoing work

The positive experience with the Maple package pnp motivated the team at Palaiseau to continue their efforts and currently G. Lecerf is working on his PhD thesis under the direction of M. Giusti and B. Salvy with the objective of both implementing and improving the elimination algorithm presented in [Giusti et al., 1997a]. A first prototype was demonstrated during a visit to Santander in December 1997.

A.4 Santander, Spain

Communication

At Santander, the author has made an effort since 1995 to establish within the group a more efficient use of the available computer technology :

i) a mailing list tera@hilbert.matesco.unican.es to facilitate the communication within the group,

  ii) a ftp server ftp://hilbert.matesco.unican.es/pub/tera/ to offer

publications and preprints in electronic form to the public (covering most related publications of the involved scientists since 1987), a Bib-TeX database covering 500+ related publications,

iii) a collection of WWW pages on the Internet for the group’s presentation, publications, recent preprints, and announcements,

     http://hilbert.matesco.unican.es/tera/

iv) and due to (still existing) problems with Internet connectivity, two

     mirror sites at http://medicis.polytechnique.fr/tera/ in France
     and http://www.dm.uba.ar/tera/ in Argentina.

Organisation

During a visit of G. Matera from the University of Buenos Aires in 1996 to Santander, the discussions with the author lead to a more implementationoriented analysis of the elimination algorithm [Giusti et al., 1997a]. This analysis together with the reflections on the necessary amount of organisation and introduction of applied computer science (involving software engineering, documentation and programming techniques) were resumed in a note [Hägele & Matera, 1996] for internal communication.

During his visit to Buenos Aires in 1997, the author also considered the possible hardware and software requirements for the local implementation work and designed a flexible plan for the acquisition and management of a Linux based local network suitable for the group at Buenos Aires.

A.4.1 Implementation : slp

During the summer of 1996, the author spent two months on programming to collect some more practical experience with the problems and possibilities of implementing straight–line programs. Given the results previously obtained by the teams in Alcala and Pamplona, a few conclusions were drawn from the existing implementations :

• The choice of a generally available, portable programming language free of artificial restrictions on the amount of memory was considered important. The observation that in the C program by A. Rege [Rege & Canny, 1995] a major part of the programming effort was spent on emulating the (missing) dynamic binding by a cleverly devised function dispatcher, influenced towards a more object-oriented programming language such as C++.

• It would be desirable to produce not just a program, but rather a selfexplanatory demonstration of how to implement straight–line programs on a computer. This work should consist of a freely available source code and a reasonable manual which would serve for both interested users and potentially interested programmers, giving an introduction and a discussion of the technical problems at the same time.

• Considering that the potential user of the program would probably be rather a mathematician than a computer scientist with programming experience, the ease-of-use became more important.

All this finally led to the decision to implement the program in the form of a C++ class library slp, which was made available on the Internet, see [Hägele, 1996b]. The source code contains the full documentation which is automatically extracted to generate the manual. The user interface hides as far as possible the internal details of the implementation, offering a complete range of overloaded arithmetic functions, allowing thus a more intuitive use. The internal representation of the straight–line programs is based on the approach suggested in [Krick & Pardo, 1994], [Krick & Pardo, 1996], translating literally the explicit representation given by a formal enumeration scheme into code.

This implementation approach has been taken up again by Ta-Jen Fu from the University of Buenos Aires in 1997 for his modification of the existing Class Library slp, using hash techniques to improve the overall performance.

Nevertheless, the observations made by the author in 1996 during his implementation work (as stated in the manual of the program), already indicated that the explicit representation for straight–line programs was most probably not the right approach for a successful implementation of the elimination algorithm.

A.5 Argentina

A.5.1 Time-Space Tradeoff : San Luis

During a visit of J. M. Turull to Santander, L. M. Pardo pointed out that the crucial point for the implementation of elimination algorithms is a good control of the time-space tradeoff which is caused by the choice of datastructures and algorithms used, and that this could be achieved by algorithms of uniform space requirements. Later on, a team at San Luis, Argentina, explored the possibilities of optimizing the space requirements of straight– line programs.

The idea consists in a skillful manipulation of boolean circuits by means of a special programming technique which takes care of the log^{2}–space uniformity of the underlying algorithms (see [Borodin, 1977], [Borodin et al., 1983], [Mayr, 1989], [Matera & Turull, 1997], [Matera, 1997]).

The program, realized by A. Grosso, N. Herrera, J.M. Turull, G. Matera and M.E. Stefanoni [Grosso et al., 1996] has the desired log^{2}–space behaviour, but the price of this approach is the excessively high computation time the user is obliged to pay for running this kind of programs. This observation is confirmed by [Ja’Ja’, 1983], [TERA Development Group, 1997].

A.5.2 Documentation : Buenos Aires

Part of the note [Hägele & Matera, 1996] written by G. Matera and the author in 1996 formed the basis from which the author extended his design [Hägele, 1997a] for straight–line programs during his stay at the University of Buenos Aires in 1997.

This note gave also rise to the documentation scheme [Hägele, 1997b] currently followed by the group at Buenos Aires working on a precise description of the individual algorithmic steps in terms of straight–line programs [TERA Development Group, 1998].

A.5.3 Implementation : milonga

Coming from the functional programming language school of Miranda, Gofer and Haskell rather than the imperative programming language school of FORTRAN, PASCAL or C, N. Bruno, graduate student from the University of Córdoba, Argentina, and his thesis advisor, R. Wachenchauzer from the University of Buenos Aires have contributed in many interesting discussions in September 1997 to the author’s understanding of the computational possibilities of modern functional programming languages.

In the design paper [Hägele, 1997a], the author discusses two different possible approaches for the implementation of the abstract data type described : One by stack machines and the other by a recursive, functional tree representation. The discussions with N. Bruno and his ongoing work using Gofer and Haskell pointed out an interesting approach, the author’s only major worry was the lack of control due to the underlying memory management model.

N. Bruno presented in 1998 his Master’s Thesis on milonga, a complete programming language suitable for the development of algorithms based on the straight–line program representation approach [Bruno, 1998]. As the next step, a precise study of the practical behaviour (and the differences from the theoretical model) of using milonga for the implementation of some of the algorithmic ingredients [TERA Development Group, 1998] of the elimination algorithm [Giusti et al., 1997a] is planed.

152 Appendix A. Overview - Programming Activity

Reference table of degree definitions

Symbol  Name  Page
deg(P)  total degree of P  18
deg(V)  geometric degree of V  57
deg(V, N) degree of V with respect to N  65
δ(g_{1}, …, g_{t}) geometric degree of the sequence g_{1}, …, g_{t}  94
δ_{S}  geometric degree of a system S  95

Reference table of height definitions

Symbol  Name  Page
H_{ν}(F)  height of a finite set F with respect to | · |_{ν}  21
H_{ν}(P)  height of a polynomial P with respect to | · |_{ν}  20
ht_{ν}(F)  logarithmic height of F with respect to | · |_{ν}  21
ht_{ν}(P)  logarithmic height of P with respect to | · |_{ν}  21
H(\underline{a})  height of a projective point  24
H_{0}(F)  height of F at finite distance  24
H_{1}(F)  height of F at infinite distance  24
ht(F)  logarithmic height of F  25
H_{1}(P)  height of a polynomial P  25
ht(P)  logarithmic height of a polynomial P  25
h̃t(P)  invariant logarithmic height of a polynomial P  26
ht(V, N)  height of V with respect to N  65
h̃t(V, N)  invariant height of V with respect to N  65
ht(V)  height of V  65
h̃t(V)  invariant height of V  65
η(h_{1}, …, h_{t}) logarithmic height of a sequence  95
η̃(h_{1}, …, h_{t}) invariant logarithmic height of a sequence  95
η_{S}  logarithmic height of a system S  95
η̃_{S}  invariant logarithmic height of a system S  95

Symbol Index

⟨·, ·⟩, hermitian product, 18 | · |, absolute value, 20 | · |_{ν}, absolute value, 18

A is K[X_{1}, …, X_{r}] , 59 a, an integer, 1 A′_{1} is K(T_{1}, …, T_{s})[Y_{1}, …, Y_{n−i−1}],

101 A_{i} is K[Y_{1}, …, Y_{n−i}], 110 a_{m}, pol. in A[X_{1}, …, X_{n}], 83 A′ is K(T_{1}, …, T_{s}) ⊗_{K} A, 100 A[T] is A[T_{1}, …, T_{s}], 104 A_{u} is A[U_{r+1}, …, U_{n}], 60

B is K[V], 59 b, an algebraic integer, 7 B_{i} is K[Y_{1}, …, Y_{n}]/(f_{1}, …, f_{i}), 110 B′_{i} is F_{i} ⊗_{A_{i}} B_{i}, 110 B_{i}^{∗} is Hom_{A_{i}}(B_{i}, A_{i}), 110 (B′_{i})^{∗} is Hom_{F_{i}}(B′_{i}, K_{i}), 110 B̃_{i} is B_{i}[Y_{n−i+1}, …, Y_{n}], 111 B̃′_{i} is B′_{i}[Y_{n−i+1}, …, Y_{n}], 111 b_{m}, pol. in A[Y_{1}, …, Y_{n}], 83 B′ is F ⊗_{A} B, 59 B′ is K(T_{1}, …, T_{s}) ⊗_{K} B, 100 B^{∗} is Hom_{A}(B, A), 82 B[T] is A[T_{1}, …, T_{s}] ⊗_{A} B, 104 B_{u} is B[U_{r+1}, …, U_{n}], 60 B′_{u} is F_{u} ⊗_{F} B′, 60

χ_{g}, char. pol. of M_{g}, 59 χ_{h}, char. pol. of M′_{h}, 101 χ_{u}, char. pol. of η_{U}, 60 c_{m}, pol. in A[X_{1}, …, X_{n}], 83 C_{U}, leading coefficient of 𝔪_{U}, 61 C_{u}, leading coefficient of 𝔪_{u}, 90

D, rank of K[V] over A, 61

d, degree, 3

deg(P), total degree of P, 18 deg(V), geometric degree of V, 57 deg(V, N), degree of V with respect

to N, 65 Δ, pseudo–jacobian determinant, 52 Δ_{1}, a pol. in A[X_{1}, …, X_{n}], 85 Δ_{i}, a pseudo–jacobian, 110 Δ_{1}^{(i)}, a pseudo–jacobian in B̃′_{i}, 111 δ(g_{1}, …, g_{t}), geometric degree of the

sequence g_{1}, …, g_{t}, 6

δ(h_{1}, …, h_{t}), geometric degree of

the sequence h_{1}, …, h_{t}, 94 δ_{S}, geometric degree of a system S,

9, 95 D_{i} is deg(V_{i}), 108

η_{Δ}, the endomorphism of multiplication (e.o.m.) by Δ in B̃′_{i}, 117

η_{f}, the e.o.m. by f in B, 101

η′_{f}, the e.o.m. by f in B′, 101
η_{g}, the e.o.m. by g in B′_{i}, 117

η_{g}, the e.o.m. by g in K[V], 58 η_{G_{j}}, the e.o.m. by G_{j} in B′_{i}, 122 η_{H}, the e.o.m. by H in B[T], 104

η′_{h}, the e.o.m. by h in B′, 101
η′_{J}, the e.o.m. by J in B′_{1}, 102

η(h_{1}, …, h_{t}), logarithmic height of a sequence, 95 η̃(h_{1}, …, h_{t}), invariant logarithmic

height of a sequence, 95 η_{S}, logarithmic height of a system

S, 9, 95 η̃_{S}, invariant logarithmic height of

a system S, 9, 95 η_{U}, an endomorphism, 60

F is K(X_{1}, …, X_{r}), the quotient

field of A, 59 F, a finite set of parameters, 8 f_{1}, …, f_{n}, polynomials, 1 F_{1} is det(M_{h}), 102 F_{2} is det(M′_{J}), 102 F_{i}, the quotient field of A_{i}, 110 F_{u} is F [U_{r+1}, …, U_{n}], 60

G, a pol. in K[T_{1}, …, T_{s}], 99 G, a regular morphism, 59 ḡ, residual class of g, 58 g_{1}, …, g_{n}, polynomials, 1 G_{1}, …, G_{t}, pol. in K[X_{1}, …, X_{n}],

111 g_{1}, interpolation polynomial, 81 G̃_{1}, …, G̃_{t}, pol. in R[Y_{1}, …, Y_{n}],

118 Γ, a straight–line program, 36 G, a directed acyclic graph, 36

H_{0}(F), height of F at finite dis-

tance, 24 h_{1}, …, h_{n}, polynomials, 7 H_{1}(F), height of F at infinite dis-

tance, 24 H_{1}(P), height of a polynomial P,

25 H(\underline{a}), height of a projective point,

24 H_{G}, a hypersurface, 59 H_{ν}(F), height of F with respect to

| · |_{ν}, 21 H_{ν}(P), height of P with respect to

| · |_{ν}, 20 ht(F), logarithmic height of F, 8,

25 ht_{ν}(F), logarithmic height of F with respect to | · |_{ν}, 21 ht_{ν}(P), logarithmic height of P with respect to | · |_{ν}, 21 ht(P), logarithmic height of a poly-

nomial P, 25 h̃t(P), invariant logarithmic height of a polynomial, 26

ht(V), height of V, 65

h̃t(V), invariant height of V, 65 ht(V, N), height of V with respect

to N, 65 h̃t(V, N), invariant height of V with respect to N, 65

I, a set of primes, 12

J, Jacobian determinant, 52, 102, 111

K, a number field, 6

IK, an algebraic closure of K, 18 K_{ν}, completion of K, 19 IK_{ν}, algebraic closure of K_{ν}, 19 K_{p}, an algebraic closure of IF_{p}, 1 K[V], reduced residue ring, 54

L, size of a straight–line program,

37 ℓ, depth of a straight–line program,

37 (λ_{i+1,1}, …, λ_{i+1,s}), a point in ZZ^{s},

104 λ_{ij}, integers, 105 l_{jk}, polynomials, 83

M(P), Mahler measure of a polynomial, 22 m(P), logarithmic Mahler measure,

22 M_{Δ_{1}} is a matrix, 90 M_{Δ_{1}}, a matrix in R[X_{1}, …, X_{n}],

90 M_{Δ}^{(i)}, the matrix of the endomor-

phism η_{Δ}, 117 M_{f} is a matrix, 90 M_{f}, matrix of the endomorphism,

101 M_{f}, a matrix in R[X_{1}, …, X_{n−t}],

90 M′_{f}, matrix of the endomorphism,

101 M_{g} is a matrix, 90 M_{g}, matrix of the e.o.m. by g in

K[V], 58 m_{g}, min. pol. of M_{g}, 59 M_{g}, a matrix in R[X_{1}, …, X_{n−t}],

90 M_{g}^{(i)}, the matrix of the endomor-

phism η_{g}, 117 M_{G_{j}}^{(i)}, the matrix of the e.o.m. by

G_{j} in B′_{i}, 122 M′_{h}, matrix of the endomorphism,

101 M^{(i)}, matrices over R[Y_{1}, …, Y_{n}],

121 M_{i}, a set of monomials, 110 M_{j}^{(i)}, matrices over R[Y_{1}, …, Y_{n}],

121 M_{J} is a matrix, 90 M_{J}, a matrix in R[X_{1}, …, X_{n−t}],

90 M′_{J}, the matrix of the endomor-

phism, 102 M_{K}, a proper set of absolute values

on K, 19 M_{n}(K), n × n matrices over K, 55 M_{ν}(P), Mahler measure of P with

respect to ν, 23 m_{ν}(P), logarithmic Mahler measure

of P with respect to ν, 23 M_{u}, companion matrix of 𝔪_{u}, 62 μ, a multi-index, 18 m_{u}, specialisation of 𝔪_{U} in u_{r+1}, …, u_{n},

69 𝔪_{U}, min. pol. of η_{U}, 60 M_{X_{i}}, tensor matrix, short M_{i}, 58

N, a matrix of Noether position,

55 N_{i}, the cardinality of M_{i}, 110 N (V), set of matrices of Noether

positions, 55 N_{R}(V), set of matrices of Noether

positions over R, 55 N_{ZZ}(V), set of matrices of Noether

positions over ZZ, 55 ν, valuation, 18 n_{ν}, degree of K_{ν}, 19 N(V), set of matrices of Noether

positions of controlled height, 65

P, a pol. in R[Y_{1}, …, Y_{r}][T], 63 p, a prime number, 1 P_{1}, the determinant of the matrix

of η_{H}, 104 𝔭, a prime ideal, 98 Φ_{i}, a morphism from U_{i} to IK^{s−1},

98 p_{i}, the minimal equation of η_{u_{i}}, 64,

109 π_{S}, 2 P_{S}(I), a density function, 12 P_{u}, a pol. in R[X_{1}, …, X_{r}][T], 69

𝔮, a prime ideal, 99 q, polynomial, 86 Q_{1}, …, Q_{t}, pol. in K[X_{1}, …, X_{n}], q_{1}, polynomial, 86

R, the ring of algebraic integers of

K, 6 ρ_{Δ_{1}}, a pol. in R[X_{1}, …, X_{n−t}], 90 ρ_{f}, a pol. in R[X_{1}, …, X_{n−t}], 90 ρ_{g}, a pol. in R[X_{1}, …, X_{n−t}], 90 ρ_{i}, pol. in K[X_{1}, …, X_{r}], 62 ρ_{J}, a pol. in R[X_{1}, …, X_{n−t}], 90 R_{u} is R[U_{r+1}, …, U_{n}], 60

S, a system of polynomials, 1 S, the set of archimedean absolute

values in M_{K}, 19 σ, a canonical trace on B, 83 σ′, extension of σ to B′, 86 σ_{i}, a canonical trace on B_{i}, 110 σ′_{i}, extension of σ_{i} to B′_{i}, 111 σ_{ν}, embedding of K in C, 20

T_{1}, …, T_{s}, variables, 97 \underline{t} = (t_{1}, …, t_{s}), a point in ZZ^{s}, 101 t_{1}, …, t_{s}, elements of K, 98 τ, an element of Hom_{A}(B, A), 82 Θ, a pol. in R[X_{1}, …, X_{n−t}], 88 Θ^{(i)}, pol. in R[Y_{1}, …, Y_{n−i+1}], 121 Θ_{j}^{(i)}, pol. in R[Y_{1}, …, Y_{n−i+1}], 121 Θ̃_{1}, …, Θ̃_{t}, pol. in R[Y_{1}, …, Y_{n}],

118 Tr, standard trace on B, 83 T̃r, extension of Tr, 85 T̃r′, extension of T̃r, 87 T̃r_{i}, standard trace on B̃_{i}, 111 T̃r′_{i}, extension of T̃r_{i} to B̃′_{i}, 111

U, a regular mapping, 61 U, a linear form, 60 u, a linear form, 61 ū, class of u modulo I(V), 61 U_{i}, subsets of V, 98 u_{i}, a primitive element, 64, 109 U_{r+1}, …, U_{n}, variables, 60 u_{r+1}, …, u_{n}, algebraic numbers in

R, 61

V_{i} is V (f_{1}, …, f_{i}), 108

v_{i}, pol. in K[X_{1}, …, X_{r}, T], 62

wt(P), weight of a polynomial, 18 wt_{ν}, weight with respect to | · |_{ν}, 21

X_{1}, …, X_{n}, variables, 1

x_{1}, …, x_{n}, complex numbers, 1

Y_{1}, …, Y_{n}, variables, 46 \underline{y}_{1}, a point in ZZ^{n−i}, 102 \underline{y}_{2}, a point in ZZ^{n−i}, 102

z_{i}, a projection, 68

Index

Bertini, 98 Bezout

identity, 1 inequality, 57 number, 57

canonical parametrization, 62 complete intersection variety, 55 correct test sequence, 76

degree geometric, 6, 9, 57, 94 of V with respect to N, 65 of a system S, 95 total, 18

description of K[V], 58

alternative, 59 determinant

Jacobian, 52 pseudo–jacobian, 52

elimination polynomial, 𝔪_{U}, 61 endomorphism of multiplication, 58

matrix of the, 58

formula alternative trace, 85 trace, 84 Weil’s product, 19

general position, 94 generic projection, 53 geometric degree

of affine algebraic varieties, 57 geometric solution, 59, 62 geometric solving, 58 Gorenstein, 81

height of a projective point, 24 of F, 24 of F with respect to | · |_{ν}, 21 of P with respect to | · |_{ν}, 20 of P, H_{1}(P), 25 of V, 65 of V with respect to N, 65

interpolation, 81 interpolation polynomial, g_{1}, 81 invariant

height of V, 65 height of V with respect to N,

65 logarithmic height, 26

logarithmic

height of F with respect to | · |_{ν},

21 height of F, ht, 25 height of P with respect to | · |_{ν},

21 height of a polynomial, ht(P),

25 Mahler measure of P with re-

spect to ν, 23

Mahler measure M(P), 22 logarithmic, m(P), 22 of P with respect to ν, 23 monomial basis, 81

Noether normalisation

of controlled height, 65 Noether position, 54 Nullstellensatz, 1, 10

Pasodoble effect, 114 primitive element, u, 61 problem

consistency, 1, 75 division, 86 interpolation, 81 membership, 11, 75 radicality, 75 rational reconstruction, 40 smoothness, 75 transversality, 75 zero-equivalence, 73

regular sequence, 52 representation

dense, 18 straight–line program, 36

residual class of a polynomial, 58

straight–line program, 36 depth of, ℓ, 37 non–scalar, 36 size of, L, 37

tensor matrices, M_{i}, 58 trace, 83

canonical, σ, 83 standard, Tr, 83

Turing machine deterministic, 30 non–deterministic, 31

variety complete intersection, 53 intermediate, V_{i}, 108 weight with respect to | · |_{ν}, 21 weight, wt, 18 witness, 78

Bibliography 161

Bibliography

[Aho et al., 1974] A. V. Aho, J. E. Hopcroft & J. D. Ullman. The design and analysis of computer algorithms. Addison–Wesley, 1974.

[Aldaz, 1996] M. Aldaz. Implementación de números racionales mediante la estructura de datos straight–line program. In: M. Giusti, J. Heintz & L. M. Pardo, eds., Proceedings of TERA’96. Universidad de Cantabria, Facultad de

Ciencias, http://hilbert.matesco.unican.es/tera/, Santander, Spain,

1996.

[Aldaz et al., 1996] M. Aldaz, J. Heintz, G. Matera, J. L. Montaña & L. M. Pardo. Time-Space Tradeoffs in algebraic complexity theory. preprint, Universidad de Cantabria, Santander, Spain, 1996.

[Almeida et al., 1998] M. Almeida, L. D’Alfonso & P. Solernó. On the degrees of bases of free modules over a polynomial ring. Math. Zeitschrift, to appear, pages 1–24, 1998.

[Alonso et al., 1996] M. E. Alonso, E. Becker, M.-F. Roy & T. Wörmann. Zeroes, multiplicities and idempotents for zerodimensional systems. In: Algorithms in Algebraic Geometry and Applications. Proceedings of MEGA’94, volume 142 of Progress in Mathematics, pages 1–15. Birkhäuser, 1996.

[Armendáriz & Solernó, 1995] I. Armendáriz & P. Solernó. On the computation of the radical of polynomial complete intersection ideals. In: G. Cohen, H. Giusti & T. Mora, eds., Applied Algebra, Algebraic Algorithms and Error Correcting Codes. Proceedings of AAECC-11, volume 948 of LNCS, pages 106–119. Springer, 1995.

[Baase, 1978] S. Baase. Computer algorithms : Introduction to design and analysis. Addison–Wesley, 1978.

[Balcázar et al., 1988] J. L. Balcázar, J. Díaz & J. Gabarró. Structural complexity I, volume 11 of EATCS. Springer, 1988.

[Bank et al., 1997] B. Bank, M. Giusti, J. Heintz, R. Mandel & G. Mbakop. Polar Varieties and Efficient Real Equation Solving: The Hypersurface Case. J. of Complexity, 13(1):5–27, 1997.

[Becker et al., 1996] E. Becker, J. P. Cardinal, M. F. Roy & Z. Szafraniec. Multivariate Bezoutians, Kronecker symbol and Eisenbud-Levine formula. In: Algorithms in Algebraic Geometry and Applications. Proceedings of MEGA’94, volume 142 of Progress in Mathematics, pages 79–104. Birkhäuser, 1996.

[Belaga, 1961] E. G. Belaga. Evaluation of Polynomials of one variable with preliminary preprocessing of the coefficients. In: A. Lyapunov, ed., Problems of Cybernetics, volume 5, pages 1–13. 1961.

[Berenstein & Yger, 1991a] C. Berenstein & A. Yger. Effective Bézout identities in Q[X_{1}, …, X_{n}]. Acta. Math., 166:69–120, 1991.

[Berenstein & Yger, 1991b] C. Berenstein & A. Yger. Une Formule de Jacobi et ses conséquences. Ann. Sci. E.N.S., 24(4):363–377, 1991.

[Berkowitz, 1984] S. J. Berkowitz. On Computing the determinant in small parallel time using a small number of processors. Information Processing Letters, 18:147–150, 1984.

[Berlekamp, 1970] E. R. Berlekamp. Factoring Polynomials over large finite fields. Math. Comp., 24:713–735, 1970.

[Bini & Pan, 1994] D. Bini & V. Pan. Polynomial and matrix computations. Progress in theoretical computer science. Birkhäuser Boston–Basel–Berlin, 1994.

[Blum et al., 1995] L. Blum, F. Cucker, M. Shub & S. Smale. Complexity and Real Computation: A Manifesto. Technical Report ICSI-TR-95-042, International Computer Science Institute, Berkeley, CA, 1995.

[Blum et al., 1997] L. Blum, F. Cucker, M. Shub & S. Smale. Real Complexity and Computation. Manuscript, to appear in Springer Verlag, 1997.

[Bompadre et al., 1997] A. Bompadre, A. Cafure, K. Hägele, G. Matera & A. Waissbein. Some remarks on the time–space tradeoff of geometric elimination procedures. preprint, Universidad de Buenos Aires, Argentina, 1997.

[Borodin, 1977] A. Borodin. On Relating Time and Space to Size and Depth. SIAM J. on Comp., 6:733–744, 1977.

[Borodin et al., 1983] A. Borodin, S. Cook & N. Pippenger. Parallel Computation of well-endowed Rings and space-bounded probabilistic machines. Inf. Control, 58:113–136, 1983.

[Borodin & Munro, 1972] A. Borodin & J. Munro. The Computational Complexity of Algebraic and Numeric Problems. Elsevier, 1972.

[Borodin et al., 1982] A. Borodin, J. von zur Gathen & J. Hopcroft. Fast parallel matrix and gcd computations. In: Proceedings 23rd. Ann. Symp. FOCS, pages 65–71. 1982.

[Brassard & Bratley, 1988] G. Brassard & P. Bratley. Algorithmics: Theory and Practice. Prentice-Hall, 1988.

[Brownawell, 1987] D. W. Brownawell. Bounds for the Degree in the Nullstellensatz. Annals of Math., 126:577–591, 1987.

[Bruno, 1998] N. Bruno. Esquemas de compilación de circuitos aritméticos uniformes descriptos por medio de funciones generatrices. Master’s thesis, FaMAF, Universidad de Córdoba, Argentina, 1998.

[Bürgisser et al., 1997] P. Bürgisser, M. Clausen & M. A. Shokrollahi. Algebraic Complexity Theory. Springer, 1997.

[Caniglia et al., 1988] L. Caniglia, A. Galligo & J. Heintz. Borne simple exponentielle pour les degrés dans le théorème des zéros sur un corps de charactéristique quelconque. C. R. Acad. Sci. Paris, 307:255–258, 1988.

[Caniglia et al., 1989] L. Caniglia, A. Galligo & J. Heintz. Some new effectivity bounds in computational geometry. In: T. Mora, ed., Applied Algebra, Algebraic Algorithms and Error Correcting Codes. Proceedings of AAECC-6, volume 357 of LNCS, pages 131–152. Springer, 1989.

[Caniglia et al., 1991] L. Caniglia, A. Galligo & J. Heintz. Equations for the projective closure and effective Nullstellensatz. Discrete Applied Mathematics, 33:11–23, 1991.

[Cardinal, 1993] J. P. Cardinal. Dualité et algorithmes itératives pour la solution des systèmes polynomiaux. Ph.D. thesis, Université de Rennes I, France, 1993.

[Castaño et al., 1998] B. Castaño, J. Heintz, J. Llovet & R. Martínez. On the data–structure straight–line program and its implementation in symbolic computation. Manuscript, submitted to JSC, 1998.

[Castaño et al., 1996] B. Castaño, J. Llovet & R. Martínez. Polynomials, matrices and algorithms with straight–line programs. In: M. Giusti, J. Heintz & L. M. Pardo, eds., Proceedings of TERA’96, pages 12–14. Universidad de Cantabria, Facultad de Ciencias,

http://hilbert.matesco.unican.es/tera/, Santander, Spain, 1996.

[Castro et al., 1998] D. Castro, K. Hägele, J. L. Montaña & L. M. Pardo. Probabilistic zero test for elimination polynomials. preprint, 21 pages, 1998.

[Chistov, 1986] A. Chistov. Polynomial complexity algorithm for factoring polynomials and constructing components of a variety in subexponential time. J. of Soviet Mathematics, 34, 1986.

[Chistov, 1985] A. L. Chistov. Fast parallel calculation of the rank of matrices over a field of arbitrary characteristic. Lecture Notes in Computer Science, 199:63–69, 1985.

[Cohen, 1993] H. Cohen. A Course in Computational Algebraic Number Theory. Springer, 1993.

[Collins & Encarnación, 1995] G. E. Collins & M. J. Encarnación. Efficient Rational Number Reconstruction. Journal of Symbolic Computation, 20(3):287– 297, 1995.

[Collins & Encarnación, 1996] G. E. Collins & M. J. Encarnación. Improved Techniques for Factoring Univariate Polynomials. Journal of Symbolic Computation, 21(3):313–??, 1996.

[Cook, 1971] S. A. Cook. The complexity of theorem-proving procedures. In: Proceedings of the Third Annual ACM Symposium on Theory of Computing, pages 151–158. 1971.

[Csanky, 1976] L. Csanky. Fast parallel matrix inversion algorithms. SIAM Journal of Computing, 5(4):618–623, 1976.

[Cucker et al., 1995] F. Cucker, M. Karpinski, P. Koiran, T. Lickteig & K. Werther. On Real Turing Machines that Toss Coins. In: Proceedings of the Twenty-Seventh Annual ACM Symposium on Theory of Computing, pages 335–342. 1995.

[De Millo & Lipton, 1978] R. A. De Millo & R. J. Lipton. A probabilistic remark on algebraic program testing. Inf. Proc. Letters, 7(4):193–195, 1978.

[Díaz, 1997] A. L. Díaz. FoxBox: a System for Manipulating Symbolic Objects in Black Box Representation. Ph.D. thesis, Dept. Computer Science, Rensselaer Polytechnic Institute of Technology, Troy, NY, 1997.

[Dixon, 1982] J. Dixon. Exact solution of linear equations using p-adic expansions. Numer. Math., 40:137–141, 1982.

[Dubé, 1993] T. W. Dubé. A combinatorial proof of Effective Nullstellensatz. J. Symb. Comp., 15:277–296, 1993.

[Fitchas & Galligo, 1990] N. Fitchas & A. Galligo. Nullstellensatz effectif et Conjecture de Serre (Théorème de Quillen-Suslin) pour le Calcul Formel. Math. Nachr., 149:231–253, 1990.

[Fitchas et al., 1995] N. Fitchas, M. Giusti & F. Smietanski. Sur la complexité du théorème des zéros. In: J. Guddat, ed., Approximation and Optimization in the Caribbean II, Proceedings 2nd Int. Conf. on Non-Linear Optimization and Approximation, volume 8 of Approximation and Optimization, pages 247–329. Peter Lange Verlag, Frankfurt am Main, 1995.

[Freeman et al., 1988] T. S. Freeman, G. M. Imirzian, E. Kaltofen & L. Yagati. DAGWOOD - A System for Manipulating Polynomials Given by Straight-Line Programs. ACM Transactions on Mathematical Software, 14(3):218– 240, 1988.

[Fulton, 1984] W. Fulton. Intersection Theory. Number 3 in Ergebnisse der Mathematik. Springer, 2nd edition, 1984.

[Garey & Johnson, 1979] M. Garey & D. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, San Francisco, 1979.

[Gill, 1972] J. Gill. Probabilistic Turing Machines and Complexity of Computations. Ph.D. thesis, U.C. Berkeley, 1972.

[Giusti et al., 1997a] M. Giusti, K. Hägele, J. Heintz, J. E. Morais, J. L. Montaña & L. M. Pardo. Lower Bounds for Diophantine Approximation. In: Proceedings of MEGA’96, volume 117,118, pages 277–317. Journal of Pure and Applied Algebra, 1997.

[Giusti et al., 1997b] M. Giusti, K. Hägele, G. Lecerf, J. Marchand & B. Salvy. Computing the Dimension of a Projective Variety: the Projective Noether Maple Package. Research report 3224, INRIA, France, 1997.

[Giusti & Heintz, 1991] M. Giusti & J. Heintz. Algorithmes - disons rapides - pour la décomposition d’ une variété algébrique en composantes irréductibles et équidimensionelles. In: T. Mora & C. Traverso, eds., Proceedings of MEGA’90, volume 94 of Progress in Mathematics, pages 169–194. Birkhäuser, 1991.

[Giusti & Heintz, 1993] M. Giusti & J. Heintz. La détermination des points isolés et de la dimension d’une variété algébrique peut se faire en temps polynomial. In: D. Eisenbud & L. Robbiano, eds., Computational Algebraic Geometry and Commutative Algebra, volume XXXIV of Symposia Matematica, pages 216–256. Cambridge University Press, 1993.

[Giusti et al., 1998] M. Giusti, J. Heintz, J. E. Morais, J. Morgenstern & L. M. Pardo. Straight–Line Programs In Geometric Elimination Theory. J. of Pure and App. Algebra, 124:101–146, 1998.

[Giusti et al., 1995] M. Giusti, J. Heintz, J. E. Morais & L. M. Pardo. When Polynomial Equation Systems can be solved fast ? In: G. Cohen, H. Giusti & T. Mora, eds., Applied Algebra, Algebraic Algorithms and Error Correcting Codes, Proceedings AAECC-11, volume 948 of LNCS, pages 205–231. Springer, 1995.

[Giusti et al., 1997c] M. Giusti, J. Heintz, J. E. Morais & L. M. Pardo. Le rôle des structures de données dans les problèmes d’élimination. C. R. Acad. Sci. Paris, 325:1223–1228, 1997.

[Giusti et al., 1993] M. Giusti, J. Heintz & J. Sabia. On the Efficiency of effective Nullstellensätze. Computational Complexity, 3:56–95, 1993.

[Grigoriev, 1986] D. Grigoriev. Polynomial factoring over a finite field and solving systems of algebraic equations. J. of Soviet Mathematics, 34:1762–1803, 1986.

[Grosso et al., 1996] A. Grosso, N. Herrera, G. Matera, M. E. Stefanoni & J. M. Turull. Un algoritmo para el cálculo del rango de matrices enteras en espacio polilogarítmico. In: Proceedings 25th JAIIO. 1996.

[Hägele, 1996a] K. Hägele.  Data structures and zero tests.  In:

M. Giusti, J. Heintz & L. M. Pardo, eds., Proceedings of TERA’96, page 20. Universidad de Cantabria, Facultad de Ciencias,

http://hilbert.matesco.unican.es/tera/, Santander, Spain, 1996.

[Hägele, 1996b] K. Hägele. slp - a C++ classlib (A prototype for straight–line pro-

grams). http://hilbert.matesco.unican.es/tera/soft.html, 1996.

[Hägele, 1997a] K. Hägele. A design for an abstract datatype SLP. Manuscript, 6 Pages, Buenos Aires, in Spanish, 1997.

[Hägele, 1997b] K. Hägele. Pautas - Guidelines for the organisation. Note, 3 Pages, Buenos Aires, in Spanish, 1997.

[Hägele & Matera, 1996] K. Hägele & G. Matera. Preparatory Note for the Draft for Design and Implementation. TERA - internal communication, Universidad de Cantabria, Santander, Spain, 1996.

[Hägele & Montaña, 1997] K. Hägele & J. L. Montaña. Polynomial random test for the equivalence problem of integers given by arithmetic circuits. Preprint 4/97 Depto. Matemáticas, Universidad de Cantabria, Santander, Spain, 1997.

[Hardy & Wright, 1979] Hardy & Wright. An Introduction to the Theory of Numbers. Clarendon Press, 1979.

[Hartshorne, 1977] R. Hartshorne. Algebraic Geometry, volume 52 of Graduate Texts in Mathematics. Springer-Verlag, New York, 1977.

[Heintz, 1983] J. Heintz. Definability and fast quantifier elimination in algebraically closed fields. Theor. Comput. Sci., 24(3):239–277, 1983.

[Heintz, 1989] J. Heintz. On the computational complexity of polynomials and bilinear mappings. A survey. In: Applied Algebra, Algebraic Algorithms and Error Correcting Codes, Proceedings of AAECC-5, volume 356 of LNCS, pages 269–300. Springer, 1989.

[Heintz et al., 1997] J. Heintz, G. Matera, L. M. Pardo & R. Wachenchauzer. About the intrinsic complexity of elimination. WAIT’97, Buenos Aires, Argentina, 1997.

[Heintz & Morgenstern, 1993] J. Heintz & J. Morgenstern. On the intrinsic complexity of elimination theory. J. of Complexity, 9:471–498, 1993.

[Heintz & Schnorr, 1980] J. Heintz & C. P. Schnorr. Testing Polynomials which are easy to compute. In: Proccedings of ACM 12th Symposium on Theory of Computing, pages 262–272. 1980.

[Heintz & Schnorr, 1982] J. Heintz & C. P. Schnorr. Testing Polynomials which are easy to compute. In: Logic and Algorithmic, volume 30 of Monographie de l’Enseignement Mathématique, pages 237–254. 1982.

[Heintz & Sieveking, 1980] J. Heintz & M. Sieveking. Lower Bounds for Polynomials with algebraic coefficients. Theo. Comp. Sci., 11:321–330, 1980.

[Hermann, 1926] G. Hermann. Die Frage der endlich vielen Schritte in der Theorie de Polynomideale. Math. Ann., 95:736–788, 1926.

[Ibarra & Leininger, 1983] O. H. Ibarra & B. S. Leininger. On the Simplification and Equivalence Problems for Straight-line Programs. Journal of the ACM, 30(3):641–656, 1983.

[Ibarra & Moran, 1983] O. H. Ibarra & S. Moran. Equivalence of Straight-line Programs. Journal of the ACM, 30:217–228, 1983.

[Ibarra et al., 1981] O. H. Ibarra, S. Moran & L. E. Rosier. Probabilistic Algorithms and Straight-line Programs for some rank decision problems. Information Processing Letters, 12(5):227–232, 1981.

[Iversen, 1973] B. Iversen. Generic local structure of the morphisms in Commutative Algebra, volume 310 of LNM. Springer, 1973.

[Ja’Ja’, 1983] J. Ja’Ja’. Time–space tradeoffs for some algebraic problems. Journal of the Association for Computing Machinery, 30(3):657–667, 1983.

[Jebelean, 1993] T. Jebelean. Improving the Multiprecision Euclidean Algorithm. Lecture Notes in Computer Science, 722:45–??, 1993.

[Jouanolou, 1983] J. P. Jouanolou. Théorèmes de Bertini et applications. Progress in Mathematics. Birkhäuser Verlag, 1983.

[Kaltofen, 1988] E. Kaltofen. Greatest Common Divisors of Polynomials Given by Straight-Line Programs. Journal of the ACM, 35(1):231–264, 1988.

[Kaltofen, 1989] E. Kaltofen. Factorization of polynomials given by straight-line programs. In: S. Micali, ed., Randomness in Computation, volume 5 of Advances in Computing Research, pages 375–412. JAI Press Inc., 1989.

[Khinchin, 1935] A. Y. Khinchin. Continued Fractions. Translated from Russian by P. Wynn, P. Noordhoff Ltd., Grooningen, 1963. Also by H. Eagle, The University of Chicago Press, 1964. The University of Chicago Press, 1935.

[Knuth, 1968] D. E. Knuth. The Art of Computer Programming I: Fundamental Algorithms. Addison–Wesley, Reading, Massachusetts, 1968.

[Knuth, 1981] D. E. Knuth. The Art of Computer Programming II: Seminumerical Algorithms. Addison-Wesley, 1981.

[Koiran, 1996] P. Koiran. Hilbert’s Nullstellensatz Is in the Polynomial Hierarchy. Journal of Complexity, 12(4):273–286, 1996.

[Kollár, 1988] J. Kollár. Sharp effective Nullstellensatz. J. of the AMS, 1:963–975, 1988.

[Krick & Pardo, 1994] T. Krick & L. M. Pardo. Une approche informatique pour l’ approximation diophantienne. C. R. Acad. Sci. Paris, 318(1):407–412, 1994.

[Krick & Pardo, 1996] T. Krick & L. M. Pardo. A Computational Method for Diophantine Approximation. In: L. González-Vega & T. Recio, eds., Algorithms in Algebraic Geometry and Applications. Proceedings of MEGA’94, volume 143 of Progress in Mathematics, pages 193–254. Birkhäuser Verlag, 1996.

[Krick et al., 1997] T. Krick, J. Sabia & P. Solernó. On intrinsic bounds in the Nullstellensatz. Applicable Algebra in Engineering Communications and Computing (AAECC Journal), 8:125–134, 1997.

[Kronecker, 1882] L. Kronecker. Grundzüge einer arithmetischen Theorie de algebraischen Grössen. J. reine angew. Math., 92:1–122, 1882.

[Kunz, 1985] E. Kunz. Introduction to Commutative Algebra and Algebraic Geometry. Birkhäuser Verlag, 1985.

[Kunz, 1986] E. Kunz. Kähler Differentials. Advanced Lectures in Mathematics. Vieweg Verlag, 1986.

[Lam, 1978] T. Y. Lam. Serre’s Conjecture, volume 635 of LNM. Springer, 1978.

[Lang, 1983] S. Lang. Fundamentals of Diophantine Geometry. Springer, 1983.

[Lang, 1984] S. Lang. Algebra. Springer, 2nd edition, 1984.

[Lecerf, 1997] G. Lecerf. The projective Noether Package, User’s Manual.

ftp://medicis.polytechnique.fr/pub/tera/soft/pnp/, 1997.

[Lecerf & Schost, 1997] G. Lecerf & E. Schost. Maple Package GBlink, User’s

Manual. ftp://medicis.polytechnique.fr/pub/tera/soft/gblink/,

1997.

[Lehmer, 1933] D. H. Lehmer. Factorization of certain cyclotomic functions. Ann. of Math., 34(2):461–479, 1933.

[Lenstra et al., 1982] A. K. Lenstra, H. W. Lenstra & L. Lovasz. Factoring polynomials with rational coefficients. Technical Report 82-05, Mathematics Dept., University of Amsterdam, 1982.

[Llovet et al., 1993] J. Llovet, R. Martínez & J. A. Jaén. Linear recurring sequences for computing the resultant of multivariate polynomials. Journal of Computational and Applied Mathematics, 49:145–152, 1993.

[Llovet et al., 1992] J. Llovet, R. Sendra, J. A. Jaén & R. Martínez. An algorithm for computing multivariate polynomial resultants. Computer Science, pages 159–165, 1992.

[Macauley, 1916] F. S. Macauley. The Algebraic Theory of Modular Systems. Cambridge University Press, 1916.

[Martínez, 1992] R. Martínez. Procedimientos de Recurrencia Lineal en Algebra Computacional. Ph.D. thesis, Depto. de Matemáticas, Universidad de Alcalá de Henares, España, 1992.

[Matera, 1997] G. Matera. Sobre la complejidad en espacio y tiempo de la eliminación geométrica. Ph.D. thesis, Universidad de Buenos Aires, Argentina, 1997.

[Matera & Turull, 1997] G. Matera & J. M. Turull. The Space Complexity of Elimination: Upper Bounds. In: F. Cucker & M. Shub, eds., Proceedings Foundations of Computational Mathematics (FOCM’97), pages 267– 276. Springer, 1997.

[Matsumura, 1986] H. Matsumura. Commutative Ring Theory. Cambridge University Press, 1986.

[Mayr, 1989] E. Mayr. Membership in Polynomial Ideals over Q is Exponential Space Complete. In: B. Monien et al, ed., Proceedings of the 6th Annual Symposium on Theoretical Aspects of Computer Science (STACS’89), Paderborn (FRG) 1989, number 349 in Lecture Notes in Computer Science, pages 400– 406. Springer, 1989.

[McCarthy, 1976] P. J. McCarthy. Algebraic Extensions of Fields. Chelsea Publishing Comp., New York, 1976.

[Miller, 1975] G. L. Miller. Riemann’s Hypothesis and Tests for Primality. In: Conference Record of Seventh Annual ACM Symposium on Theory of Computation, pages 234–239. Albuquerque, New Mexico, 1975.

[Modi, 1988] J. J. Modi. Parallel Algorithms and Matrix Computation. Oxford University Press, 1988.

[Möller & Mora, 1984] H. M. Möller & F. Mora. Upper and lower Bounds for the degree of Groebner Bases. In: J. Fitch, ed., Proceedings of the International Symposium on Symbolic and Algebraic Computation (EUROSAM 84), volume 174 of LNCS, pages 172–183. Springer, Cambridge, UK, 1984.

[Montaña et al., 1996] J. L. Montaña, J. E. Morais & L. M. Pardo. Lower Bounds for Arithmetic Networks II: Sum of Betti Numbers. Applicable Algebra in Engineering Communications and Computing, 7:41–51, 1996.

[Montaña & Pardo, 1993] J. L. Montaña & L. M. Pardo. Lower bounds for Arithmetic Networks. In: Applied Algebra, Algebraic Algorithms and Error Correcting Codes, Proceedings of AAECC-4, pages 1–24. Springer, 1993.

[Montaña et al., 1991] J. L. Montaña, L. M. Pardo & T. Recio. The nonscalar Model of Complexity in Computational Geometry. In: C. Traverso & T. Mora, eds., Effective Methods in Algebraic Geometry, Proceedings of MEGA’90, volume 94 of Progress in Mathematics, pages 347–361. Birkhäuser, 1991.

[Morais, 1997] J. E. Morais. Resolución eficaz de sistemas de ecuaciones polinomiales. Ph.D. thesis, Universidad de Cantabria, Santander, Spain, 1997.

[Motzkin, 1955] T. S. Motzkin. Evaluation of Polynomials. Bull. AMS, 6, 1955.

[Mulmuley, 1987] K. Mulmuley. A Fast Parallel Algorithm to Compute the Rank of a Matrix over an Arbitrary Field. Combinatorica, 7(1):101–104, 1987.

[Narkiewiecz, 1983] W. Narkiewiecz. Number Theory. World Scientific Publishing, 1983.

[Nesterenko, 1985] Y. Nesterenko. On algebraic independence of algebraic powers of algebraic numbers. Math. USSR. Sbornik, 51(2):429–455, 1985.

[Nesterenko, 1987] Y. Nesterenko. On a measure of the algebraic independence of the values of certain functions. Math. USSR. Sbornik, 56(2):545–567, 1987.

[Newton, 1667] I. Newton. De Analysi per Aequationes Infinitas. 1667.

[Ostrowski, 1954] A. M. Ostrowski. On two problems in abstract algebra connected with Horner’s rule. In: Studies in Math. and Mech. presented to Richard von Mises, pages 40–48. Academic Press, 1954.

[Pan, 1966] V. Y. Pan. Methods for Computing values of Polynomials. Russ. Math. Surv., 21:105–136, 1966.

[Papadimitriou, 1994] C. M. Papadimitriou. Computational Complexity. Addison– Wesley, New York, 1994. ISBN 0-201-53082-1.

[Pardo, 1995] L. M. Pardo. How lower and upper complexity bounds meet in elimination theory. In: G. Cohen, H. Giusti & T. Mora, eds., Applied algebra, algebraic algorithms and error-correcting codes (Paris, 1995), volume 948 of Lecture Notes in Computer Science, pages 33–69. Springer, Berlin, 1995.

[Pardo, 1997] L. M. Pardo. Some notes about straight–line programs. Manuscript, 65 pages, Summerschool Unversité P. Sabatier, Toulouse, France, 1997.

[Philippon, 1986] P. Philippon. Critères pour l’indépendance algébrique. Pub. Math. de l’IHES, 64:5–52, 1986.

[Philippon, 1991a] P. Philippon. Denominators in Hilbert’s Nullstellensatz. Acta Arith., 58:1–25, 1991.

[Philippon, 1991b] P. Philippon. Sur des hauteurs alternatives, I. Math. Ann., 289:255–283, 1991.

[Philippon, 1994] P. Philippon. Sur des hauteurs alternatives, II. Ann. Inst. Fourier, Grenoble, 44(2):1043–1065, 1994.

[Philippon, 1995] P. Philippon. Sur des hauteurs alternatives, III. J. Math. Pures Appl., 74:345–365, 1995.

[Pingala, 1935] Pingala. Chandrah-Sûtra, Manuscript, 200.B.C. In: B. Datta & A. N. Singh, eds., History of Hindu Mathematics. Bombay, 1935.

[Rabin, 1980] M. O. Rabin. A Probabilistic Algorithm for Testing Primality. Journal of Number Theory, 12, 1980.

[Rege & Canny, 1995] A. Rege & J. Canny. A Toolkit for Algebra and Geometry. preprint 12 pages, submitted to ISAAC 95, 1995.

[Rossi & Spangher, 1991] F. Rossi & W. Spangher. Some effective methods in the openness of loci for Cohen-Macaulay and Gorenstein properties. In: T. Mora & C. Traverso, eds., Proceedings of MEGA’90, volume 94 of Progress in Mathematics, pages 441–455. Birkhäuser, 1991.

[Sabia & Solernó, 1996] J. Sabia & P. Solernó. Bounds for Traces in Complete Intersections and Degrees in the Nullstellensatz. Applicable Algebra in Engineering Communications and Computing (AAECC Journal), 6:353–376, [Scholz, 1937] A. Scholz. Aufgabe 253. Jahresbericht Deutsch. Math. Verein,

47:41–42, 1937.

[Schönhage, 1979] A. Schönhage. On the power of random access machines. In: H. A. Maurer, ed., Proceedings of the 6th Colloquium on Automata, Languages and Programming, volume 71 of LNCS, pages 520–529. Springer, 1979.

[Schwartz, 1979] J. T. Schwartz. Probabilistic algorithms for verification of polynomial identities. In: ISSAC ’79: Proceedings of Int’l. Symp. on Symbolic and Algebraic Computation, volume 72 of Lecture Notes in Computer Science. Springer-Verlag, 1979.

[Schwartz, 1980] J. T. Schwartz. Fast Probabilistic Algorithms for Verification of Polynomial Identities. Journal of the ACM, 27(4):701–717, 1980.

[Shub & Smale, 1993a] M. Shub & S. Smale. Complexity of Bézout’s Theorem I: Geometric Aspects. J. of the AMS, 6(2):459–501, 1993.

[Shub & Smale, 1993b] M. Shub & S. Smale. Complexity of Bézout’s Theorem II: Volumes and Probabilities. In: Proceeding effective methods in Algebraic Geometry, volume 109 of Progress in Mathematics, pages 267–285. MEGA ’92, Niece, Birkhäuser, 1993.

[Shub & Smale, 1993c] M. Shub & S. Smale. Complexity of Bézout’s Theorem III: Condition number and packing. J. of Complexity, 9:4–14, 1993.

[Shub & Smale, 1998] M. Shub & S. Smale. On the intractability of Hilbert’s Nullstellensatz and an algebraic version of P = NP. to appear in Duke J. of Math., 1998.

[Silverman, 1987] J. H. Silverman. Arithmetic Distance Functions and Height Functions in Diophantine Geometry. Math. Ann., 279:193–216, 1987.

[Smith, 1992] J. R. Smith. The Design and Analysis of Parallel Algorithms. Oxford University Press, 1992.

[Sombra, 1997] M. Sombra. Bounds for the Hilbert function of polynomial ideal and for the degrees in the Nullstellensatz. In: Proceedings of MEGA’96, volume 117 & 118, pages 565–599. North-Holland, 1997.

[Sombra, 1998a] M. Sombra. Estimaciones para el teorema de ceros de Hilbert. Ph.D. thesis, Universidad de Buenos Aires, Argentina, 1998.

[Sombra, 1998b] M. Sombra. A sparse effective Nullstellensatz. Adv. Appl. Math. to appear, 1998.

[Strassen, 1973] V. Strassen. Vermeidung von Divisionen. Crelle J. Reine Angew. Math,, 264:182–202, 1973.

[Strassen, 1990] V. Strassen. Algebraic Complexity Theory. In: Handbook of Theoretical Computer Science, chapter 11, pages 634–671. Elsevier, 1990.

[TERA Development Group, 1997] TERA Development Group. Some remarks on the time–space tradeoff of geometric elimination procedures. Manuscript 15

pages, gmatera@mate.dm.uba.ar, 1997.

[TERA Development Group, 1998] TERA Development Group. A (hopefully) efficient polynomial equation system solver. Manuscript 57 pages,

gmatera@mate.dm.uba.ar, 1998.

[Van der Waerden, 1930] B. L. Van der Waerden. Moderne Algebra I. Berlin, 1930.

[Vogel, 1984] W. Vogel. Results on Bézout’s Theorem. Tata Institute of Fundamental Research. Springer, 1984.

[von zur Gathen, 1986] J. von zur Gathen. Parallel arithmetic computations: a survey. In: B. R. J. Gruska & J. Wiedermann, eds., Proceedings of the 12th Symposium on Mathematical Foundations of Computer Science, volume 233 of LNCS, pages 93–112. Springer, Bratislava, Czechoslovakia, 1986.

[Wang, 1981] P. Wang. A p-adic algorithm for univariate partial fractions. In: P. Wang, ed., SYMSAC ’81: Proceedings of the 1981 ACM Symposium on Symbolic and Algebraic Computation, pages 212–217. Association for Computing Machinery, 1981.

[Wang et al., 1982] P. Wang, M. Guy & J. H. Davenport. p–adic reconstruction of rational numbers. SIGSAM Bulletin, 16(2), 1982.

[Zariski, 1995] O. Zariski. Algebraic Surfaces. Classics in Mathematics. Springer, 1995.

[Zariski & Samuel, 1960] O. Zariski & P. Samuel. Commutative Algebra, volume 2 of Graduate Texts in Mathematics. Springer-Verlag, New York, 1960.

[Zassenhaus, 1969] H. Zassenhaus. On Hensel factorization I. J. Number Theory, 1:291–311, 1969.

[Zippel, 1979] R. Zippel. Probabilistic algorithms for sparse polynomials. In: Proceedings EUROSAM’ 79, number 72 in LNCS, pages 216–226. Springer, 1979.

[Zippel, 1990] R. Zippel. Interpolating Polynomials from their Values. J. Symbol. Comput., 9:147–175, 1990.

174 Bibliography

[Zippel, 1993] R. Zippel. Effective Polynomial Computation. ECS 241. Kluwer Academic Publishers, 1993.