Detecting lacunary perfect powers and computing their roots

  • Authors:
  • Mark Giesbrecht;Daniel S. Roche

  • Affiliations:
  • Cheriton School of Computer Science, University of Waterloo, Waterloo, Ontario, Canada;Department of Computer Science, United States Naval Academy, Annapolis, MD, USA

  • Venue:
  • Journal of Symbolic Computation
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

We consider solutions to the equation f=h^r for polynomials f and h and integer r=2. Given a polynomial f in the lacunary (also called sparse or super-sparse) representation, we first show how to determine if f can be written as h^r and, if so, to find such an r. This is a Monte Carlo randomized algorithm whose cost is polynomial in the number of non-zero terms of f and in logdegf, i.e., polynomial in the size of the lacunary representation, and it works over F"q[x] (for large characteristic) as well as Q[x]. We also give two deterministic algorithms to compute the perfect root h given f and r. The first is output-sensitive (based on the sparsity of h) and works only over Q[x]. A sparsity-sensitive Newton iteration forms the basis for the second approach to computing h, which is extremely efficient and works over both F"q[x] (for large characteristic) and Q[x], but depends on a number-theoretic conjecture. Work of Erdos, Schinzel, Zannier, and others suggests that both of these algorithms are unconditionally polynomial-time in the lacunary size of the input polynomial f. Finally, we demonstrate the efficiency of the randomized detection algorithm and the latter perfect root computation algorithm with an implementation in the C++ library NTL.