22 research outputs found
NumGfun: a Package for Numerical and Analytic Computation with D-finite Functions
This article describes the implementation in the software package NumGfun of
classical algorithms that operate on solutions of linear differential equations
or recurrence relations with polynomial coefficients, including what seems to
be the first general implementation of the fast high-precision numerical
evaluation algorithms of Chudnovsky & Chudnovsky. In some cases, our
descriptions contain improvements over existing algorithms. We also provide
references to relevant ideas not currently used in NumGfun
Efficient Multiple-Precision Evaluation of Elementary Functions
Let M(t) denote the time required to multiply two t-digit numbers using base b arithmetic. Methods are presented for computing the elementary functions in O(t1/3 M(t)) time
Computing hypergeometric functions rigorously
We present an efficient implementation of hypergeometric functions in
arbitrary-precision interval arithmetic. The functions , ,
and (or the Kummer -function) are supported for
unrestricted complex parameters and argument, and by extension, we cover
exponential and trigonometric integrals, error functions, Fresnel integrals,
incomplete gamma and beta functions, Bessel functions, Airy functions, Legendre
functions, Jacobi polynomials, complete elliptic integrals, and other special
functions. The output can be used directly for interval computations or to
generate provably correct floating-point approximations in any format.
Performance is competitive with earlier arbitrary-precision software, and
sometimes orders of magnitude faster. We also partially cover the generalized
hypergeometric function and computation of high-order parameter
derivatives.Comment: v2: corrected example in section 3.1; corrected timing data for case
E-G in section 8.5 (table 6, figure 2); adjusted paper siz
Arithmetic Branching Programs with Memory
We extend the well known characterization of VPws as the class of polynomials computed by polynomial size arithmetic branching programs to other complexity classes. In order to do so we add additional memory to the computation of branching programs to make them more expressive. We show that allowing different types of memory in branching programs increases the computational power even for constant width programs. In particular, this leads to very natural and robust characterizations of VP and VNP by branching programs with memory. 1
The Borwein brothers, Pi and the AGM
We consider some of Jonathan and Peter Borweins' contributions to the
high-precision computation of and the elementary functions, with
particular reference to their book "Pi and the AGM" (Wiley, 1987). Here "AGM"
is the arithmetic-geometric mean of Gauss and Legendre. Because the AGM
converges quadratically, it can be combined with fast multiplication algorithms
to give fast algorithms for the -bit computation of , and more
generally the elementary functions. These algorithms run in almost linear time
, where is the time for -bit multiplication. We
outline some of the results and algorithms given in Pi and the AGM, and present
some related (but new) results. In particular, we improve the published error
bounds for some quadratically and quartically convergent algorithms for ,
such as the Gauss-Legendre algorithm. We show that an iteration of the
Borwein-Borwein quartic algorithm for is equivalent to two iterations of
the Gauss-Legendre quadratic algorithm for , in the sense that they
produce exactly the same sequence of approximations to if performed using
exact arithmetic.Comment: 24 pages, 6 tables. Changed style file and reformatted algorithms in
v