Chapter 17: Problem 25
This exercise uses the FFT to develop a linear-time algorithm for integer multiplication; however, a rigorous analysis depends on an unproven conjecture (which follows from a generalization of the Riemann hypothesis). Suppose we want to multiply two positive integers \(a\) and \(b\), each of length at most \(\ell\) (represented internally using the data structure described in \(\S 3.3\) ). Throughout this exercise, assume that all computations are done on a RAM, and that arithmetic on integers of length \(O(\operatorname{len}(\ell))\) takes time \(O(1) .\) Let \(k\) be an integer parameter with \(k=\Theta(\operatorname{len}(\ell)),\) and let \(m:=\lceil\ell / k\rceil .\) We may write \(a=\sum_{i=0}^{m-1} a_{i} 2^{k i}\) and \(b=\sum_{i=0}^{m-1} b_{i} 2^{k i},\) where \(0 \leq a_{i}<2^{k}\) and \(0 \leq b_{i}<2^{k} .\) Let \(n\) be the integer determined by \(2 m \leq 2^{n}<4 m\).
Short Answer
Step by step solution
Key Concepts
These are the key concepts you need to understand to accurately answer the question.