Note that the quadratic and linear polynomials in (6) have coalesced in (59),
because 13 divides the leading coefficient, 65, of the subresultant $2 (F1, F2), which
we computed in (26).
4.8
THE CHINESE REMAINDER ALGORITHM. We shall now present the Chinese
remainder algorithm [1, pp. 253-254], which is used in Algorithm M to construct
integers from their images modulo pl, "'" , p~, and in Algorithm P to construct
polynomials in
Zp[x]
from their images modulo x -
bl, • • • , x -
bn. Although the
algorithm may be used in any Euclidean domain, we shall simply state it for the
domain of integers, and indicate parenthetically how it must be modified for the
polynomial domain if[x] where 5= is any field.
Let ml and m2 be relatively prime positive integers (monic polynomials). We
shall call these the moduli; for efficiency they should be ordered so that mi > m2
[0(ml) > 0(m~)]. If ul and u~ are given integers (polynomials), then there is a
unique integer (polynomial) u such that u =-- u~ mod m~, u ~ u2 rood m2, and
0 < u < mlm2
[0(u) <
O(ml,
m2)].
To prove uniqueness, suppose u and u' both satisfy the conditions. Then
u ~ u' mod ml and
u -~ u'
mod m2. Since m~ and m2 are relatively prime, it follows
that
reims{ (u -
u'), and therefore u = u'.
In the following algorithm for finding u, it is understood that r = a mod b satisfies
0 < r < b [0 (r) < 0 (b)], and we assume without loss of generality that 0 < u~ < m~
[0(Ul) < 0(ml)] and0 < u2 < m2 [0(u2) < 0(m2)].
(1)
Use the extended Euclid's algorithm (Section 1.4) to obtain an integer
(polynomial) c such that eml ~ 1 mod ms.
(2)
Set v = c (u2 -
ul) mod m2. Note that rely =- u2 -
Ul mod m2.
(3)
Set u =
mtv -t- Ul.
Clearly this satisfies all the requirements.
5.
Computing Time
5.1
INTRODUCTION. In this section we shall study the computing times for Al-
gorithm C (Section 2.4) augmented by the subresultant PRS algorithm (Section
3.6), for Algorithm M (Section 4.3), and for Algorithm P (Section 4.5) which sup-
ports Algorithm M. In particular, we shall develop asymptotic bounds on the maxi-
mum computing times C, M, and P, respectively, of these algorithms.
In deriving these bounds we shall assume that all arithmetic operations on in-
tegers and polynomials are performed by the classical algorithms [1]. Our purpose
is to emphasize the superiority of the modular techniques to the classical ones.
However, this superiority is established only when the given polynomials are suf-
ficiently large and sufficiently dense. In the sparse case (many missing terms),
Algorithm C will almost certainly benefit more than Algorithms M and P, but the
gain is difficult to analyze.
Strictly speaking, our bounds do not apply to the worst cases, since they depend
on the following assumptions:
(A1)
In Algorithm C, it is assumed that abnormal PRS's do not occur at any
level of recursion. A larger bound not depending on this assumption, can easily be
derived by the same methods.
(A2)
In Algorithms M and P, it is assumed that unlucky primes and unlucky
b-values, respectively, do not occur.