In-place Arithmetic for Polynomials over Zn

We present space and time efficient algorithms for univariate polynomial arithmetic operations over Z mod n where the modulus n does not necessarily fit into is not a machine word. These algorithms provide the key tools for the efficient implementation of polynomial resultant gcd and factorization computation over Z, without having to write large amounts of code in a systems implementation language. 1 B a c k g r o u n d This paper reports a solution to a dilema we faced during the design and implementation of certain crucial operations in the Maple system [15] namely, computing polynomial resultants, greatest common divisors and factorization in Z[x]. The efficient implementation of polynomial greatest common divisors (Gcds) is perhaps the most single important part of a general purpose computer algebra system. Gcd computation is the bottleneck of many operations. This is because any calculations which involve rational operations will require God computations in order to reduce fractions to lowest terms. For example, in solving a system of equations with polynomial coefficients, polynomial Gcd calculations will be needed to simplify the solutions. WhEreas we can use Euclids algorithm to compute integer Gcds relatively efficiently, compared with integer multiplication and division, the efficient computation of polynomial Gcds is much more difficult. And although the classical algorithms for multiplying and dividing polynomials are fine for most practical calculations, the use of Euclidean based Gcd algorithms results in a phenomenon known as "intermediate expression swell" which causes many intermediate calculations to "blow up". Research on Gcd computations in the 1970's and 1980's [9, 19, 21, 7, 12] led to efficient algorithms for the computation of polynomial Gcds. However, the efficient implementation of these algorithms is quite difficult. The modular based algorithms require efficient computation over the integers rood n. Efficiency is lost in a systems implementation language like C and Lisp, and even more so in an interpreted language. The efficient implementation of polynomial resultants is not as important as polynomial Gcds. And it has become less important since one of the main applications of resultants, namely in solving systems of polynomial equations, has largely been superceded with the Grobner basis approach [5, 10]. However, it has been our experience that some hard problems can only be solved by clever application of resultants [16]. Thus it is still useful to have an efficient implementation of polynomial resultants. The most efficient algorithms for resultants for dense polynomials are those based on modular methods [9, 4].

[1]  David Y. Y. Yun,et al.  The Hensel Lemma in Algebraic Manipulation , 1973, Outstanding Dissertations in the Computer Sciences.

[2]  George E. Collins,et al.  Subresultants and Reduced Polynomial Remainder Sequences , 1967, JACM.

[3]  Erich Kaltofen Computing with polynomials given by straight-line programs I: greatest common divisors , 1985, STOC '85.

[4]  Bruce W. Char,et al.  GCDHEU: Heuristic Polynomial GCD Algorithm Based on Integer GCD Computation , 1984, EUROSAM.

[5]  W. S. Brown On Euclid's algorithm and the computation of polynomial greatest common divisors , 1971, SYMSAC '71.

[6]  Bruno Buchberger,et al.  A theoretical basis for the reduction of polynomials to canonical forms , 1976, SIGS.

[7]  George E. Collins,et al.  The Calculation of Multivariate Polynomial Resultants , 1971, JACM.

[8]  Trevor J. Smedley A new modular algorithm for computation of algebraic number polynomial gcds , 1989, ISSAC '89.

[9]  E. Berlekamp Factoring polynomials over large finite fields , 1970 .

[10]  E. Berlekamp Factoring polynomials over finite fields , 1967 .

[11]  Richard Zippel,et al.  Probabilistic algorithms for sparse polynomials , 1979, EUROSAM.

[12]  D. Cantor,et al.  A new algorithm for factoring polynomials over finite fields , 1981 .

[13]  Keith O. Geddes,et al.  Algorithms for computer algebra , 1992 .

[14]  Keith O. Geddes,et al.  Heuristic Methods for Operations With Algebraic Numbers. (Extended Abstract) , 1988, ISSAC.

[15]  Joseph F. Traub,et al.  On Euclid's Algorithm and the Theory of Subresultants , 1971, JACM.

[16]  Scott McCallum,et al.  The computation of polynomial greatest common divisors over an algebraic number field , 1987, EUROCAL.

[17]  Donald E. Knuth,et al.  The art of computer programming. Vol.2: Seminumerical algorithms , 1981 .