We consider methods for finding high-precision approximations to simple zeros of smooth functions. As an application, we give fast methods for evaluating the elementary functions log(x), exp(x), sin(x) etc. to high precision. For example, if x is a positive floating-point number with an n-bit fraction, then (under rather weak assumptions) an n-bit approximation to log(x) or exp(x) may be computed in time asymptotically equal to 13M(n)lg(n), where M(n) is the time required to multiply floating-point numbers with n-bit fractions. Similar results are given for the other elementary functions. Some analogies with operations on formal power series (over a field of characteristic zero) are discussed. In particular, it is possible to compute the first n terms in log(1 + a_1.x + ...) or exp(a_1.x + ...) in time O(M(n)), where M(n) is the time required to multiply two polynomials of degree n - 1. It follows that the first n terms in a q-th power (1 + a_1.x + ...)^q can be computed in time O(M(n)), independent of q. One of the results of this paper is the "Gauss-Legendre" or "Brent-Salamin" algorithm for computing pi. This is the first quadratically convergent algorithm for pi. It was also published in Brent [J. ACM 23 (1976), 242-251], and independently by Salamin [Math. Comp. 30 (1976), 565-570].
[1]
Donald Ervin Knuth,et al.
The Art of Computer Programming
,
1968
.
[2]
Anatolij A. Karatsuba,et al.
Multiplication of Multidigit Numbers on Automata
,
1963
.
[3]
Richard P. Brent,et al.
On the Complexity of Composition and Generalized Composition of Power Series
,
1980,
SIAM J. Comput..
[4]
H. T. Kung,et al.
O((n log n)3/2) ALGORITHMS FOR COMPOSITION AND REVERSION OF POWER SERIES
,
1976
.
[5]
Masao Inui,et al.
A Fast Algorithm for the Computation of Color Hardcopy Color Gamuts
,
1993
.
[6]
Jonathan M. Borwein,et al.
Pi and the AGM
,
1999
.
[7]
E. Salamin,et al.
Computation of π Using Arithmetic-Geometric Mean
,
1976
.
[8]
Richard P. Brent,et al.
The Complexity of computational problem solving
,
1976
.
[9]
Richard P. Brent,et al.
The complexity of multiple-precision arithmetic
,
2010,
ArXiv.
[10]
David Thomas,et al.
The Art in Computer Programming
,
2001
.
[11]
Arnold Schönhage,et al.
Schnelle Multiplikation großer Zahlen
,
1971,
Computing.
[12]
Daniel Shanks,et al.
Calculation of π to 100,000 Decimals
,
1962
.
[13]
Richard P. Brent,et al.
Fast Multiple-Precision Evaluation of Elementary Functions
,
1976,
JACM.