MM Research Preprints, 134–145 No. 15, April 1997. Beijing Explicit Criterion to Determine the Number of Positive Roots of a Polynomial1) Lu Yang and Bican Xia2) Abstract. In a recent article, a complete discrimination system was given for a polynomial with symbolic/literal coefficients. Such a system is a set of explicit expressions in terms of the coefficients, which is sufficient for determining the numbers and multiplicities of the real and imaginary roots. Sometimes, however, one wants to know the number of roots in a certain range, especially, in a interval. We give here an explicit criterion to determine the number of positive roots of a real polynomial, and hence an efficient algorithm is introduced for determining the number of roots in a general interval. 1. Introduction It is of theoretical and practical significance to determine the number of roots in a certain range of a polynomial by an explicit criterion. Given a polynomial with symbolic/literal coefficients, a complete discrimination system is a set of explicit expressions in terms of the coefficients, which is sufficient for determining the numbers and multiplicities of the real and imaginary roots. Such a criterion for root-classification was not given for polynomials with degrees greater than 4, until [?] published recently. In that paper, however, the problem is considered on total real axis or total complex plane. It is often required in various applications to determine the number of real roots in some interval (a, b) for a given polynomial with real coefficients, f (x) = a0 xn + a1 xn−1 + · · · + an , where assume f (a) 6= 0 and f (b) 6= 0. To do this, theoretical speaking, we can let g(x) = (x2 + 1)n · f ( ax2 + b ), x2 + 1 find the number of all the real roots of g (using the algorithm described in the next section), then, half the number is what we want. In detail, if the number of real ik -ple roots of g(x) is νk , then, the number of the ik -ple roots of f (x) in (a, b) must be ν2k , for k = 1, 2, · · ·, respectively. But such a procedure is very inefficient indeed for symbolic computation, so we employ the following method in practice. • By Na , Nb denote the numbers of the roots of f in intervals (a, ∞), (b, ∞), respectively. Obviously the number of roots in (a, b) is equal to Na − Nb . 1) This work is supported in part by the National Science Foundation of China. Laboratory for Automated Reasoning & Programming, Chengdu Institute of Computer Applications, Academia Sinica, 610041 Chengdu, People’s Republic of China 2) Number of Positive Roots of a Polynomial 135 • The problem of finding numbers Na , Nb can be reduced by translations to that of determining the number of positive roots of a polynomial. • We have got a more efficient algorithm, an explicit criterion, to determine the number of the positive roots, that is described in Section 3. A sketch of the results of [?], without proofs, is given in Section 2, which is necessary for Section 3. The latter contains new content. Besides the main theorems about the number of positive roots, there we give, for example, a solution to the following problem: Find the condition on a, b, c such that (∀ x > 0) x5 + ax2 + bx + c > 0. 2. Review of some general results This section does not contain new results, and the notations used are almost the same as in [?]. Definition 2.1 (Discrimination Matrix) Given a polynomial with general symbolic coefficients, f (x) = a0 xn + a1 xn−1 + · · · + an , the following (2 n + 1) × (2 n + 1) matrix in terms of the coefficients, a0 a1 a2 0 na (n − 1)a 0 1 a0 a1 0 na0 ··· an · · · an−1 · · · an−1 an · · · 2 an−2 an−1 ··· ··· ··· ··· a0 a1 · · · an 0 na0 · · · an−1 a0 a1 · · · an , is called the discrimination matrix of f (x), and denoted by Discr(f ). By dk or dk (f ) denote the determinant of the submatrix of Discr(f ), formed by the first k rows and the first k columns, for k = 1, · · · , 2 n + 1. The principal minor sequence of the discrmination matrix, {d1 , d2 , · · · , d2 n+1 }, plays a very important role in this paper. Definition 2.2 (Discriminant Sequence) Let Dk = d2k for k = 1, · · · , n. We called the n-tuple {D1 , D2 , · · · , Dn } the discriminant sequence of polynomial f (x). 136 Lu Yang and Bican Xia Sometimes, we denote it by a more detailed notation to specify f (x): {D1 (f ), D2 (f ), ···, Dn (f )}. Definition 2.3 (Sign List) We call the list [sign(D1 ), sign(D2 ), ···, sign(Dn )] the sign list of a given sequence {D1 , D2 , · · · , Dn }, where sign(x) = 1 if x > 0, if x = 0, if x < 0. 0 −1 Definition 2.4 (Revised Sign List) Given a sign list [s1 , s2 , · · · , sn ], We construct a new list [ε1 , ε2 , · · · , εn ] as follows: (which is called the revised sign list) • If [si , si+1 , · · · , si+j ] is a section of the given list, where si 6= 0; si+1 = si+2 = · · · = si+j−1 = 0; si+j 6= 0, then, we replace the subsection [si+1 , by [ −si , −si , si , si , −si , −si , i.e. let si+2 , si , ···, si+j−1 ] si , −si , · · · ], r+1 εi+r = (−1)[ 2 ] · si for r = 1, 2, · · · , j − 1. • Otherwise, let εk = sk , i.e. no changes for other terms. Example 2.1 The revision of the sign-list [ 1, −1, 0, 0, 0, 0, 0, 1, 0, 0, −1, −1, 1, 0, 0, 0 ] is [ 1, −1, 1, 1, −1, −1, 1, 1, −1, −1, −1, −1, 1, 0, 0, 0 ]. Now, if we want to know only the number of the distinct real or imaginary roots, don’t regard the multiplicities, then the following theorem is sufficient for such a purpose. Theorem 1 Given a polynomial f (x) with real coefficients, f (x) = a0 xn + a1 xn−1 + · · · + an , if the number of the sign changes of the revised sign list of {D1 (f ), D2 (f ), ···, Dn (f )} is ν, then, the number of the pairs of distinct conjugate imaginary roots of f (x) equals ν. Furthermore, if the number of non-vanishing members of the revised sign list is l, then, the number of the distinct real roots of f (x) equals l − 2 ν. Number of Positive Roots of a Polynomial 137 The proof of this theorem can be found in [?, ?]. Example 2.2 f (x) = x18 − x16 + 2 x15 − x14 − x5 + x4 + x3 − 3 x2 + 3 x − 1, the sign list of the discriminant sequence of f (x) is: [1, 1, −1, −1, −1, 0, 0, 0, −1, 1, 1, −1, −1, 1, −1, −1, 0, 0], hence the revised sign list: [1, 1, −1, −1, −1, 1, 1, −1, −1, 1, 1, −1, −1, 1, −1, −1, 0, 0], whereof the number of sign changes is 7, so f (x) has 7 pairs of distinct conjugate imaginary roots. Moveover, it has 2 distinct real roots and 2 repeated roots. Definition 2.5 (Multiple Factor Sequence) Let M = Discr(f ), the discrimination matrix of an n-degree polynomial f (x). By Mk denote the submatrix formed by the first 2 k rows of M , for k = 1, · · · , n; and M (k, i) denote the submatrix formed by the first 2 k − 1 columns and the (2 k + i)-th column of Mk , for k = 1, · · · , n, i = 0, · · · , n − k. then, construct polynomials ∆k (f ) = k X det(M (n − k, i)) xk−i , i=0 for k = 0, 1, · · · , n − 1. We call the n-tuple {∆0 (f ), ∆1 (f ), ···, ∆n−1 (f )} the multiple factor sequence of f (x). Lemma 1 If the number of the 0’s in the revised sign list of the discriminant sequence of f (x) is k, then, ∆k (f ) = g.c.d.(f (x), f 0 (x)). Thus, the g.c.d.(f, f 0 ) is always in the multiple factor sequence of f (x). This lemma is a special case of a general result, see, e.g. [Loos 83]. Definition 2.6 (Complete Discrimination System) By U denote the union of {f (x)}, {∆k (f )}, {∆j (∆k (f ))}, {∆i (∆j (∆k (f )))}, · · ·, etc., that is, all the multiple factor sequences at different levels. Every polynomial of U has a discriminant sequence, and all of them form a “complete discrimination system”of f (x), denoted by D.S.(f ). Definition 2.7 (Repeated Part and ∆-Sequence) For convenience, by ∆(f ) denote g.c.d.(f (x), f 0 (x)) and call it the “repeated part of f (x)”. Let ∆0 (f ) = f, ∆j (f ) = ∆(∆j−1 (f )), 138 Lu Yang and Bican Xia for j = 1, 2, · · ·. We call {∆0 (f ), ∆1 (f ), ∆2 (f ), · · ·} the ∆-sequence of f (x). In fact, for determining the number and multiplicities of the real/imaginary roots of f (x), We need not use the entire discrimination system D.S.(f ); the discriminant sequences of those polynomials in the ∆-sequence of f (x) is certainly enough. Lemma 2 If ∆j (f ) has k real roots with multiplities n1 , n2 , · · · , nk and ∆j−1 (f ) has m distinct real roots, then ∆j−1 (f ) has k real roots with multiplicities n1 +1, n2 +1, · · · , nk +1 and m − k simple real roots. And the same argument is applicable to the imaginary roots. An Algorithm for Root Classification The following algorithm, consisting of 4 steps, tells us how to determine the numbers and multiplicities of real and imaginary roots for a given polynomial f (x). Step 1. Find the discriminant sequence of f (x), {D1 (f ), ···, Dn (f )}, and the revised sign list; compute the number of sign changes of the latter to determine the numbers of the distinct imaginary and real roots. If the revised sign list contains no 0, stop. Step 2. If the above revised sign list contains k 0’s, in this case, ∆(f ) = ∆k (f ), that can be found by the definition of multiple factor sequence. Then, for ∆(f ) do what we did for f (x) in Step 1. Step 3. Do in this way for ∆2 (f ), ∆3 (f ), · · · , until for some j that the revised sign list of the discriminant sequence of ∆j (f ) contains no 0. Step 4. Compute the numbers of the distinct imaginary and real roots of ∆j (f ) (using Theorem 1), then, compute the numbers with multiplicities of the real/imaginary roots for ∆j−1 (f ) (using Lemma 2), and then for ∆j−2 (f ), etc., until we obtain the complete root classification for f (x) at last. Example 2.3 Find the condition on a, b, c such that (∀ x ∈ R) x6 + ax2 + bx + c ≥ 0. Its discriminant sequence is (up to a positive factor) {1, 0, 0, a3 , D50 , D60 } where D50 = 256a5 + 1728a2 c2 − 5400ab2 c + 1875b4 , D60 = −46656c5 − 13824a3 c3 + 43200a2 b2 c2 − 22500ab4 c −1024a6 c + 256a5 b2 + 3125b6 . Number of Positive Roots of a Polynomial 139 So, the condition we want is that one of the following cases occurs: (i) (ii) (iii) (iv) (v) (vi) D60 D60 D60 D60 D60 D60 < 0 ∧ D50 ≥ 0 <0∧a≥0 = 0 ∧ D50 > 0 = 0 ∧ D50 = 0 ∧ a > 0 = 0 ∧ D50 = 0 ∧ a < 0 ∧ E20 > 0 = 0 ∧ D50 = 0 ∧ a = 0 where E20 = 25 b2 − 96 ac, which is a discriminant of ∆2 (f ). Example 2.4 The Root Classification for a Quintic Polynomial3) For example, the following table gives the numbers of real and imaginary roots and multiplicities of repeated roots of polynomial g5 = x5 + px3 + qx2 + rx + s in all cases: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) D5 D5 D5 D5 D5 D5 D5 D5 D5 D5 D5 D5 > 0 ∧ D4 > 0 ∧ D3 > 0 ∧ D2 > 0 {1, 1, 1, 1, 1} > 0 ∧ (D4 ≤ 0 ∨ D3 ≤ 0 ∨ D2 ≤ 0) {1} <0 {1, 1, 1} = 0 ∧ D4 > 0 {2, 1, 1, 1} = 0 ∧ D4 < 0 {2, 1} = 0 ∧ D4 = 0 ∧ D3 > 0 ∧ E2 6= 0 {2, 2, 1} = 0 ∧ D4 = 0 ∧ D3 > 0 ∧ E2 = 0 {3, 1, 1} = 0 ∧ D4 = 0 ∧ D3 < 0 ∧ E2 6= 0 {1} = 0 ∧ D4 = 0 ∧ D3 < 0 ∧ E2 = 0 {3} = 0 ∧ D4 = 0 ∧ D3 = 0 ∧ D2 6= 0 ∧ F2 6= 0 {3, 2} = 0 ∧ D4 = 0 ∧ D3 = 0 ∧ D2 6= 0 ∧ F2 = 0 {4, 1} = 0 ∧ D4 = 0 ∧ D3 = 0 ∧ D2 = 0 {5} where D2 = −p D3 = 40rp − 12p3 − 45q 2 D4 = 12p4 r − 4p3 q 2 + 117prq 2 − 88r2 p2 − 40qp2 s + 125ps2 −27q 4 − 300qrs + 160r3 D5 = −1600qsr3 − 3750ps3 q + 2000ps2 r2 − 4p3 q 2 r2 + 16p3 q 3 s −900rs2 p3 + 825q 2 p2 s2 + 144pq 2 r3 + 2250q 2 rs2 +16p4 r3 + 108p5 s2 − 128r4 p2 − 27q 4 r2 + 108q 5 s +256r5 + 3125s4 − 72p4 rsq + 560r2 p2 sq − 630prq 3 s E2 = 160r2 p3 + 900q 2 r2 − 48rp5 + 60q 2 p2 r + 1500rpsq +16q 2 p4 − 1100qp3 s + 625s2 p2 − 3375q 3 s F2 = 3q 2 − 8rp 3) Unlike this one, a discriminant system for quintic polynomials was defined in [2] which gives a description of the multiplicities of the roots, despite them to be real or imaginary. 140 Lu Yang and Bican Xia These 6 polynomials form a discrimination system which is sufficient for the root classification of the quintic polynomial above. The right column of the table describes the situations of the roots. For example, {1, 1, 1, 1, 1} means 5 real simple roots and {2, 2, 1} means 2 real double roots plus one real simple root. It is necessary to point out that there is only one real simple root in both cases (2) and (8), however, no repeated roots in case (2) while 2 imaginary double roots in case (8). A simpler case, the root classification for a quartic polynomial, is well-known, see [?]. More examples which make use of the complete discrimination system can be found in [?, ?]. 3. Determine the number of positive roots Given a polynomial with real coefficients, f (x) = a0 xn + a1 xn−1 + · · · + an , where assume f (0) 6= 0, that is, an 6= 0. Let g(y) = f (y 2 ) = n X ak y 2(n−k) , k=0 n X h(y) = f (−y 2 ) = (−1)n−k ak y 2(n−k) . k=0 Then, the number of the positive or negative roots of f equals half the number of the real roots of g or h, respectively. In detail, if the number of real ik -ple roots of g or h is νk or µk , then, the number of the positive or negetive ik -ple roots of f must be ν2k or µ2k , for k = 1, 2, · · ·, respectively. That is to say, we can count the numbers of the real roots of g and h instead of those of the positive and negative roots of f . However, the discrimination matrix of g or h is of size (4 n + 1) × (4 n + 1), so it is very inefficient to construct the discriminant sequence directly by the definition. How to construct that sequence efficiently? We have the following result. Theorem 2 Let {d1 , d2 , · · · , d2n+1 } be the principal minor sequence of Discr(f ), the discrimination matrix of polynomial f (x) = a0 xn + a1 xn−1 + · · · + an , and let h(y) = f (−y 2 ). Assume a0 6= 0. Then, the discriminant sequence of h, { D1 (h), D2 (h), · · · , D2n (h) }, is equal to sequence { d1 d2 , d2 d3 , · · · , d2n d2n+1 }, i.e. Dk (h) = dk (f ) dk+1 (f ), up to a facotr of the same sign as a0 , for k = 1, 2, · · · , 2 n. This proposition is equivalent to the following one: Number of Positive Roots of a Polynomial 141 Theorem 3 Let {d1 , d2 , · · · , d2n+1 } be the principal minor sequence of Discr(f ), the discrimination matrix of polynomial f (x) = a0 xn + a1 xn−1 + · · · + an , and let g(y) = f (y 2 ). Assume a0 6= 0. Then, for each term of the discriminant sequence of g, { D1 (g), D2 (g), · · · , D2n (g) }, we have k Dk (g) = (−1)[ 2 ] dk (f ) dk+1 (f ), up to a factor of the same sign as a0 . The equivalence of the two propositions comes from the following lemma: Lemma 3 Given a polynomial f (x) = a0 xn + a1 xn−1 + · · · + an , let f˜(x) = f (−x), and by {d1 , d2 , · · · , dn } and {d˜1 , d˜2 , · · · , d˜n } denote the principle minor sequences of Discr(f ) and Discr(f˜), respectively. Then, we have d˜k = dk k (−1)[ 2 ] dk for k is even, for k is odd, for k = 1, 2, · · · , n. The proof of this lemma is simple. As dk and d˜k both are determinants whereof one can be obtained from another by multiplying some rows and columns by −1, we need only count how many times of this kind of operations are required. Now, let us give a proof to Theorem 3: (i) If k is even, say, k = 2 j, (1 ≤ j ≤ n), then, Dk (g) = a1 0 0 2na0 .. . 0 2(n − 1)a1 a1 0 .. . ··· a2j−1 ··· 0 ··· 0 · · · 2(n − 2j + 2)a2j−2 .. .. . . a0 0 ··· 2na0 ··· ··· na0 a0 0 0 .. . 0 0 na0 a0 .. . (n − 1)a1 a1 0 0 .. . 0 0 (n − 1)a1 a1 .. . ··· 0 ··· 0 · · · (n − 2j + 2)a2j−2 ··· a2j−2 .. .. . . ··· ··· ··· ··· a0 0 ··· na0 ··· ··· a0 0 0 2na0 a0 .. . 0 0 .. . ··· ··· k = 2 a0 0 2(n − 2j + 1)a2j−1 a2j−1 0 0 2(n − j + 1)aj−1 0 (n − j + 1)aj−1 0 aj 0 4j×4j (n − 2j + 1)a2j−1 a2j−1 0 0 .. . aj 0 142 Lu Yang and Bican Xia Now, in the last determinant, we move in order the 2-nd, 4-th, 6-th, · · · and (4 j − 2)-th columns to the first (2 j − 1) columns, and then, move in order the 3-rd, 4-th, 7-th, 8-th, · · ·, (4 j − 5)-th, (4 j − 4)-th and (4 j − 1)-th rows to the first (2 j − 1) rows. We have A 0 Dk (g) = (−1) · 2 · a0 · 0 B δ k where δ = (2 − 1) + (4 − 2) + (6 − 3) + · · · + (4 j − 2 − 2 j + 1) + (3 − 1) + (4 − 2) + (7 − 3) + (8 − 4) + · · · + (4 j − 1 − 2 j + 1) ≡ 1 + 2 + 3 + · · · + (2 j − 1) (mod 2) ≡ j (mod 2), A = and na0 (n − 1)a1 a0 a1 ··· ··· na0 ··· a0 .. . ··· .. . na0 · · · .. . B = na0 · · · a0 ··· .. .. . . · · · a0 · · · (n − 2 j + 2)a2j−2 ··· a2j−2 .. ··· . .. ··· . .. .. . . (n − j + 1)aj−1 · · · (n − 2 j + 1)a2j−1 ··· a2j−1 .. .. . . ··· aj (2j−1)×(2j−1) . 2j×2j Noting 1 A= a0 a 0 0 0 A 1 d2j , = a0 1 B= a0 we obtain Dk (g) = (−1)j · a 0 0 0 B 1 d2j+1 , = a0 2k · d2j · d2j+1 . a0 Remembering k = 2 j, we have k Dk (g) = (−1)[ 2 ] dk (f ) dk+1 (f ), up to a factor of the same sign as a0 . (ii) If k is odd, say k = 2 j + 1, (0 ≤ j ≤ n − 1), making almost the same argument as that in case (i), we have 2k Dk (g) = (−1)j · · d2j+1 · d2j+2 , a0 so it still holds that k Dk (g) = (−1)[ 2 ] dk (f ) dk+1 (f ), up to a factor of the same sign as a0 . Number of Positive Roots of a Polynomial 143 As a corollary of Theorem 2, we have Theorem 4 Let {d1 , d2 , · · · , d2n+1 } be the principal minor sequence of Discr(f ), the discrimination matrix of polynomial f (x) with f (0) 6= 0. Denote the number of sign changes and the number of non-vanishing members of the revised sign list of sequence { d1 d2 , d2 d3 , · · · , d2n d2n+1 } by µ and 2 m, respectively. Then, the number of the distinct negative roots of f (x) equals m − µ. Example 3.1 Find the number of the positive roots of x11 − 3 x8 + 2 x3 − 5 x + 6. This is equivalent to find the number of the negative roots of f (x) = x11 + 3 x8 + 2 x3 − 5 x − 6. By computing the principle minor sequence of Discr(f ), {d1 , d2 , · · · , d23 }, we know that the sign list of sequence { d1 d2 , d2 d3 , · · · , d22 d23 } is [ 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, −1, −1, −1, 1, −1, 1, −1, −1, −1, −1, −1 ], and the revised sign list is [ 1, −1, −1, 1, 1, 1, 1, −1, −1, 1, 1, −1, −1, −1, 1, −1, 1, −1, −1, −1, −1, −1 ], whereof the number of sign changes and the number of non-vanishing terms are 9 and 22, respectively. So, using Theorem 4, f (x) has 2 distinct negative roots, hence the original polynomial has 2 distinct positive roots. No repeated roots exist in this case because D11 (f ) = d22 6= 0. Example 3.2 Find the condition on a, b, c such that (∀ x > 0) x5 + ax2 + bx + c > 0. This is equivalent to find the sufficient and necessary condition such that polynomial f (x) = x5 − ax2 + bx − c has no negative roots. Computing the principal minor sequence of Discr(f ), we get d1 = d2 = 1, d3 = d4 = d5 = 0, d6 = −a2 , d7 = a3 , d8 = −27 a4 − 300 abc + 160 b3 , d9 = −27 a4 b + 225 c2 a2 − 720 cab2 + 256 b4 , d10 = −27 b2 a4 + 108 a5 c − 1600 acb3 + 2250 a2 bc2 + 256 b5 + 3125 c4 , d11 = −c · d10 , 4) up to a positive factor each term. 4) In fact, obviously, d2n+1 = an · d2n for a general polynomial of degree n. 144 Lu Yang and Bican Xia Using Theorem 4, by a thorough and detailed analysis on the sign list of the sequence { d1 d2 , d2 d3 , · · · , d10 d11 }, we conclude that (∀ x > 0) x5 + ax2 + bx + c > 0 if and only if one of the following 11 cases occurs: (1) c > 0 ∧ a > 0 ∧ (d8 ≥ 0 ∨ d9 ≤ 0 ∨ d10 > 0), (2) c > 0 ∧ a ≤ 0 ∧ d8 > 0 ∧ (d9 ≥ 0 ∨ d10 < 0), (3) c > 0 ∧ a < 0 ∧ d8 = 0 ∧ d9 < 0 ∧ d10 < 0, (4) c > 0 ∧ a < 0 ∧ d8 ≤ 0 ∧ d9 > 0 ∧ d10 > 0, (5) c > 0 ∧ a = 0 ∧ d8 = 0 ∧ d10 6= 0, (6) c > 0 ∧ a = 0 ∧ d8 < 0 ∧ (d9 ≤ 0 ∨ d10 > 0), (7) c > 0 ∧ a > 0 ∧ d8 = 0 ∧ d10 = 0, (8) c > 0 ∧ a ≥ 0 ∧ d8 < 0 ∧ d9 < 0 ∧ d10 = 0, (9) c > 0 ∧ d8 > 0 ∧ d9 > 0 ∧ d10 = 0, (10) c ≥ 0 ∧ b ≥ 0 ∧ a ≥ 0, (11) c = 0 ∧ d10 > 0, where only the signs of a, b, c, d8 , d9 , d10 are used. Example 3.3 Given a translated septic polynomial, f (x) = x7 + px5 + qx4 + rx3 + sx2 + tx + u, in which substitute x2 for x, we have g(x) = f (x2 ) = x14 + px10 + qx8 + rx6 + sx4 + tx2 + u. The computation using Definition 2.2 to get the discriminant sequence of g(x), { D1 (g), D2 (g), · · · , D14 (g) }, on a PC 586/120 with Maple 5.2, including determinant-expanding, spends 4385 seconds. In contrast, for creating the principal minor sequence of Discr(f ), { d1 (f ), d2 (f ), · · · , d15 (f ) }, including determinant-expanding, the total time spent is about 2 seconds only, on the same computer. We have known from Theorem 3, k Dk (g) = (−1)[ 2 ] dk (f ) dk+1 (f ), up to a positive factor, for k = 1, · · · , 14. Example 3.4 In order to compute the number of the roots in (−1, 1) for a quartic polynomial f (x) = x4 + ax3 + bx2 + cx + d Number of Positive Roots of a Polynomial 145 where assume f (−1) 6= 0 and f (1) 6= 0, we may first comput that of real roots of the polymnomial 1 − x2 ) 1 + x2 = (1 − a + b − c + d) x8 + (2 a + 4 d − 4 − 2 c) x6 + (6 − 2 b + 6 d) x4 g(x) = (1 + x2 )4 f ( + (−2 a + 4 d + 2 c − 4) x2 + 1 + a + b + c + d, then, half the number of real roots of g is what we want, as suggested in Section 1. If we compute the discriminant sequence of Discr(g) by Definition 2.2 directly, we have to expand the determinants of size up to 16 × 16. It spends CPU time 3 minutes. A much more efficient way is to compute the principal minor sequence of the polynomial ϕ(x) = (1 − a + b − c + d) x4 + (2 a + 4 d − 4 − 2 c) x3 + (6 − 2 b + 6 d) x2 + (−2 a + 4 d + 2 c − 4) x + 1 + a + b + c + d, instead. That way, the time spent is 3 seconds only. The last example is a special case of the following theorem. Theorem 5 The number of the roots of a real polynomial f (x) in a interval (a, b), with f (a) 6= 0 and f (b) 6= 0, is equal to the number of the positive roots of the polynomial ϕ(x) = (x + 1)n f ( ax + b ) x+1 where n is the degree of f (x). References [1] Arnon, D.S., Geometric reasoning with logic and algebra, Artificial Intelligence, 37(1988), 37-60. [2] Gao, X.S., Constructive Methods for Polynomial Set and Their Applications, Thesis, Institute of Systems Science, Academia Sinica, April, 1988. [3] Yang, L., Hou, X.R. & Zeng, Z.B., A complete discrimination system for polynomials, Science in China, Series E, 39:6(1996),628-646. [4] Yang, L., Zhang J.Z. & Hou, X.R., Non-Linear Equation Systems and Automated Theorem Proving (in Chinese), Shanghai Press of Science, Technology and Education, 1996, Shanghai.