A Rigorous Extension of the SchönhageStrassen Integer Multiplication Algorithm Using Complex Interval Arithmetic
Abstract
Multiplication of ndigit integers by long multiplication requires O(n^2) operations and can be timeconsuming. In 1970 A. Schoenhage and V. Strassen published an algorithm capable of performing the task with only O(n log(n)) arithmetic operations over the complex field C; naturally, finiteprecision approximations to C are used and rounding errors need to be accounted for. Overall, using variableprecision fixedpoint numbers, this results in an O(n(log(n))^(2+Epsilon))time algorithm. However, to make this algorithm more efficient and practical we need to make use of hardwarebased floatingpoint numbers. How do we deal with rounding errors? and how do we determine the limits of the fixedprecision hardware? Our solution is to use interval arithmetic to guarantee the correctness of results and determine the hardware's limits. We examine the feasibility of this approach and are able to report that 75,000digit base256 integers can be handled using doubleprecision containment sets. This clearly demonstrates that our approach has practical potential; however, at this stage, our implementation does not yet compete with commercial ones, but we are able to demonstrate the feasibility of this technique.
 Publication:

arXiv eprints
 Pub Date:
 June 2010
 DOI:
 10.48550/arXiv.1006.0405
 arXiv:
 arXiv:1006.0405
 Bibcode:
 2010arXiv1006.0405S
 Keywords:

 Computer Science  Numerical Analysis;
 Computer Science  Cryptography and Security;
 Computer Science  Data Structures and Algorithms
 EPrint:
 EPTCS 24, 2010, pp. 151159