Greatest common divisors of polynomials given by straight-line programs

Algorithms on multivariate polynomials represented by straight-line programs are developed. First, it is shown that most algebraic algorithms can be probabilistically applied to data that are given by a straight-line computation. Testing such rational numeric data for zero, for instance, is facilitated by random evaluations modulo random prime numbers. Then, auxiliary algorithms that determine the coefficients of a multivariate polynomial in a single variable are constructed. The first main result is an algorithm that produces the greatest common divisor of the input polynomials, all in straight-line representation. The second result shows how to find a straight-line program for the reduced numerator and denominator from one for the corresponding rational function. Both the algorithm for that construction and the greatest common divisor algorithm are in random polynomial time for the usual coefficient fields and output a straight-line program, which with controllably high probability correctly determines the requested answer. The running times are polynomial functions in the binary input size, the input degrees as unary numbers, and the logarithm of the inverse of the failure probability. The algorithm for straight-line programs for the numerators and denominators of rational functions implies that every degree-bounded rational function can be computed fast in parallel, that is, in polynomial size and polylogarithmic depth.

[1]  Laurent Hyafil On the Parallel Evaluation of Multivariate Polynomials , 1979, SIAM J. Comput..

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

[3]  David Y. Y. Yun,et al.  Fast Solution of Toeplitz Systems of Equations and Computation of Padé Approximants , 1980, J. Algorithms.

[4]  Jacob T. Schwartz,et al.  Fast Probabilistic Algorithms for Verification of Polynomial Identities , 1980, J. ACM.

[5]  Richard D. Jenks,et al.  A Primer: 11 Keys to New Scratchpad , 1984, Symbolic and Algebraic Computation.

[6]  Oscar H. Ibarra,et al.  Probabilistic Algorithms and Straight-Line Programs for Some Rank Decision Problems , 1981, Information Processing Letters.

[7]  E. Wright,et al.  An Introduction to the Theory of Numbers , 1939 .

[8]  Keith O. Geddes,et al.  A Comparison of Algorithms for the Symbolic Computation of Padé Approximants , 1984, EUROSAM.

[9]  Joos Heintz,et al.  Testing polynomials which are easy to compute (Extended Abstract) , 1980, STOC '80.

[10]  Erich Kaltofen,et al.  Factorization of Polynomials Given by Straight-Line Programs , 1989, Adv. Comput. Res..

[11]  Erich Kaltofen,et al.  A system for manipulating polynomials given by straight-line programs , 1986, SYMSAC '86.

[12]  Gary L. Miller,et al.  Efficient Parallel Evaluation of Straight-Line Code and Arithmetic Circuits , 1988, SIAM J. Comput..

[13]  Erich Kaltofen,et al.  Arithmetic in Quadratic Fields with Unique Factorization , 1985, European Conference on Computer Algebra.

[14]  Robert T. Moenck,et al.  Fast computation of GCDs , 1973, STOC.

[15]  J. Hopcroft,et al.  Triangular Factorization and Inversion by Fast Matrix Multiplication , 1974 .

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

[17]  Journal of the Association for Computing Machinery , 1961, Nature.

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

[19]  Joachim von zur Gathen,et al.  Irreducibility of Multivariate Polynomials , 1985, J. Comput. Syst. Sci..

[20]  Erich Kaltofen Single-factor Hensel lifting and its application to the straight-line complexity of certain polynomials , 1987, STOC '87.

[21]  Wendy Hall,et al.  The art of programming , 1987 .

[22]  Leslie G. Valiant,et al.  Fast Parallel Computation of Polynomials Using Few Processors , 1983, SIAM J. Comput..

[23]  Erich Kaltofen,et al.  Uniform closure properties of P-computable functions , 1986, STOC '86.

[24]  Leslie G. Valiant,et al.  The Complexity of Computing the Permanent , 1979, Theor. Comput. Sci..

[25]  Laurent Hyafil,et al.  On the parallel evaluation of multivariate polynomials , 1978, SIAM J. Comput..

[26]  Gary L. Miller,et al.  Parallel tree contraction and its application , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[27]  Volker Strassen,et al.  A Fast Monte-Carlo Test for Primality , 1977, SIAM J. Comput..

[28]  Erich Kaltofen,et al.  Dagwood: a system for manipulating polynomials given by straight-line programs , 1988, TOMS.

[29]  K. Ramachandra,et al.  Vermeidung von Divisionen. , 1973 .

[30]  H. T. Kung On computing reciprocals of power series , 1974 .

[31]  David Y. Y. Yun,et al.  The EZ GCD algorithm , 1973, ACM Annual Conference.

[32]  Erich Kaltofen,et al.  Computing with polynomials given by straight-line programs II sparse factorization , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

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

[34]  E. V. Krishnamurthy,et al.  Finite segmentp-adic number systems with applications to exact computation , 1975 .

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

[36]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[37]  David A. Plaisted Sparse Complex Polynomials and Polynomial Reducibility , 1977, J. Comput. Syst. Sci..

[38]  J. Rosser,et al.  Approximate formulas for some functions of prime numbers , 1962 .

[39]  Jeffrey D. Smith,et al.  Design and Analysis of Algorithms , 2009, Lecture Notes in Computer Science.

[40]  Joos Heintz,et al.  On Polynomials with Symmetric Galois Group which Are Easy to Compute , 1986, Theor. Comput. Sci..

[41]  Bruce W. Char,et al.  GCDHEU: Heuristic Polynomial GCD Algorithm Based On Integer GCD Computation , 1984, J. Symb. Comput..

[42]  Oscar H. Ibarra,et al.  Probabilistic Algorithms for Deciding Equivalence of Straight-Line Programs , 1983, JACM.

[43]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[44]  J. von zur Gathen Factoring sparse multivariate polynomials , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[45]  Walter Baur,et al.  The Complexity of Partial Derivatives , 1983, Theor. Comput. Sci..

[46]  Alfred V. Aho,et al.  Evaluating Polynomials at Fixed Sets of Points , 1975, SIAM J. Comput..

[47]  Joachim von zur Gathen,et al.  Parallel Arithmetic Computations: A Survey , 1986, MFCS.