P xaaxaxaxa R in = + + + +

Stud.Cercet.Ştiint., Ser.Mat., 17 (2007), Supplement
Proceedings of CNMI 2007, Bacău, Nov.2007, pp. 117-138
THE COST OF THE RATIONAL POLYNOMIAL’S ROOTS’
ISOLATION
Alexe Calin MUREŞAN and AMELIA BUCUR
Abstract. Firstly, for the integer polynomial, because the real polynomial’s
roots belong to an interval, we use a method which consists in splitting the
interval, until we have at most one polynomial root into each subinterval
obtained. The number of splittings, obtained in two original ways, using G. E
Collins inequality or M. Maurice inequality, will be evaluated in terms
depending only on the polynomial.
Then, we can make the isolation of the roots and we can give all
the intervals for all the roots of the integer and rational polynomials, each
interval containing exactly one polynomial root. For evaluating the cost of the
isolation, we use the previous number of splittings.
Key words and phrases: Separating the roots, Cauchy’s Theorem, Collins
Theorem, measure of the polynomial, cost of the algorithm, O(g(n)), o(g(n)).
(2000) Mathematics Subject Classification: 68Q25, 68W40
1. Introduction
Definition 1.1.
Let P( x) = a0 + a1 x + a2 x 2 + .. + an x n ; ai ∈ R ; i = 0; n, n ≥ 1 , an ≠ 0 . Then
|| P ||= a 02 + a12 + .. + a n2 , || P || ∞ = max{| a 0 |, | a1 |,.... | a n |} are the norms of
the polynomial P.
Definition 1.2.
117
a) An isolating (respectively, preisolating) interval for the roots of a a
polynomial is an open interval having as limits two rational numbers, between
which there is precisely (respectively, at most ) one root of the polynomial.
b) Isolating / preisolating the real roots means giving for all of the
polynomial’s roots, disjunct isolating / preisolating intervals.
Definition 1.3.
a) Starting from a single interval, we will call “splitting”, the division of it in
two subintervals equally by length. By repeating the process, where ‘k’ is a
natural number, if we “split” each of the 2 k intervals obtained by division, we
will obtain 2 k +1 subintervals and 2 k +1 +1 points, which will be the extremities
of the determined subintervals; the process will also be called splitting.
b) The recurrent process of a finite number of times, ‘k’, with ‘k’ natural
number will be called successive splitting.
Definition 1.4.
a) For a given function g(n), g : N → R, we denote by O(g(n)) the set of
functions:
O (g(n)) ={ f(n) / f : N → R such that there exist positive constants c and
n 0 such that 0 ≤ f(n) ≤ c ⋅ g (n) for all n ≥ n 0 }.
Instead f ∈ O ( g (n)) we write f(n)= O(g(n)).
b) For a given function g(n), g : N → R, we denote by o(g(n)) the set of
functions:
o (g(n))={f(n) / f : N → R and for any positive constant c there exists
n 0 ∈ N such that 0 ≤ f(n) ≤ c ⋅ g (n) for all n ≥ n 0 }.
Instead f ∈ o( g (n)) we write f(n)= o(g(n)).
118
Remark 1.1. For a given function g(n), g : N → R we can denote by o(g(n))
the set of functions:
o (g(n))={f (n) / f : N → R such that 0 ≤ f(n) and lim
n→∞
f ( n)
= 0 }.
g ( n)
Proof: See [6] from References or is obvious from Definition 1.4.
Definition 1.5.
a) A sum, a difference, a division, a multiplication, an exponention of two
real numbers or other elementary operation is called an arithmetic operation.
Also we consider”splitting an interval” as a single arithmetic operation.
b) For an algorithm which depend on the natural number ‘n’ , let be, the cost
(or the time) of the algorithm, the number of the arithmetic operations that are
performed in the algorithm, then if f (n) ∈ N is the number of “arithmetic
operations” used in algorithm, we call, f (n) the cost of the algorithm, or the
necessary time for the algorithm.
If O (g (n)) =f (n) we can “abuse” and consider O(g(n)) the cost of the
algorithm.
Definition 1.6.
a) For P( x) = a0 + a1 x + a2 x 2 + .. + an x n ; ai ∈ R; i = 0; n, n ≥ 1, an ≠ 0, if
f 0 ( x) = P ( x); f1 ( x) = − P '( x); f 2 ( x) = − f 0 ( x) mod f1 ( x);...;
f i +1 ( x) = − f i −1 ( x) mod fi ( x);
until f p +1 ( x) = 0, p ∈ N , the series { f 0 , f 1 ,.. f p } is called Sturm’s series
attached to the polynomial P(x).
119
b) Let x ∈ R, then the number of sign changes for the Sturm’s series at the
previous point, into real number x is:
V ( x) = Card {(i, j ) / f i ( x) ⋅ f j ( x) < 0 and f k ( x) = 0 if i < k < j},
where for i and j , we have 0 ≤ i < j ≤ p, and both,
f i and f j belong to
Sturm’s series.
Theorem 1.1 ( Sturm’s Theorem). For P(x) a real polynomial,
P ( x) = a0 + a1 x + a2 x 2 + .. + an x n ; ai ∈ R; i = 0, n , n ≥ 1, an ≠ 0 and a, b ∈ R
with a<b. If { f 0 , f1 ,.. f p } is Sturm’s series attached to the polynomial P(x)
and if P (a ) ≠ 0 and P (b) ≠ 0, then the real number of roots of P, in the
interval [a, b] will be: V (a ) − V (b) .
Proof. See [9] or [11] from References.
Assumption 1.1.
We are accepting that all the operations performed repeatedly, in only one
splitting, have the same cost as only one of them, as if they were done only
once. For example, calculating the values of the function V, at the extremities
of the intervals obtained as a result of one splitting, has the cost of a single
operation of V(x) type.
Remark 1.2. Preisolating the roots of an integer, square-free, polynomial.
For P( x) = an x n + ... + a1 x + a0 ∈ Z [ x], n ≥ 1 , an ≠ 0 , a0 ≠ 0, we know the
Cauchy bound, that the roots belong to an interval such as
(-R, R), where R = 1 +
120
|| P || ∞
| an |
.
Then if P(x) is square-free, we will find by successive splittings, the number
‘f(n)’ of necessary divisions, so that at most one of the integer polynomial
real root, will belong to a subinterval after all the successive divisions.
When we suppose that spliting is been made in a single arithmetic
operation, we can give the cost for isolating the roots:
f (n) = O [n ⋅ ln(n⋅ || P ||)].
Remark 1.3. Separating the roots of an rational polynomial.
For P( x) = an x n + ... + a1 x + a0 ∈ Z [ x], n ≥ 1 , an ≠ 0 , a0 ≠ 0,
by successive splittings, there are algorithms using Sturm’s Theorem or other
theorems for each subinterval from the division, in order to find the number of
roots within them. The division method is repeated, until after applying
Sturm’s Theorem, exactly one root will be determined in each subinterval; the
subinterval is being kept, and the splitting is continued for the other ones.
We give here two ways for preisolate the roots, and in the both cases
we give a number of the intervals bigger that the number needed for isolatr
using Sturm’s Theorem. If we use “Collins inequality”, see Theorem 2.6, the
number of splittings is certainly:
f (n ) < ( 3n + 8) ⋅ log 2 (n ⋅ P ) , f (n ) = O [n ⋅ log 2 (n⋅ || P ||)].
When we separate the roots, we can assume that the Sturm sequence is
computed only once at each splitting, which computation will take
(
)
O n 3log2 ( n || P ||) log 2 ( n ) arithmetic operation see Proposition 2.1. ii) .
Then from Assumption 1.1, the cost of isolating is:
(
)
O n 4log2 2 ( n || P ||) log 2 ( n ) .
121
For P( x) = an x n + ... + a1 x + a0 ∈ Q[ x], n ≥ 1, an ≠ 0, a0 ≠ 0 , in order
to separate the roots of the polynomial, we introduce the polynomial H with
the same roots as P, but each root occurs only once: H =
P
.
gcd( P, P ')
The cost for separating the polynomial roots of P ( x) ∈ Q[ x] with the
degree ‘n’ by adding the cost of H finding is:
(
)
O n 4log2 2 ( n ⋅ m || H ||) log 2 ( n ) ,
where ‘m’ is the least common multiple of all denominators of
coefficients of H=
the
P
.
gcd( P, P ')
2. The cost for preisolating and isolating the roots for the integer square
free polynomial
Definition 2.1.
a) Let P( x) = a0 + a1 x + a2 x 2 + .. + an x n ; ai ∈ C ; i = 0, n, n ≥ 1, an ≠ 0. The
minimal distance between two of the polynomial P roots is:
sep ( P ) = min{| α i − α j |; α i ≠ α j , i ≠ j}, where α i and α j are the roots of
P(x) or sep ( P ) = +∞, if P doesn’t have two different roots.
b) The discriminant of the polynomial P noted with ∆ or disc(P ) will be:
disc(P)= ∆ = an2 n − 2 ⋅ ∏ αi − α j
i< j
Definition 2.2. Let
2
where α i and α j are the roots of P(x).
P ( x) = a0 + a1 x + a2 x 2 + .. + an x n ,
P ( x) ∈ C[ x] , with the roots
x1 , x 2 ,..., x n ∈ C ;
122
n ≥1 ,
an ≠ 0 ,
repeated according to their
multiplicity, then by definition, the measure of the polynomial P, noted by
M(P), is:
n
M ( P ) = M [ P ( x)] =| an | ⋅∏ max{1,| x j |} .
j =1
P ( x) ∈ C[ x]; P ( x) = a0 + a1 x + a2 x 2 + .. + an x n , n ≥ 1,
For
Theorem 2.1.
a n ≠ 0 , with the roots
multiplicity,
x1 , x 2 ,..., x n ∈ C ; repeated according to their
we have:
| a0 |
a) M ( P ) =
;
n
∏ min{1, x
j
}
j =1
1
b) M [ x n ⋅ P ( )] = M [ P ( x)] ;
x
c) M ( P ⋅ Q ) = M ( P ) ⋅ M (Q ), (∀) P, Q ∈ C[ x] ;
d) M [ P ( x k )] = M [ P ( x)] ;
2
2
e) M 2 ( P ) + a0 an ⋅ M −2 ( P ) ≤ P ; f) M ( P) ≤ P .
Proof.
n
a) From Viete's formulas.
∏x
j =1
n
But
∏x
j =1
j
j
a0
,
an
n
n
a0
j =1
j =1
an
= ∏ max{1, x j } ⋅ ∏ min{1, x j } =
a0
n
So | a n | ⋅∏ max{1, x j } =
j =1
=
.
n
∏ min{1, x
j =1
j
}
1
b) H ( x) = x n ⋅ P ( ) = a0 x n + a1 x n −1 + ... + an −1 x + an so,
x
123
n
1
1
M [ x ⋅ P ( )] = a0 ⋅ ∏ max{1,| y j |} where H( y j )=0 and y j =
, j = 1, n ;
x
xj
j =1
n
1
Now M [ x n ⋅ P ( )] =
x
| a0 |
and from a) is obvious.
n
∏ min{1, x
j =1
j
}
c) ; d) are easy to prove, also see [10] from References.
e) see [11], [12] or [15] from References.
2
f) from e) we have that : M 2 ( P ) ≤ P and M ( P) ≤ P .
Theorem 2.2. If
P ( x) ∈ C[ x]; P ( x) = a0 + a1 x + a2 x 2 + .. + an x n ,
a0 ≠ 0 ,
an ≠ 0 , n ≥ 1 , then:
ln[ M ( P )] =
1
2π
2π
∫ ln | P(e
iθ
) |dθ
0
and:
min{| P( z ) |} ≤ M ( P) ≤ max{| P( z ) |}
| z| =1
| z| =1
Proof. See [15] to References. Also we can see [13] to References.
Remark 2.1. For a lot of properties about M(P) see [12], [13] to References.
For estimate M(P) trought “Graeffe-Like’s method” see [2] or [11] to
References.
Theorem 2.3. If P ( x) = a0 + a1 x + a2 x 2 + .. + an x n ; n ≥ 1, an ≠ 0 , is squarefree then:
a) If P ∈ C[ x] ,
sep(P ) > n
−
n+ 2
2
⋅ disc( P ) ⋅ M ( P )1− n ≥ n
b) If P ∈ Z [x] , sep(P ) > n
−
n+ 2
2
−
n+2
2
⋅ disc( P ) ⋅ || P ||1− n .
⋅ M ( P )1− n ≥ n
124
−
n+2
2
⋅ || P ||1− n .
Proof. There are inequalityes by M. Mignotte. See [11] or [12] from
References.
Theorem 2.4. ( Collins 1973) If P ∈ Z [x] , P ( x) = a0 + a1 x + a2 x 2 + .. + an x n ;
n ≥ 1, an ≠ 0, is square-free then: sep(P ) >
1 − n / 2 −3 n / 2
e
n
P
2
−n
.
Proof. See [3] and [4] from References, also see [1] and [8] to the References.
Theorem 2.5. ( Cauchy bound)
If P( x) = an x n + an −1 x n −1 + ... + a1 x + a0 , ai ∈ C ; i = 0, n, n ≥ 1 and a0 ≠ 0,
an ≠ 0 , if {x1 , x 2 ,..., x n } ⊂ C are the roots repeated according to multiplicity
of P(x), P( xi ) = 0, i = 1, n, then (∃) R real number,
R = 1+
|| P ||∞
so that, | xi |≤ R; i = 1, n .
| an |
Proof. See [7], [9] or [10] from References.
Definition 2.3. In order to preisolate the real roots of the square free
polynomial P ( x) ∈ Z [ x] P ( x) = an x n + an −1 x n −1 + ... + a1 x + a0 , n ≥ 1,
an ≠ 0 and a0 ≠ 0, we denote with ‘f(n)‘ the cost of an algorithm or the
number of the operations for splitting the interval which contains all real
roots, until each interval obtained by splitting has at most one root
Theorem 2.6. If P ( x) ∈ Z [ x] , P ( x) = an x n + an −1 x n −1 + ... + a1 x + a0 , is a
square-free polynomial, where n ≥ 1, an ≠ 0 and a0 ≠ 0, then in conditions to
the previous definition we have:
f (n ) < (3n + 8) ⋅ log 2 ( n ⋅ P ) , f (n ) = O [n ⋅ log 2 (n⋅ || P ||)] and
(∀) q ∈ Q , q > 0, f (n ) = o  n q +1 ⋅ log 2 (n⋅ || P ||)  .


125
Proof. Because from Theorem 2.5. | α i |≤ R; i = 1, n ,
R =1+
|| P || ∞
| an |
,
the length of the interval containing the real roots of the polynomial is:
L= 2 ⋅ R , then
L = 2⋅
| an | + || P ||∞
.
| an |
Now we use Theorem 2.4., hence P ∈ Z [ x], sep(P) >
1 − n / 2 −3 n / 2
e
n
P
2
−n
.
Then for the number “N “of the intervals, equally by length with
1 − n / 2 −3n /2
e
n
P
2
−n
, that isolate the roots, we have:
N ≤ 1+
L
< 1+
sep ( P )
N < 1+
2 ⋅ (| an | + || P ||∞ )
1
| an | ⋅ ⋅ e − n /2 n −3n / 2 P
2
4 ⋅ (| an | + || P ||∞ ) ⋅ en /2 n3n /2 P
−n
,
n
| an |
.
Because P ∈ Z [ X ] , n ≥ 1 , an ≠ 0 and a0 ≠ 0, we have 0 ≤|| P ||∞ <||P||,
and
(| a n | +||P||∞ )
|a n|
< ||P||∞ <||P||.
n
N < 1 + 4 ⋅ e n / 2 ⋅ n3 n / 2 ⋅ P , N < 1 + 4 ⋅ ( e ⋅ n3 ⋅ P ) n .
Now:
For giving the previous ‘N’ intervals by successive splitings, after
“k” operations, we can have 2k ≤ N < 2k +1 and we need
k + 1 ≤ 1 + log 2 N
arithmetic operations. Now we can take f (n) = 1 + log 2 N , the number of
necessary operations for isolating all the real roots of the polynomial P(x) and
we will have:
126
N < 1 + 4 ⋅ ( e ⋅ n3 ⋅ P ) n < 5 ⋅ ( e ⋅ n3 ⋅ P ) n ,
log 2 N < log 2 5 + n ⋅ log 2 ( e ⋅ n 3 ⋅ P ) ,
3
2
f (n) ≤ 1 + log 2 N ≤ 1 + log 2 5 + n ⋅ log 2 ( e ⋅ n ⋅ P ),
f (n) < log 2 10 +
n
3⋅ n
2
⋅ log 2 e +
⋅ log 2 (n ⋅ 3 P ).
2
2
3
2
Because P ∈ Z (x) , an ≠ 0 and a0 ≠ 0, 1< 2 ≤ P , e < 2 , is obvious now:
n
3n
3n + 16 3n
+ ⋅ log 2 (n ⋅ P ).
f (n) < 4 + ⋅ log 2 2 2 + ⋅ log 2 (n ⋅ P ) =
2
2
4
2
3
Because P ∈ Z (x) , an ≠ 0 and a0 ≠ 0 ,
2 ≤ P , we have:
1
= log 2 2 ≤ log 2 (n ⋅ P ) .
2
Then :
3n + 16 1 3n
3n + 16
3n
⋅ + ⋅ log 2 (n ⋅ P ) ≤
⋅ log 2 (n ⋅ P ) + ⋅ log 2 (n ⋅ P ),
2
2 2
2
2
f (n ) < (3n + 8) ⋅ log 2 ( n ⋅ P ) .
f (n) <
From the previous relation for n0 = 3, c = 6 ,
f (n) < c ⋅ n ⋅ ln(n ⋅ P ), ( ∀ ) n ≥ n0 and from Definition 1.4. a), it is obvious
now that: f (n ) = O [n ⋅ log 2 (n⋅ || P ||)].
Also is easy to prove that:
(∀) q ∈ Q, q > 0, lim
n →∞ n
q +1
f (n )
= 0.
⋅ log 2 ( n⋅ || P ||)
From Definition 1.4. b) and Remark 1.1. we have :
(∀) q ∈ Q, q > 0 :
f (n ) = o  n q +1 ⋅ log 2 (n⋅ || P ||)  .


127
We shall take into consideration these extremely simplified relations for the
cost of the number of necessary operations for dividing the interval (-R;R) in a
large enough number of intervals, so that each root of P(x) to belong at most
to one of these intervals.
Remark 2.2. We can proof the last theorem if we use Cauchy’s bound,
| α i |≤ R; i = 1, n , R = 1 +
|| P || ∞
| an |
and the inequality from Theorem 2.3. b)
P ∈ Z [ x], sep(P ) > n
−
n+ 2
2
⋅ M ( P )1− n ≥ n
−
n+2
2
⋅ || P ||1− n .
Then for the number “N “of the intervals, equally by length with
n
−
n+ 2
2
⋅ M ( P )1− n that isolate the roots, we have:
N ≤ 1+
2 ⋅ (| an | + || P ||∞ )
L
< 1+
,
n+2
−
sep ( P )
−
n
1
| an | ⋅n 2 ⋅ M ( P)
2 ⋅ (| an | + || P ||∞ ) ⋅ n
N < 1+
| an |
But
n+ 2
2
⋅ M ( P ) n −1
.
(| an | + || P ||∞ )
<|| P ||∞ <|| P || and from Theorem 2.1. f) M ( P) <|| P || ,
| an |
then: N < 1 + 2⋅ || P ||∞ ⋅n
n+ 2
2
⋅ M ( P)
n −1
< 1 + 2⋅ || P || ⋅n
n
n+ 2
2
.
If ‘f(n)‘ is the number of the operations for splitting the interval which
contains all real roots, until each interval obtained by splitting has at most one
root, then f (n) ≤ 1 + log 2 N and now we can see that:
f (n ) = O  n ⋅ log 2 ( n ⋅ || P ||) 
Also for another way for preisolation, using M. Mignotte Theorem, we can
see [14] from References.
128
Definition 2.4.
i) The greatest common divisor of the coefficients to the integer polynomial is
denoted by cont(P) and the polynomial
P
cont ( P )
is the primitive part of
polynomial P.
ii) P is positive, respectively negative, if his leading coefficient is positive,
respectively negative.
Proposition 2.1. If
P ( x ) = a0 + a1 x + a2 x 2 + .. + an x n ;
n ≥ 1, an ≠ 0 ,
P ( x ) ∈ Z ( x ), the cost of the evaluation of the V(x), from the Sturm’s series
a
at the non-zero rational point ‘x= , b > 0’ is:
b
(
)
i) O n 2 ( ln a b ) + n 4 ( ln | a | ⋅b )( ln n || P ||) , if we start at the primitive part
2
of polynomial P and to the primitive part of polynomial P’ to the Sturm’s
series.
(
)
ii) O n 3log 2 ( n || P ||) log 2 ( n ) , using the fast Fourier Transform if, in the
worst case denoting by d the number of digits in x, we mean the greater of
the number in the numerator and denominator, d = nlog 2 (n || P ||).
The first point is from Theorem 5.3; see [9] and the next point are coming
from Table 2, pp. 17 see [8].
Theorem 2.7. For separating the real roots of the polynomial P ( x) ∈ Z [ x],
P( x) = an x n + an −1 x n −1 + ... + a1 x + a0 , ai ∈ Z ; i = 0, n with the degree
‘n’,
n ≥ 1 , an ≠ 0 and a0 ≠ 0 that has only simple roots, considering that
the
number of arithmetic operations for giving only the intervals which contain a
129
single root dominate the isolation cost, by using the Sturm’s Theorem is
O  n 4log 2 2 ( n || P ||) log 2 ( n ) arithmetic operations.


Proof: We present here the proceeding for separating the roots.
 || P ||∞ 
 || P ||∞ 
Let be b = 1 +
 + 1, b = 
 + 2.
| an | 

 | an | 
If {x1 , x 2 ,..., x n } ⊂ C are the roots repeated according to multiplicity of P(x),
P( xi ) = 0, i = 1, n, then | xi |≤ b; i = 1, n as we can see from Theorem 2.5.
Procedure for separating the roots
Step ‘1’: “We split, if is necessary, the interval [-b,b] and we obtain the
subintervals: [-b,0] and [0,b] ”
p=-2, S=0, D=0, t=2,
If V(-b) –V(b)=1, then:
“The
single
root
of
the
polynomial
is
in
the
interval
[-b,b]”,
stop.
else: b1 = −b , b2 = 0, b3 = b, D=D+1, S=1,
..................................................
Step ‘t’: “We split the intervals obtained at the previous step”,
“If S=1, then:
p=-2, S=0, c1 = b1 ,
For i = 1, t
If V( bi ) –V( bi +1 )=1 then : “In the interval [ bi , bi +1 ] we have exactly one
root of the
polynomial “
130
If V( bi ) –V( bi +1 )=0 then : “In the interval [ bi , bi +1 ] we don’t have any roots
of the polynomial”
If V( bi ) –V( bi +1 )>1 then : “We split the interval [ bi , bi +1 ]”,
p=p+3, S=1, D=D+1,
c p = bi , c p +1 =
bi + bi +1
2
, c p + 2 = bi +1 ,
end,
For i = 2, p ,
If ci ≠ ci +1 and ci ≠ ci −1 then: bt = ci , t=t+1,
If ci = ci −1 then: skip the next instruction,
If ci = ci +1 then: bt = ci , t=t+1,
end,
E = [ log 2 D ] + 1 ,
………………………………………………………..
The ‘final step’:
“We stop the procedure because we accomplish the
separating of the roots”.
If S=0 or E > ( 3n + 8) ⋅ log 2 ( n ⋅ P ) then:
For i =1,t ,
Write “[ bi , bi +1 ]” ,
end,
End.
Because V(bi) –V(bi+1) =1, we have obtained all the intervals
131
[bi, bi+1] which have exactly a single root of P(x). “D” will be the number of
the intervals and “ E = [ log 2 D ] + 1 ” the number of splittings used for
separating the roots of the polynomial and then from Theorem 2.6. we have:
E < f (n ) < ( 3n + 8) ⋅ log2 (n ⋅ P ) .
We can take into account only the condition: ”If S=0 ” in order
to stop the procedure, or only: ”If E > ( 3n + 8) ⋅ log 2 ( n ⋅ P ) , condition which
can also have the same effect. In the last case, if we don’t use Sturm’s series
we accomplish the “preisolating of the roots”, and otherwise we give the
intervals [bi, bi+1], which are smaller in length and contain exactly one root of
the polynomial. In the first case we can not evaluate which are the intervals
containing roots, for splitting only them and the number ‘E’ of splittings used
for that. We identify these intervals by using Sturm’s Theorem and then we
split again only these intervals. Because we can not evaluate the number ‘D’
of intervals, containing at most one root, so that we can continue by splitting
only them, neither the number ‘E’ of splittings, we use the result from the
previous Theorem 2.6., for evaluating the cost of isolating the roots and we
take:
E= O  n ⋅ log 2 ( n ⋅ || P ||)  .
Now, from Supposition 1.1. and also we can see Remark 1.3., because
when isolating the roots we can assume that the Sturm sequence with the
instruction:
“If V (bi −1 ) − V (bi ) = 1 ”
is computed only once at each splitting operation, and we can see
Proposition 2.1. ii) Where the cost of calculating V (x ) or V (bi ) is
132
O  n 3log 2 ( n || P ||) log 2 ( n ) ; then the cost of arithmetic operations used and


included in Sturm’s series costs is:
O  n ⋅ log 2 ( n ⋅ || P ||)  O  n 3log 2 ( n || P ||) log 2 ( n )  = O  n 4log 2 2 ( n || P ||) log ( n ) 
Also, all the arithmetic operations at the Step ‘t’ where we split the
intervals, is considered to be computed only once and because t ≤ n , we have
in the “procedure”, another O (n) arithmetic operations. Then by adding this
cost, the final cost for isolating the roots remain:
O  n 4log 2 2 ( n || P ||) log 2 ( n ) .


Observation 2.1 A complete evaluating for isolating the roots using the Sturm
series we can find in [9] but is needed to see also [5] for improve the cost.
J. Davenport make the evaluation that each computation of V requires
O  n 3log 2 ( n || P ||) log 2 ( n ) arithmetic operations for the practical value of


the study, see [8] pp.15 or as we can see into the previous theorem.
3. The cost for preisolating and isolating the roots for rational polynomial
Proposition 3.1. If P(x) is a polynomial with the degree ‘n’, then H=
P
has the same roots as P but each root occurs only once.
gcd( P, P ')
Proof. See [1], [9] or [5] from References.
Theorem 3.1. Greatest Square-free Divisors
133
If P is an integer polynomial with the degree n > 0, k the number of his real
roots, then the maximum computing time to apply an algorithm for determing
the primitive part of the unique positive greatest square-free divisor of P is:
O  nk 2 ( ln n || P ||)

2
2
2
+ k 2 ( n − k + 1) ( ln || P |)  .

For proving see [9] also [5].
Theorem 3.2. P ( x) = an x n + ... + a1 x + a0 ∈ R[ x], n ≥ 1, a0 ⋅ an ≠ 0.
Considering that the isolation cost is dominated to the number of arithmetic
operations for giving only the intervals which contain a single root, by using
the Sturm’s Theorem, then :
i) It is possible to separate the real roots of the polynomial P ( x) ∈ Q[ x] with
the degree ‘n’ that has only simple roots, (with the multiplicity order 1), in:
O  n 4log 2 2 ( n ⋅ m || P ||) log ( n )


arithmetic operations, where ‘m>0’ is the lowest common multiple of alls
denominators of {a 0 , a1 , a 2 ,..a n } the coefficients of P.
ii) It is possible to separate the real roots of the polynomial P ( x) ∈ Q[ x] with
the degree ‘n’ in: O  n 4log 2 2 ( n ⋅ m⋅ || H ||) log ( n ) , arithmetic operations,


where ‘m>0’ is the least common multiple of all denominators of
coefficients of H=
the
P
.
gcd( P, P ')
Proof. i) Because {a 0 , a1 , a 2 ,..a n } ⊂ Q we can find ‘m>0’ as the least
common multiple of alls denominators of {a1 , a2 ,..an }. Let be R(x)=m P (x) ,
R ( x) ∈ Z [ x] . Now R = m P , R and P have the same roots. Then from
Theorem 2.7 we can separate the roots of R in
134
O  n 4log 2 ( n⋅ || R ||) log ( n ) = O  n 4log 2 2 ( n ⋅ m || P ||) log ( n )




arithmetic operations.
R(x)=mP(x) and we can calculate it by using at most ‘n+1’ multiplications
or arithmetic operation.
The cost of calculating ’m’ as the least common multiple, is identical
to the cost of calculating the greatest common divisor, for denominators of the
coefficient system, {a1 , a2 ,..an }, and by taking two denominators at a time,
with the classical way is nO(n)=O(n 2 ).
In conclusion, the cost for the isolation is:
n+1+O(n 2 )+ O  n 4log 2 2 ( n ⋅ m || P ||) log ( n ) =


O  n 4log 2 2 ( n ⋅ m || P ||) log ( n ) .


ii) For given H=
P
, we have the same cost, with the cost for giving
gcd( P, P ')
gcd( P, P '), we need O  nk 2 ( ln n || P ||)

2
2
2
+ k 2 ( n − k + 1) ( ln || P |) 

arithmetic operations, see Theorem 3.1.
Then for ‘m>0’, the least common multiple of all denominators of the
coefficients of H, when n·m ⋅ H ( x) ∈ Z [ x] and to the previous point, we need
O  n 4log 2 2 ( n ⋅ m⋅ || H ||) log ( n )


arithmetic operations
for finding the
intervals needed in procedure for isolating the roots.
Then by adding the two previous costs we obtain when
O  n 4log 2 2 ( n ⋅ m⋅ || H ||) log ( n ) , the cost for isolating the roots.


135
References.
[1] Arnon, D.S., Collins., G.E., McCallum, S., Cylindrical Algebraic
Decomposition, SIAM J. Comp. 13(1984), pp.865-877, 878-889.
[2] Cerlienco, L., Mignotte, M., Piras, F., Computing the measure of a
polynomial, Journal of Symbolic Computation Vol.4. Issue 1., Academic
Press ,Inc. Duluth ,MN,USA. , 1987, pp.21-34.
[3] Collins, G. E. , Horowitz E., The minimum Root Separation of a
polynomial, Jstor, Mathematics of Computations, vol. 28, No. 126 ,1974,
pp.589-597.
[4] Collins, G.E., Computer Algebra of Polynomials and Rational
Functions, Am. Math. Monthly, Vol. 80, No. 7 (Aug.-Sept. 1973), pp. 725755.
[5] Collins, G. E., Computing Time Analyses for Some Arithmetic and
Algorithms, Proceedings of the 1968 Summer Institute on Symbolic
Mathematical Comutah, R. G. Tobey, Editor, IBM Boston Programming
Center, (June 1969), pp. 195-231.
[6] Cormen, H. Thomas; Leiserson, E. Charles; Rivest, L., Ronald,
Introduction To Algorithms, The MIT Press, McGraw-Hill Book,1989, pp
23-41.
[7] Cyrus, Colton, MacDuffee, Theory of Equations, John Wiley & Sons,
Inc., New York, 1954.
[8] Davenport, J., Computer Algebra for Cylindrical Algebraic
Decomposition, TRITA-NA-8511, pp.3-15.
[9] Lee E. Heindel, Integer Arithmetic Algorithms for Polynomial Real
136
Zero Determination, Jour. A.C.M., Vol. 18, No. 4 (Oct. 1971), PP .533-548.
[10] Householder, A. S., The Numerical Treatment of a Single Nonlinear
Equation, McGraw-Hill Book Company Inc.,New-York, 1970.
[11] Mignotte, M., Introduction to Computational Algebra and Linear
Programming, Ed. Univ. Bucuresti, 2000, pp.177-181; 132-135; 149-156. (in
Romanian)
[12] Mignotte, M., Some Useful Bounds, Computing Supplementum 4 (ed. B.
Bucherger, Collins G.E. &R.G.K Loos), Springer-Verlag, Wien-New York,
1982, pp. 259-263.
[13] Muresan, A. C., The Approximation of a Polynomial’s Measure,
with Applications
towards
Jensen’s
Theorem, General mathematics
volume 15 no.4, 2007, ed. by Department of Mathematics of the University
"Lucian Blaga", Sibiu, Romania.
[14] Muresan, A. C., Evaluating the Cost of the Integer Square Free
Polynomial’s Roots’ Separation, General mathematics volume 16 no.2,
2008, ed. by Department of Mathematics of the University "Lucian Blaga",
Sibiu, Romania.
[15] Prasolov, V. V., Polynomials, Moscow Center for Continuous Math.
Education, 2001-2004 pp.160-170.
Petroleum-Gas University of Ploiesti
Department of Mathematics
Bd-ul Bucuresti 139
Email: [email protected]
137
„Lucian Blaga University“ of Sibiu
Department of Fundamental Mathematics
Bd-ul Victoriei 10
Email: [email protected]
138