Sieve algorithms for perfect power testing
- Eric BachAffiliated withComputer Sciences Department, University of Wisconsin-Madison
- , Jonathan SorensonAffiliated withDepartment of Mathematics and Computer Science, Butler University
Rent the article at a discountRent now
* Final gross prices may vary according to local VAT.Get Access
A positive integern is a perfect power if there exist integersx andk, both at least 2, such thatn=x k . The usual algorithm to recognize perfect powers computes approximatekth roots fork≤log 2 n, and runs in time O(log3 n log log logn).
First we improve this worst-case running time toO(log3 n) by using a modified Newton's method to compute approximatekth roots. Parallelizing this gives anNC 2 algorithm.
Second, we present a sieve algorithm that avoidskth-root computations by seeing if the inputn is a perfectkth power modulo small primes. Ifn is chosen uniformly from a large enough interval, the average running time isO(log2 n).
Third, we incorporate trial division to give a sieve algorithm with an average running time ofO(log2 n/log2 logn) and a median running time ofO(logn).
The two sieve algorithms use a precomputed table of small primes. We give a heuristic argument and computational evidence that the largest prime needed in this table is (logn)1+O(1); assuming the Extended Riemann Hypothesis, primes up to (logn)2+O(1) suffice. The table can be computed in time roughly proportional to the largest prime it contains.
We also present computational results indicating that our sieve algorithms perform extremely well in practice.
Key wordsPerfect powers Number theoretic algorithms Riemann hypothesis Newton's method Sieve algorithms Parallel algorithms Average-case analysis
- Sieve algorithms for perfect power testing
Volume 9, Issue 4 , pp 313-328
- Cover Date
- Print ISSN
- Online ISSN
- Additional Links
- Perfect powers
- Number theoretic algorithms
- Riemann hypothesis
- Newton's method
- Sieve algorithms
- Parallel algorithms
- Average-case analysis
- Industry Sectors