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 log deg f , 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 Erdös, 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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call