Modern Computer Arithmetic
This is a book about algorithms for performing arithmetic, and their implementation on modern computers. It collects in the same document all state-of-the-art algorithms in multiple precision arithmetic (integers, integers modulo n, floating-point numbers). The best current reference on that topic is volume 2 from Knuth’s The art of computer programming, which misses some new important algorithms (divide and conquer division, other variants of FFT multiplication, floating-point algorithms, …) Our aim is to give detailed algorithms:
- for all operations (not just multiplication as many text books),
- for all size ranges (not just schoolbook methods or FFT-based methods),
- and including all details (for example how to properly deal with carries for integer algorithms, or a rigorous analysis of roundoff errors for floating-point algorithms).
The book is useful for graduate students in computer science and mathematics (perhaps too specialized for most undergraduates, at least in its present state), researchers in discrete mathematics, computer algebra, number theory, cryptography, and developers of multiple-precision libraries.
- Chapter 1 describes integer arithmetic (representation, addition, subtraction, multiplication, division, roots, gcd, base conversion).
- Chapter 2 deals with modular arithmetic (representation, multiplication, division/inversion, exponentiation, conversion, applications of FFT).
- Chapter 3 treats with floating-point arithmetic (addition, subtraction, comparison, multiplication, division, algebraic functions, conversion).
- Chapter 4 covers Newton’s method and function evaluation (Newton’s method and its variants, argument reduction, power series, asymptotic expansions, continued fractions, recurrence relations, arithmetic-geometric mean, binary splitting, D-finite functions, contour integration, constants).
- Finally, an appendix gives pointers to software tools, mailing-lists, and on-line documents.