Fast Parallel Computation of the Polynomial Shift

  • Authors:
  • Eugene V. Zima

  • Affiliations:
  • -

  • Venue:
  • IPPS '97 Proceedings of the 11th International Symposium on Parallel Processing
  • Year:
  • 1997

Quantified Score

Hi-index 0.00

Visualization

Abstract

Given an n-degree polynomial f(x) over an arbitrary ring, the shift of f(x) by c is the operation which computes coefficients of the polynomial f(x+c). This operation is used in many applications such as, for example, polynomial roots isolation, changing polynomial basis etc. The complexity of the shift (the number of ring operations performing the shift) computed sequentially by straightforward formula is O(n^3). Known methods (such as based on Horner scheme or "synthetic division") reduce the complexity to O(n^2). Parallelization of these methods gives O(n) complexity of the procedure.In this paper we concentrate on the case when the shift by given constant c has to be performed several times (repeatedly) . We propose a parallel algorithm suited for SIMD architecture to perform the shift in O(1) time if we have O(n^2) Processor Elements available.Algorithm is based on converting a given polynomial to the special matrix representation. The complexity of the conversion is O(n). Algorithm proposed is easy to generalize to multivariate polynomials shift. We show that after some preliminary work the shift of d-variate polynomial can be performed in O(d) parallel steps. The possibility of applying this algorithm to polynomials with coefficients from non-commutative rings is discussed as well as the bit-wise complexity of the algorithm.