7,052 research outputs found

    On relative errors of floating-point operations: optimal bounds and applications

    Get PDF
    International audienceRounding error analyses of numerical algorithms are most often carried out via repeated applications of the so-called standard models of floating-point arithmetic. Given a round-to-nearest function fl and barring underflow and overflow, such models bound the relative errors E 1 (t) = |t − fl(t)|/|t| and E 2 (t) = |t − fl(t)|/|fl(t)| by the unit roundoff u. This paper investigates the possibility and the usefulness of refining these bounds, both in the case of an arbitrary real t and in the case where t is the exact result of an arithmetic operation on some floating-point numbers. We show that E 1 (t) and E 2 (t) are optimally bounded by u/(1 + u) and u, respectively, when t is real or, under mild assumptions on the base and the precision, when t = x ± y or t = xy with x, y two floating-point numbers. We prove that while this remains true for division in base β > 2, smaller, attainable bounds can be derived for both division in base β = 2 and square root. This set of optimal bounds is then applied to the rounding error analysis of various numerical algorithms: in all cases, we obtain significantly shorter proofs of the best-known error bounds for such algorithms, and/or improvements on these bounds themselves

    Parallel Algorithms for Summing Floating-Point Numbers

    Full text link
    The problem of exactly summing n floating-point numbers is a fundamental problem that has many applications in large-scale simulations and computational geometry. Unfortunately, due to the round-off error in standard floating-point operations, this problem becomes very challenging. Moreover, all existing solutions rely on sequential algorithms which cannot scale to the huge datasets that need to be processed. In this paper, we provide several efficient parallel algorithms for summing n floating point numbers, so as to produce a faithfully rounded floating-point representation of the sum. We present algorithms in PRAM, external-memory, and MapReduce models, and we also provide an experimental analysis of our MapReduce algorithms, due to their simplicity and practical efficiency.Comment: Conference version appears in SPAA 201

    Computing hypergeometric functions rigorously

    Get PDF
    We present an efficient implementation of hypergeometric functions in arbitrary-precision interval arithmetic. The functions 0F1{}_0F_1, 1F1{}_1F_1, 2F1{}_2F_1 and 2F0{}_2F_0 (or the Kummer UU-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 pFq{}_pF_q 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

    Modern Computer Arithmetic (version 0.5.1)

    Full text link
    This is a draft of a book about algorithms for performing arithmetic, and their implementation on modern computers. We are concerned with software more than hardware - we do not cover computer architecture or the design of computer hardware. Instead we focus on algorithms for efficiently performing arithmetic operations such as addition, multiplication and division, and their connections to topics such as modular arithmetic, greatest common divisors, the Fast Fourier Transform (FFT), and the computation of elementary and special functions. The algorithms that we present are mainly intended for arbitrary-precision arithmetic. They are not limited by the computer word size, only by the memory and time available for the computation. We consider both integer and real (floating-point) computations. The book is divided into four main chapters, plus an appendix. Our aim is to present the latest developments in a concise manner. At the same time, we provide a self-contained introduction for the reader who is not an expert in the field, and exercises at the end of each chapter. Chapter titles are: 1, Integer Arithmetic; 2, Modular Arithmetic and the FFT; 3, Floating-Point Arithmetic; 4, Elementary and Special Function Evaluation; 5 (Appendix), Implementations and Pointers. The book also contains a bibliography of 236 entries, index, summary of notation, and summary of complexities.Comment: Preliminary version of a book to be published by Cambridge University Press. xvi+247 pages. Cite as "Modern Computer Arithmetic, Version 0.5.1, 5 March 2010". For further details, updates and errata see http://wwwmaths.anu.edu.au/~brent/pub/pub226.html or http://www.loria.fr/~zimmerma/mca/pub226.htm

    Toward accurate polynomial evaluation in rounded arithmetic

    Get PDF
    Given a multivariate real (or complex) polynomial pp and a domain D\cal D, we would like to decide whether an algorithm exists to evaluate p(x)p(x) accurately for all x∈Dx \in {\cal D} using rounded real (or complex) arithmetic. Here ``accurately'' means with relative error less than 1, i.e., with some correct leading digits. The answer depends on the model of rounded arithmetic: We assume that for any arithmetic operator op(a,b)op(a,b), for example a+ba+b or a⋅ba \cdot b, its computed value is op(a,b)⋅(1+δ)op(a,b) \cdot (1 + \delta), where ∣δ∣| \delta | is bounded by some constant ϵ\epsilon where 0<ϵ≪10 < \epsilon \ll 1, but δ\delta is otherwise arbitrary. This model is the traditional one used to analyze the accuracy of floating point algorithms.Our ultimate goal is to establish a decision procedure that, for any pp and D\cal D, either exhibits an accurate algorithm or proves that none exists. In contrast to the case where numbers are stored and manipulated as finite bit strings (e.g., as floating point numbers or rational numbers) we show that some polynomials pp are impossible to evaluate accurately. The existence of an accurate algorithm will depend not just on pp and D\cal D, but on which arithmetic operators and which constants are are available and whether branching is permitted. Toward this goal, we present necessary conditions on pp for it to be accurately evaluable on open real or complex domains D{\cal D}. We also give sufficient conditions, and describe progress toward a complete decision procedure. We do present a complete decision procedure for homogeneous polynomials pp with integer coefficients, {\cal D} = \C^n, and using only the arithmetic operations ++, −- and ⋅\cdot.Comment: 54 pages, 6 figures; refereed version; to appear in Foundations of Computational Mathematics: Santander 2005, Cambridge University Press, March 200
    • …
    corecore