1
$\begingroup$

I'm getting stuck at choosing a fast polynomial multiplication algorithm for the last step of the AKS primality test:

for j in range(1, 2*len(n)*floor(sqrt(r))+2):
 if (X+j)^n != X^n+j (mod X^r-1, n):
 return False

In the AKS paper, the authors assert that we can multiply two $r$-degree polynomials which contain coefficients at most $O(\log n)$ in $\tilde{O}(r\log n)$ time. I think we need both fast integer and polynomial multiplying algorithms to acquire the complexity $\tilde{O}(r\log n)$, rather than $O(r^2\log(n)^2)$ when applying only plain multiplying methods.

I wish to implement the AKS primality test, which uses only integers to operate. Moreover, I need fast multiplying methods to obtain the optimized complexity, i.e., $\tilde{O}(r\log(n))$ rather than $O(r^2\log(n)^2)$. Most fast polynomial multiplying algorithms I have known use real numbers, such as FFT, which may cause a false result when the input $n$ is large enough. Does there exist fast optimized polynomial multiplying algorithms taking advantage of only integers to compute? Is the plain multiplying method the only choice?

asked Nov 4 at 15:37
$\endgroup$
1
  • 1
    $\begingroup$ There are many algorithms. And in particular, FFT-based algorithms that work over rings of integers modulo a large integer rather than real numbers. See en.wikipedia.org/wiki/Multiplication_algorithm . $\endgroup$ Commented Nov 4 at 15:44

0

Know someone who can answer? Share a link to this question via email, Twitter, or Facebook.

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.