FOR SPLITTING POLYNOMIALS GREGORIO MALAJOVICH AND JORGE P. ZUBELLI
Abstract. A new algorithm for splitting polynomials is presented. This algorithm requires O(dlog−1)1+δ floating point operations, withO(log−1)1+δ bits of precision. As far as complexity is con-cerned, this is the fastest algorithm known by the authors for that problem.
An important application of the method is factorizing polyno-mials or polynomial root-finding.
1. Introduction
The main motivation of this paper is to develop fast algorithms for solving univariate polynomials. Although this is a rather old subject, important progress has taken place in the last years (See the review by Pan [1]).
The problem of solving univariate polynomials may be reduced to factorization. Once a factorization f = gh is known, factors g and h
may be factorized recursively, until one obtains degree 1 or 2 factors. Fast algorithms for factorizing a degreedpolynomial may proceed by performing a change of coordinates and a small number (sayO(log logd)) iterations of Graeffe’s transformation. Graeffe’s transformation (also
Date: January 22, 1996.
Key words and phrases. Polynomial equations, Factorization, Splitting. Sponsored by CNPq (Brasil).
Typeset usingAMS-LATEX.
studied by Dandelin and by Lobatchevski) was developed and exten-sively used before the advent of digital computers. See Ostrowski [2] and Uspensky [3, p.318-331]. For more recent applications, see Sch¨onhage [4], Kirrinis [5] and Pan [6, 7].
Graeffe’s transformation replaces a polynomial f(x) by the polyno-mial Gf(x) = (−1)df(√x)f(−√x) . The roots of the new polynomial are the square of the roots of the old polynomial. The effect of Gra-effe’s iteration is to “pack” the roots into clusters near zero and infinity, leaving a wide enough root-free annulus.
The next (and crucial) step is to factorize this new polynomial into factors having all the roots close to zero (resp. infinity). This is called
splitting.
Finally, it is necessary to return from Graeffe’s iteration. Explicitly, if Gf(x) = Gg(x)Gh(x) , one may set g(x) = gcd(Gg(x2), f(x)) and h(x) =f(x)/g(x) .
Known splitting algorithms require O(d1+δ) arithmetic operations, with O((d(d−log))1+δ) bits of precision. They produce approximate factors g and h such that kf−ghk2 < . We will prove instead:
Main Theorem . LetR >64(a+b)3, a, b∈
N. Letf be a polynomial
of degree d = a +b, such that a roots are contained inside the disk |ζ|< R−1 and b roots are contained outside the disk |ζ|> R.
Then, for = o(1/d), an -approximation of the factors g and h of
f may be computed within
O(dlog1
log log
1
)
floating-point arithmetic operations, performed with:
O(log1
)
The algorithm we propose in this paper requires a more moderate precision than classical ones. Therefore, its bit complexity is signif-icantly lower. Moreover, we define the -approximation in order to guarantee the stronger result
r X (2a−i|g i−g∗i|) 2 ≤ r X (2i|h i−h∗i|)2 ≤
where f =g∗h∗ is the exact factorization. The price to pay is a larger splitting radius (meaning O(log logd) extra Graeffe’s iterations).
It is assumed that f is given as a vector of floating point numbers. The output is also given as a vector of floating point numbers, and we assume as a model of computation correctly rounded floating-point arithmetic.
2. Sketch of the proof
2.1. General Idea. We will show that factoring a polynomial f is equivalent to solving a certain system of polynomial equations. Under the hypotheses of the Main Theorem, this system will be solvable by Newton iteration.
It turns out that, with a proper choice of the initial guess, one has quadratic convergence since the first iteration.
2.2. Background of α-theory. Let ϕ : Cn → Cn be a system of
polynomials. The Newton operator Nϕ is defined by
Nϕ : Cn → Cn
The following invariants were introduced by Smale in [8]: β(ϕ, x) = Dϕ(x) −1ϕ(x) 2 γ(ϕ, x) = max k≥2 Dϕ(x) −1Dkϕ(x) 2 k! 1 k−1 α(ϕ, x) = β(ϕ, x)γ(ϕ, x)
It was proven in [8] that if α(ϕ, x) < α0 < 17 , then the sequence
(xi) convergesquadratically to a root of ϕ. See also [9, 10, 11, 12, 13]. This theorem can be generalized to an approximation of the Newton operator. We shall need that generalization in the sequel.
The spaceHdis the space of all systems of homogeneous polynomials of degree d = (d1, . . . , dn) . In order to work with non-homogeneous polynomials, we may set one coordinate of the variablez= (z0, . . . , zn) to be equal to 1 (Sayz0 = 1). Thenαaff,βaffandγaffbelow are precisely
α, β and γ defined above. Under this notation, we have:
Theorem 1 (Malajovich [14], Theorem 2). Let f ∈ Hd, z(0) ∈ Cn+1,
the first coordinate ofz(0) be non-zero, andδ≥0be such that: (βaff(f, z(0))+
δ)γaff(f, z(0)) < 1/16, and γaff(f, z(0))δ < 1/384. Suppose that the
se-quence (z(i)), where the first coordinates of z(i) and z(0) are equal,
sat-isfies z (i+1) −Naff(f, z(i)) 2 kz(i)k 2 ≤δ . Then, there is a zero ζ of f such that
dproj(z(i), ζ)≤max
Notice that above we have z (i) 2 2 =|z0(i)|2+· · ·+|z(i) n |2 = 1+|z (i) 1 |2+ · · ·+|z(i) n |2.
2.3. Polynomial systems associated to splitting. Leta and b be fixed. We want to split a polynomialf of degreed=a+b into factors
g and h of degree a and b, respectively. This means that we want to factor f = gh, so that the roots of g are inside the disk D(R−1) and
the roots of h are outside the diskD(R) .
For convenience, we choose fa = 1. Polynomials with this property shall be called hemimonic.
We want to solve the system
ϕf(g, h)
def
= gh−f = 0
where g is monic of degree a. In vector notation,
ϕf(g, h) = g0h0 − f0 g1h0+g0h1 − f1 .. . hb−1+ga−1hb − fd−1 hb − fd .
The systemϕf(g, h) is a system ofd+1 =a+b+1 non-homogeneous polynomial equations in d+ 1 variables.
In order to simplify the exposition, we shall assume a≥b. The case
The derivative of ϕf is given by Dϕf(g, h) = h0 g0 h1 h0 g1 g0 .. . . .. ... hb . .. ... ... g0 g1 h0 ga−1 . .. h1 1 ... .. . . .. ... hb ga−1 0 1 .
The second derivativeD2ϕ
f(g, h) is a bilinear operator fromCd+1× Cd+1 intoCd+1 . The i-th coordinate ofD2ϕf(g, h) can be represented
by its Hessian matrix, with ones concentrated along one anti-diagonal. For instance, if a=b+ 1 and i=b−1,
D2ϕf(g, h) i = 1 0 . .. 1 0 1 0 . .. 1 0 .
2.4. A good metric. In this section we shall introduce a few norms that will play an important role in the sequel. In some sense, those seem to be thegood norms to use for the splitting problem. Those will
be the norms referred to in the definition ofα,β,γ and in Theorem 1. They correspond to a scaling of the systemϕf .
Before doing that we start with some intuitive motivation for such norms. First, let’s consider the case of a polynomial with roots close to 0, say for example
p(x) =xn+tn−1xn−1+t0 ,
with sufficiently smalltn−1 andt0. Then, changes int0 will affect much
more the roots than changes in tn−1. This lead us to consider a norm
that fori > j emphasizes the contribution of the coefficient of xj more than that of xi. A similar reasoning holds for polynomials whose roots are close to∞ except that more emphasis has to be put on the higher degree coefficients.
The problem we have at hand is that of splitting a polynomial f of degree a+b into two factors g and h of degree a and b, respectively, so that the roots of g are close to 0 and the roots ofh are close to ∞. Therefore, it is natural to consider a norm that captures the relative weight of the different coefficients as far as such coefficients affect the roots. Compare with definition (69.2) in Ostrowski [2], page 209.
To make the above heuristics more precise we introduce the following concepts: The polynomial h(x) = b X n=0 hnxn
will be called antimonicif h0 = 1.
The polynomial f(x) = a+b X n=0 fnxn
will be called hemimonic (w.r.t. the splitting into factors of degrees a
and b) if
fa= 1 .
Definition 1. Forg a degree a polynomial we set the monic norm
kgkm = s X 0≤i≤a (2a−i|g i|) 2 .
Forh a degree b polynomial, the antimonicnorm is defined by
khka = s X 0≤i≤b (2i|h i|)2 .
Forϕa polynomial of degreea+b, we set thehemimonic normwith respect to the splitting (a, b) as
kϕkh =
s X
0≤i≤a+b
(2|a−i||ϕi|)2 .
Notice that if g is a monic polynomial with kg−xakm sufficiently small, then all its roots are close to 0. Similarly, if his antimonic with
h−x
b
a small, then all its roots are next to ∞. As to the concept
of (a, b)-hemimonic, the point is that if ϕ belongs to this class, then
kϕ−xakh small implies that aroots of ϕ are close to 0 andb roots are close to ∞.
Although the preceding remarks are true for all norms, the definitions above give sharper estimates than the usual 2-norm.
In order to make the distinction of the norm under consideration more apparent we will try to use the letters
g h ϕ to denote monic antimonic hemimonic polynomials of degree a b a+b , respectively.
We may estimate the norm of the operator
D2ϕf(g, h) : (Ca+b+1,k·kma)×(Ca+b+1,k·kma)→(Ca+b+1,k·kh) , (1) where the norm
k(g, h)kma def= q kgkm2+khka2 , by the following Lemma 1. D 2ϕ f(g, h) ma→h ≤ √ d+ 1 4 .
The proof of this Lemma is postponed to Section 8.
We consider the Newton operator applied to the system ϕf(g, h)
N(f;g, h) = g h −Dϕf(g, h) −1 ϕf(g, h) .
Lemma 1 provides the following estimate for Smale’s invariants:
γ(ϕf;g, h) = kDϕf(g, h)−1D2ϕf(g, h)kma→h 2 ≤ Dϕf(g, h) −1 ma→h √ d+ 1 8 β(ϕf;g, h) ≤ Dϕf(g, h) −1 ma→hkϕf(g, h)kh α(ϕf;g, h) ≤ √ d+ 1 8 Dϕf(g, h) −1 ma→h 2 kϕf(g, h)kh
2.5. A good starting point. In this section, we shall prove that a good starting point for the Newton iteration is
g(x) =xa ,
h(x) = 1 .
This choice makes the matrix Dϕf(g, h) equal to the identity. This implies
Lemma 2. Assume that g =xd and h= 1. Then, Dϕf(x a,1)−1 ma→h = 1 .
As we are using our non-standard norms, the proof will be postponed to Section 8. We have: α(ϕf;g, h) ≤ √ a+b+ 1 8 kϕf(g, h)kh = √ a+b+ 1 8 kf−x a kh β(ϕf;g, h) ≤ kf −xakh γ(ϕf;g, h) ≤ √ a+b+ 1 4 .
Lemma 3. Let’s assume that f and b satisfy b < 1 16√a+b+ 1 and kf −xakh < 4 17√a+b+ 1 .
Then, if the sequences g(k) and h(k) satisfy
(g(0), h(0)) = (xd,1) , with (g (i+1), h(i+1))−N(ϕ f;g(i), h(i)) ma k(g(i), h(i))k ma ≤ b 6
there exist ˜g and ˜h such that f = ˜g˜h, and for
k >log2log2 1 b , we have min λ6=0 (g (k), h(k)) −λ(˜g,˜h) ma k(g(k), h(k))k ma ≤b.
Proof of Lemma 3: We are under the hypotheses of the Theorem 1, where we set δ=b/6. Indeed,
(β(ϕf,(g(0), h(0))) +δ)γ ≤ (kf −xakh+δ) √ a+b+ 1 4 ≤ ( 4 17√a+b+ 1 + b 6) √ a+b+ 1 4 ≤ 1 17+ b √a+b+ 1 24 ≤ 1 16 . Furthermore, γ(f; (g(0), h(0)))δ < √ a+b+ 1 4 1 6 16√a+b+ 1 = 1 384 .
Therefore, if k >log2log2(1/b), the final (g
(k), h(k)) are within
(pro-jective) distance bfrom the true factors (g,e eh).
Moreover, it can be seen that the usual distance between (g(k), h(k))
and (g,e eh) is bounded by 4b. Indeed, (g (k), h(k)) ma ≥ |ga| ≥1 . There-fore, (g (k), h(k)) −λ(˜g,˜h) ma≤b .
Since g(k) and ˜g are monic, we should have
1−b≤λ≤1 +b. So, (g (k), h(k)) −(˜g,˜h) ma ≤b(1 + (˜g, ˜ h) ma) .
Lemma 4. Let R > 4(a+b)2. Let g be monic of degree a, with all
roots in D(R−1). Let hbe of degree b, with all roots outside D(R). Let ϕ=gh be hemimonic.
Then k(g, h)kma ≤3 .
Hence, assuming the conditions of Lemmas 3 and 4, we obtain
(g (k), h(k)) −(˜g,˜h) ma≤4b.
2.6. End of the proof. In order to prove the Main Theorem, we have to show that hemimonic polynomials with a large enough splitting annulus have small hemimonic norm. More precisely,
Theorem 2. Let ϕ be an(a, b)-hemimonic polynomial, with a roots in the disk D(R−1), andb roots outside the disk D(R). If R >2 max(a, b)
then: kϕ−xakh,∞< 4 3 2 max(a, b) R 1 1−2 max(Ra,b)2
In particular, let R >64(a+b)3 . Then,
kϕ−xakh,∞< 3
64(a+b)2 .
The proof will be given in section 3.
Theorem 2 shows that the conditions of the Main Theorem imply those of Lemma 3, and it remains to produce the sequence (g(i), h(i)) .
Theorem 3. Assume the hypotheses of the Main Theorem. There is an algorithm to compute (g(i+1), h(i+1)) of Lemma 3 out of f, g(i) h(i), within O(dlog ˆ−1) floating point operations, performed with precision O(log ˆ−1), where ˆ < o(1/d).
Therefore, the-approximation of ˜g and ˜h,= 4ˆ, may be computed in a total of
O(dlog1
)
floating point operations, with precision
O(log1
)
3. Splitting and hemimonicity
We will first prove a version of Theorem 2 for monic (resp. antimonic) polynomials:
Lemma 5. Let g be monic, of degree a, with roots inside the disk
D(R−1), where R > 2a . Then,
kg−xakm,∞< 2a R .
Clearly, this lemma implies the analogous result for antimonic poly-nomials.
Proof of Lemma 5: Let g be monic, with all roots ζi inside D(R−1). Now, ga−i = (−1)i X j1<···<ji Y jk ζjk . So, 2i|ga−i| ≤2i a i R −i .
LetLi = 2i a i R −i . ThenL 0 = 1, and Li+1 Li = 2 a i+ 1 a i R−1 = 2a−i i+ 1R −1 .
ThereforeL1 = 2Ra. Since in general ai+1−i < a and 2Ra <1, one gets
2i|ga−i| ≤ 2a
R
We may prove now Theorem 2. Assume that g is monic of degree
a, with roots inside D(R−1). Assume that h is antimonic of degree b,
with roots outside D(R). Let ϕ =gh . We want to bound 2|a−i||ϕi| .
If i6= a, we may distinguish two cases. For instance, assume i > a. (The case i < a is analogous). We have
ϕi =gahi−a+ X 0≤k<a 0<i−k≤b gkhi−k . Hence, 2|a−i||ϕi| ≤ 2i−a|hi−a|+ 2i−a X 0≤k<a 0<i−k≤b |gk||hi−k| ≤ 2i−a−i+akh−1ka,∞+kg−xakm,∞kh−1ka,∞ X 0≤k<a 0<i−k≤b 2i−a−a+k−i+k < kh−1ka,∞+1 3kg−x a km,∞kh−1ka,∞ < 4 3kh−1ka,∞ .
On the other hand, we may write ϕa as ϕa=gah0+ X a−b≤k<a gkha−k . Therefore, |ϕa| ≥1− X a−b≤k<a 2−2a+2k kgkm,∞khka,∞ ≥1−kg−xakm,∞kh−1ka,∞ Hence, ϕ ϕa −xa h, ∞ ≤ 4 3 max(kg−xak m,∞,kh−1ka,∞) 1− kg−xakm ,∞kh−1ka,∞
The bound of Lemma 5 may be inserted in the formula above
ϕ ϕa − xa h,∞ ≤ 4 3 2 max(a, b) R 1 1−2 max(Ra,b)2
We prove Lemma 4 now. Lemma 5 implies
kg−xakm,∞≤ 2a R . Also, h h0 − 1 a,∞ ≤ 2b R .
In order to bound khka we first bound |h0| . Since ϕ = gh is
hemi-monic, 1 =gah0+ X k≥1 ga−khk . Moreover, |X k≥1 ga−khk| ≤ X k≥1 2−2kkg−xakmkh−1ka ≤ 4ab|h0| 3R2 . It follows that |h0|< 1 1− 34Rab2 < 12 11 .
Therefore, kg, hkma ≤ 12 11 1 + 2a2 R + 1 + 2b2 R ! ≤ 12 11 2 + 2(a2+b2) R ! ≤ 12 11 5 2 = 30 11 ≤ 3
4. Algorithm for solving the linear system
We will construct a first version of the algorithm of Theorem 3. The operation count will be O(d2). Error analysis will be dealt with in
Section 5. A fast version will be constructed in Section 6. The proof of Theorem 3 finishes in Section 7.
Given a, b, g, h and ϕ, we will design an algorithm to solve
h0 g0 h1 h0 g1 g0 .. . . .. ... hb . .. ... ... g0 g1 h0 ga−1 . .. h1 1 ... .. . . .. ... hb ga−1 0 1 δg δh = ϕ .
We assume at input that ga = hb = 1. We will write the algorithm recursively, but it can be made recursion-free by usual techniques. The
main feature of this algorithm will be to preserve (in some sense) the monic, antimonic and hemimonic structure of the problem. This means that when kgkm, khka and kϕkh are small, kδgkm and kδhka should be small also.
It will be convenient to shift to the corresponding max norm. Those will be denoted by k.km,∞, k.ka,∞ and k.kh,∞.
Essentially, the algorithm is based on column operations, elimina-tion of one variable, and a special pivoting operaelimina-tion. The algorithm below is written in a pseudo-code, and some lines are numbered for convenience.
The input data are a and b, positive integers; and polynomials g, h
and ϕ, of degree respectively a, b and a+b. Those polynomials are represented by the vector of their coefficients. Index range between i
and j is written i:j. Therefore, the notation
g1:a←g1:a−g0h1:b stands for gi ←gi−g0hi, where 1≤i≤a, b.
The output of the algorithms are polynomials δg and δh, of degree
a and b, respectively. Algorithm Solve (δg, δh)←(a, b, g, h, ϕ) If a≥b 10 If a= 1 and b = 0, Return (0, ϕ0) ; 20 g1:a ←g1:a−g0h1:b ; 30 g0 ←ga ; g1:a−1 ← g1:ga0−1 ; ga←1 ; 40 δg0 ←ϕ0 ; 50 ϕ1:b ←ϕ1:b−δg0h1:b ; 60 (δg1:a, δh0:b)← Solve(a−1, b, g1:a, h0:b, ϕ1:a+b) ; 70 δh0:b ← δhg0:0b ;
80 δg0:a←δg0:a−g0δh0:b ;
90 Return (δg, δh) ; Else
100 (δhb:0, δga:0)← Solve(b, a, hb:0, ga:0, ϕa+b:0) ;
110 Return(δg, δh);
Lines 100 and 110 of the algorithm refer to the following pivoting procedure:
One replaces g and h by xbh(x−1) and xag(x−1), respectively. ϕ is
replaced by xa+bϕ(x−1) . The algorithm Solve is called again, this
time ensuring that a ≥ b. Then, the results are pivoted back, so that we obtain a solution of the original problem.
Line 10 deals with the trivial casea = 1,b= 0. This line is necessary to avoid infinite recursion.
Line 20 performs a column operation. Namely, we add g0 times
column 0 to b to columns a througha+b+ 1 (recall b ≤a). Line 30 ensures thatg is still monic.
It is easy to find δg0 (Line 40), and then to eliminate that variable
of the problem (Line 50).
Then the algorithm is called recursively (Line 50), and the column operations of lines 20 and 30 are undone at lines 70 and 80.
This algorithm exploits the particular structure of the problem (g is almost xa, h is almost 1). It has some remarkable stability properties. For instance, we can bound the norm ofδg andδhin terms of the norm of the input. For clarity, we do that first without considering numerical error. Let’s define
At line 20 we have |g0| ≤ kg−xakm,∞2− a ≤N2−a . Hence, kg0h1:bka,∞≤ kg0(h−1)ka,∞≤N22−a .
We estimate kg0h1:bkm,∞ as follows. Assume that
kg0h1:b−g0haxakm,∞ = max 0≤i<a|g0hi|2 a−i was attained ati, i6= 0: kg0h1:b−g0haxakm,∞≤N 22−2i ≤N22−2 . Therefore, g (20) 1:a −ga(20)xa m,∞ ≤N(1 +N2 −2) .
The norm above is taken as if g1:a was a degree a polynomial, with lowest coefficient 0. In the sequel,g1:a will be treated as a degree a−1 polynomial. This does not increase its norm.
At line 30, we first perform the operation g0 ← ga. The value of ga was possibly modified at line 20 (provided a=b) and
|g0(30)|=|ga20| ≥1− |g0||ha| ≥1−N22−2a . Hence, |gi g0| ≤N 1 +N2−2 1−N22−2a2 i−a . Therefore, g (30) 1:a −xa−1 m,∞ ≤ N 1 +N2−2 1−N22−2a2 i−a+a−1−i+1 ≤N 1 +N2 −2 1−N22−2a ≤ ≤ N 1 +N2 −2 1−(N2−2)2 =N 1 1−2−2N . At line 40, we have |δg0|=|ϕ0| ≤ kϕkh,∞2−a≤N2−a .
At line 50,
|hi| ≤N2−i .
So|δg0hi| ≤2−a−iN2. On the other hand, |ϕi| ≤2−|a−i|N. Since we are choosing i≤b ≤a, then |a−i|=a−i. Therefore,
|ϕi−δg0hi| ≤2i−aN(1 + 2−2iN) .
Ifϕ1:a+b is considered as a polynomial of degree (a−1) +b, one gets
ϕ (50) 1:a+b−ϕ(50)a xa−1 h,∞≤N(1 + 2 −2N) .
Line 60 performs a recursive call to the algorithm solve, where the norm N was replaced by 1−NN. Upon return, let’s assume that δg and
δhhave norm bounded by some N0 > 1−NN . At line 70, one obtains
δh (70) 0:b a, ∞ ≤ kδh0:bka,∞ 1 1−2−2aN2 ≤ N0 1−2−2aN2 .
Before execution of line 80
kδgkm,∞ ≤max{N0,|δg0|2a} ≤max{N0, N} ≤N0. So, kδh0:bkm,∞ ≤2akδh0:bka,∞ kg0δh0:bkm,∞≤ N N0 1−2−aN2 . Hence, δg0:(80)a ≤N0 1 + N 1−2−2aN2 ≤ N 0 1−N0 .
In order to bound the values ofN and N0 throughout the execution of the recursive algorithm, one may define the recurrence
Ni+1 = Ni 1−Ni
whereNi bounds N at recurrence stepi≤a+b and bounds the norm
N0 at step 2a+ 2b−i, for i > a+b.
The general term of this recurrence is, for k < N1
0, Nk = 1 1 N0 −k .
If one fixes, for instance, N0 < 4(a1+b), then N2a+2b < 2(a1+b) . 5. Error analysis of the algorithm Solve
In this section we develop the rigorous error analysis of the Algorithm
Solve. We assume that this algorithm is executed in finite precision floating point arithmetic. The machine arithmetic is is supposed to satisfy the “1 +” property:
If2 is one of the operations +,−, ∗, /, and a and b are
floating point numbers, the machine computes fl(a2b), where fl is a rounding-off operator such that
fl(a2b) = (a2b)(1 +) and
=(a, b,2)< m ,
where m is a small constant called the “machine ep-silon.”
Let N0 be the max-norm of the input (g − gaxa, h− 1, ϕ) to the Algorithm Solve. N2a+2b is the max norm of δg and δh at output.
k.ka,∞ork.kh,∞, according to convenience. Also, we will rather look at
kg−gaxakm (resp. to kh−1ka) than to kgkm (resp. khka). Using the above notation, we have the following:
Theorem 4. Suppose that
N0 ≤ 1 4(a+b) and N0 ≤ 1 10 , and that m < 1 24(a+b) . Let k ≤2a+ 2b . Then, Nk ≤ 1 a+b , and Ek ≤12000m .
Theorem 4 implies that the algorithm solve will stay within the error bound of Theorem 3, provided its input satisfies the condition in
N0. To see that, just set m = 120001 ˆ.
Proof of Theorem 4: Consider first the following procedure:
w←λu+v ,
where w, λ, u and v are complex numbers. Assume we are in the presence of numerical error arising from two sources: the input λ, u
and v; and rounding-off. So, the actual computation becomes
where |1|and |2|are both smaller than m. We subtract the equality
w=λu+v from equation (2), and get
δw = (λ+δλ)δu(1 +1)(1 +2) + (v+δv)2+δv + δλ u(1 +1)(1 +2) + λu(1+2+12) . Furthermore, |w+δw| ≤(|λ+δλ||u+δu|(1 +m) +|v+δv|)(1 +m) . So, |w+δw| ≤ (|λ+δλ||u+δu|+|v+δv|)(1 +m)2 |δw| ≤ (|λ+δλ||δu|+|u||δλ|)(1 +m)2 +|v+δv|m+|δv|+|λ||u|(2m+m2) Hence, 2a−i|w+δw| ≤ [(2a|λ+δλ|)(2i|u+δu|)2−2i+ 2a−i|v+δv|)](1 + m)2 2a−i|δw| ≤ (2a|λ+δλ| 2i |δu|2−2i+ 2i|u| 2a |δλ|2−2i)(1 +m)2 +2a−i|v+δv| m+ 2a−i|δv|+ 2a|λ|2i|u|2−2i(2m+m2) Now, assume that v and w (resp. u) are endowed with the monic (resp. antimonic) norm. Now we consider the following line:
w0:a←λu0:a+v0:a
This corresponds to line 80. It also bounds what happens in lines 20 and 50 of the algorithm. Summing up, we showed that
Lemma 6. Assume that:
i. kuka,∞,ku+δuka,∞≤N
ii. kvkm,∞,kv+δvkm,∞≤N
iv. kδuka,∞≤E v. kδvkm,∞≤E vi. |δλ| ≤2−aE Then, kwkm,∞,kw+δwkm,∞ ≤(N +N2)(1 +m)2 and kδwkm,∞ ≤2N E(1 +m)2+N m+E+N2(2m+m2) .
We consider now the double recurrence
Ni+1 = 1−NNi i 1 1−3m Ei+1 = Ei(1 + 4Ni+1)1−12 m + 8Ni+1m .
Lemma 7. The sequences {Ni}2i=0a+2b and {Ei}2i=0a+2b bound the norm
and the forward error, respectively, of the values of g, h, ϕ, δg and δh
(in the appropriate norm) computed by the algorithm Solve.
Proof. Lemma 6 models what happens in lines 20, 50 and 80. We are left with two divisions (lines 30 and 70) that may at most multiply N
by g10(1 +m) .
Let E be the “forward error” at the beginning of line 20 (resp. 50, 80). We denote by E0 a bound of the error after the operation of line 20 (resp. 50, 80). We want a boundE00of the error after lines 30 (resp. 50, or the combination of lines 70 and 80).
E0 will be replaced by E00 ≥ 1
g0E0 + Ng0m . Therefore, after lines 20 and 30, we have new values N0 and E00 bounded by
N0 ≤ (N +N
2) (1 +
m)2
As |g0| ≥1−N22−2a we get that N0 ≤ N 1 +N 1−N2(1 +m) 3 ≤ N(1 +m) 3 1−N ≤ N 1 1−N 1 1−3m . Furthermore, E00 ≤ 1 |g0|E 0+ N0 |g0|m ≤ 1 1−N42 E(1 + 2N)(1 +m)2 + 4N m+N0m ≤ 1 1−N42 E(1 + 2N)(1 +m)2 + 4N m+N0m . But, 1 1− N42 = 1 + N2 4 + N4 16 +· · · ≤1 + N2 2 . So, E00 ≤ E(1 + 4N0)(1 +m)2+ 8N0m ≤ E(1 + 4N0) 1 1−2m + 8N0m .
Composition of lines 70 and 80 is similar, since dividing δh by g0 is certainly less problematic that dividing the final result by g0. So, for norm-increase and error-bound estimates, we can invert the order of those operators and use the previous bound.
The general term forNi is given by the following: Set
ρ= 1
1−3m .
Then, Ni = ρi 1 N0 −(1 +ρ+ρ 2+· · ·+ρi−1) .
We will show the following bounds:
Lemma 8. Let k ∈ N be fixed, and assume that 0 ≤ i ≤ k, N0 ≤
min(21k,1/10), and m < 121k . Then, 1. Ni is well defined. 2. Ni < 2k 3. P i<kNi <2 4. Q i≤k(1 + 4Ni)<54 = 625.
Lemma 8 may be used to bound Ei, as follows:
Ei =E0 Y 0≤p≤i 1 + 4N p 1−2m + 8 X 0≤j≤i mNj Y j+1≤p≤i 1 + 4N p 1−2m Since E0 = 0 we bound Ei <8m X 0≤j≤i Nj Y 0≤p≤i (1 + 4Np) 1 1−2m i . Using the results of Lemma 8 one obtains
Ei <10000m 1 1−2m i . Moreover, we have 1 1−2m i ≤ 1 1−2im ≤ 1 1−16 ≤ 6 5 .
This follows from the fact that 1−1x1−1y ≤ 1−(1x+y) , x and y positive and small, and from induction on i. So, Ei <12000m.
Since there area+brecursion calls, we setk = 2a+2b, and Theorem 4 is proven.
Proof of Lemma 8
Formula
ρi < 1
1−3im
. (3)
can be used to estimate
ρi−1 ρ−1 ≤ 1 1−3im −1 1 1−3m −1 ≤ 1−3m 1−3im 3im 3m ≤ 1−3m 1−3im i ≤ 1 1−3im i .
Therefore, using the hypothesis m < 121k, we have 3im ≤3km < 14 and ρi−1 ρ−1 ≤ 1 1− 14i= 4 3i . (4)
Using equation (4), we may bound the general term Ni by
Ni ≤ ρi 1 N0 − 4 3i . This implies item 1.
Formula 3, together with hypothesism < 121k implies: ρi < 43. Thus,
Ni ≤ 4 3 1 1 N0 − 4 3i . Using N1 0 >2k, we obtain Ni ≤ 2 k .
This proves item 2. Item 3 is now trivial. To prove item 4, notice that 1 + 4Ni ≤1 + 16 3 1 1 N0 − 4 3i = 1 N0 − 4 3i+ 16 3 1 N0 − 4 3i .
This can be rewritten 1 + 4Ni ≤ 1 N0 − 4 3(i−4) 1 N0 − 4 3i .
Therefore, for k ≥4, the product of (1 + 4Ni) may be bounded by:
Y i≤k (1 + 4Ni) < 1 N0 + 16 3 . . .N1 0 − 4 3(k−4) 1 N0 . . .N1 0 − 4 3(k) < 1 N0 + 16 3 1 N0 + 12 3 1 N0 + 8 3 1 N0 + 4 3 1 N0 − 4 3(k−3) 1 N0 − 4 3(k−2) 1 N0 − 4 3(k−1) 1 N0 − 4 3(k) < 1 N0 + 16 3 1 N0 − 4 3k !4 < 2k+ 16 3 2 3k !4 < 3 + 8 k 4 < 54 = 625
6. Wrong algorithms run faster
The algorithm Solve is based on operations of the form
g1:a ←g1:a−g0h1:b .
At a first glance, the operation count would be around 8(d+ (d−
1) +. . .) . This can be estimated to 4d2.
However, a more careful study proves that not all those arithmetic operations need to be performed. One can save computer work at a cost of introducing some “extra” truncation error. Indeed, if the norms of g and h above are bounded by N, we have just seen that
and
|g0hi| ≤2−a−iN2 .
What about skipping the operation gi ← gi−g0hi ? The resulting truncation error (in the appropriate norm) will be bounded by
2a−i|g0hi| ≤2−2iN2 .
If this is less than N m, the error analysis of Lemma 6 and of Sec-tion 5 will still hold. Therefore, we will obtain a result within the error bound in Theorem 4.
The same is true for divisions in lines 30 and 70 of the algorithm. Thence, we may replace lines like
g1:a←g1:a−g0h1:b by
g1:j ←g1:j−g0h1:j . where j = log2 1 and is our error bound.
The operation count is now 4dlog1 floating point operations, where it is assumed that < 241d .
7. Proof of Theorem 3
We can now finish off the proof of Theorem 3. All that remains is to check that, for each Newton iteration, the conditions of Theorem 4 are satisfied. Namely, we need
N0 ≤
1
4d and N0 ≤
1 10 .
Under the conditions of the Main Theorem and according to Theo-rem 2
kf −xakh,∞ < 3
Also, if f =g∗h∗ is the exact factorization, Lemma 5 implies that kg∗ −xakm,∞ < 2a R < a 32d3 kh∗ −1ka,∞ < 2b R < b 32d3 .
Moreover, it is known that the distance of an approximate zero to the exact zero is bounded by 2α. This bound can be further sharpened, see [9]. So, d((g, h),(g∗, h∗))≤2α≤2 √ d+ 1 8 3√d+ 1 64d2 . Using dd+12 < 2 d, one obtains 2α≤ 3 128d . Hence, kg−xakm ≤ kg−g∗km+kg∗−xakm≤ 3 128d+ 1 32d2 ≤ 1 16d kh−1ka < kh−h∗ka+kh∗−1ka ≤ 1 16d .
We still need an estimate of kf −ghkh . We write
f −gh = (f −xa)−(gh−xa)
= (f −xa)−(g−xa)(h−1)−(g−xa)−xa(h−1) . Therefore, the norms satisfy
kf −ghkh ≤ kf−xakh+k(g−xa)(h−1)kh+kg−xakm+kh−1ka . We will need the
Lemma 9. Let g be monic and h antimonic. Then, k(g−xa)(h−1)kh ≤ d
3kg−x a
Whence we derive that kf −ghkh ≤ 1 32d2 + 1 322d + 1 16d+ 1 16d ≤ 1 4d .
If d ≥ 2, then 1/4d < 1/10. In the particular case d = 2, we also have kf −ghkh ≤ 1 128 + 1 128 + 1 32+ 1 32 < 1 10 ,
almost finishing the proof of Theorem 3. It remains to prove Lemma 9
Proof of Lemma 9: Set,
g? =g−xa ,
h? =h−1 ,
and ϕ =g?h?. We note that for 0≤i < d
ϕi = min(a,i) X k=max(0,i−b) gk?h?i−k . Now we estimate, kϕkh,1 ≤ X i min(a,i) X k=max(0,i−b) 2|a−i||gk?h?i−k| = X i min(a,i) X k=max(0,i−b) 2|a−i|2−a−i+2k2a−k|g?k|2i−k|h?i−k| .
Using the fact k < min(a, i), one obtains
and hence kϕkh,1 ≤ X i min(a,i) X k=max(0,i−b) 2−2 min(a,i)+2kkg?kmkh?ka ≤ kg?kmkh?kaX i 1 4+ 1 42 + 1 43 +. . . ≤ kg?kmkh?kaX i<d 1 3 ≤ d 3kg ? kmkh ? ka ,
where in the chain of inequalities we have used the Cauchy-Schwartz inequality.
So, kϕkh ≤ kϕkh,1 ≤ d 3kg ? kmkh ? ka
8. Proof of remaining Lemmata
8.1. Proof of Lemma 1. Notice that for eachiwith 0≤i≤a+b+ 1 we have that the i-th component of D2ϕ
f(g, h) is given by D2ϕf(g, h) i : (g,b b h,g,e eh)7→ X (gbjehi−j) + X (gejbhi−j) , (5)
where the sum is taken over a range of subindices j such that the corresponding coefficients make sense and gbj and gej (resp. hbj and e
hj) are elements of the tangent space to the affine linear manifold of monic (resp. antimonic) polynomials. To estimate the operator norm mentioned above we bound
D 2ϕ f(g, h)(g,b bh,eg,eh) h with (bg,hb) ma = 1 and (g,e eh)
ma = 1. Now, we estimate each of the
sums in equation (5). Recall that 2|a−i| X 0≤j<a 0<i−j≤b |gbjehi−j| ≤ X |gbj|2 a−j2i−j |ehi−j|2|a−i|−a+2j−i ≤ max 0≤j<a 0<i−j≤b 2|a−i|−a−i+2j kbgkm he a . To estimate Ma,b def = max 0≤j<a 0<i−j≤b 2|a−i|−a−i+2j ,
we consider the cases i≤a and i > a. In the former, we get 2|a−i|−a−i+2j = 22j−2i ≤ 1
since 0< i−j. In the latter,
2|a−i|−a−i+2j = 22(j−a) ≤ 1 4 , since j < a.
A similar reasoning gives, 2|a−i|| X 0≤j<a 0<i−j≤b e gjbhi−j| ≤ 1 4kgekm hb a .
Now we recall that
kgbkm 2 + hb a 2 = 1 , and kgekm 2 + he a 2 = 1 . Hence, X 0≤i≤a+b 2|a−i|D2ϕf(g, h)(g,b h,b g,e eh) i 2 ≤ X 0≤i≤a+b 1 16(kgbkm eh a+ hb akegkm) 2 ≤ (a+b+ 1) 16 (g,b bh) ma 2 (g,e eh) ma 2 ≤ (a+b+ 1) 16 . Therefore, D 2 ϕf(g, h) ma→h ≤ √ d+ 1 4 .
8.2. Proof of Lemma 2. We have to estimate the norm of the op-erator Dϕf(g, h)−1 in the case g = xa and h = 1. Notice that in this case Dϕf(xa,1)−1 = Ia+1 0 0 Ib ,
Now, if b ϕ=ϕb0x 0+ · · ·+ϕba+bx a+b , with kϕbkh = 1, then X 0≤i≤a+b+1 22|a−i||ϕbi| 2 = 1 , and Dϕf(x a,1)−1 ·ϕb ma 2 =kϕbkh 2 = 1 . Hence, Dϕf(x a,1)−1 ma →h = 1 . 9. Acknowledgments
We thank very helpful and stimulating conversations with D. Bini, J-P. Cardinal B. Fux Svaiter P. Kirrinis, V. Pan and .
References
[1] Victor Y. Pan, Solving a Polynomial Equation: Some History and Recent Progress.Preprint, CUNY (1995).
[2] Alexandre Ostrowski, Recherches sur la M´ethode de Graeffe et les Z´eros des Polynomes et des S´eries de Laurent.Acta Mathematica72, 99-257 (1940). [3] J. V. UspenskyTheory of equations. Mc Graw Hill, New York (1948).
[4] Arnold Sch¨onhage, Equation Solving in Terms of Computational Complexity. Proceedings of the International Congress of Mathematicians, Berkeley, 1986, 131-153. American Mathematical Society (1987).
[5] Peter Kirrinis,Partial Fraction Decomposition inC(z)and simultaneous
New-ton Iteration for Factorization inC[z]. Preprint, Bonn, (1995).
[6] Victor Y. Pan, Optimal and Nearly Optimal Algorithms for Approximating Polynomial Zeros.Computers Math. Applic.), to appear.
[7] Victor Y. Pan, Deterministic Improvement of Complex Polynomial Factoriza-tion Based on the Properties of the Associated Resultant. Computers Math. Applic.,30(2), 71-94 (1995).
[8] Steve Smale, Newton method estimates from data at one point, in R. Erwing, K. Gross and C. Martin (editors).The merging of disciplines: New directions in Pure, Applied and Computational Mathematics. Springer, New York (1986) [9] Michael Shub and Steve Smale, On the Complexity of Bezout’s Theorem I
-Geometric aspects.Journal of the AMS,6(2), (1993).
[10] Michael Shub and Steve Smale, On the complexity of Bezout’s Theorem II -Volumes and Probabilities. in: F. Eysette and A. Galligo, eds: Computational Algebraic Geometry. Progress in Mathematics109267-285, Birkhauser (1993). [11] Michael Shub and Steve Smale, Complexity of Bezout’s Theorem III ;
Condi-tion number and packing.Journal of Complexity9, 4-14 (1993).
[12] Michael Shub and Steve Smale, Complexity of Bezout’s Theorem IV ; Proba-bility of success ; Extensions. Preprint, Berkeley (1993).
[13] Michael Shub and Steve Smale, Complexity of Bezout’s Theorem V: Polyno-mial time.Theoretical Computer Science133(1), 141-164 (1994)
[14] Gregorio Malajovich, On generalized Newton algorithms: quadratic conver-gence, path-following and error analysis. Theoretical Computer Science133, 65-84 (1994).
Departamento de Matematica Aplicada da UFRJ, Caixa Postal 68530, CEP 21945, Rio, RJ, Brasil
E-mail address: [email protected]
Instituto de Matematica Pura e Aplicada – CNPq, Estrada Dona Castorina 110, Jardim Botanico, CEP 22460-320, Rio de Janeiro, RJ, Brasil