Computer Arithmetic and Validity

Book description

This is the revised and extended second edition of the successful basic book on computer arithmetic. It is consistent with the newest recent standard developments in the field. The book shows how the arithmetic and mathematical capability of the digital computer can be enhanced in a quite natural way. The work is motivated by the desire and the need to improve the accuracy of numerical computing and to control the quality of the computed results (validity). The accuracy requirements for the elementary floating-point operations are extended to the customary product spaces of computations including interval spaces. The mathematical properties of these models are extracted into an axiomatic approach which leads to a general theory of computer arithmetic. Detailed methods and circuits for the implementation of this advanced computer arithmetic on digital computers are developed in part two of the book. Part three then illustrates by a number of sample applications how this extended computer arithmetic can be used to compute highly accurate and mathematically verified results. The book can be used as a high-level undergraduate textbook but also as reference work for research in computer arithmetic and applied mathematics.

Table of contents

  1. Foreword to the second edition
  2. Preface (1/3)
  3. Preface (2/3)
  4. Preface (3/3)
  5. Introduction (1/2)
  6. Introduction (2/2)
  7. I Theory of computer arithmetic
    1. 1 First concepts
      1. 1.1 Ordered sets
      2. 1.2 Complete lattices and complete subnets (1/2)
      3. 1.2 Complete lattices and complete subnets (2/2)
      4. 1.3 Screens and roundings (1/3)
      5. 1.3 Screens and roundings (2/3)
      6. 1.3 Screens and roundings (3/3)
      7. 1.4 Arithmetic operations and roundings (1/2)
      8. 1.4 Arithmetic operations and roundings (2/2)
    2. 2 Ringoids and vectoids
      1. 2.1 Ringoids
      2. 2.2 Vectoids (1/2)
      3. 2.2 Vectoids (2/2)
    3. 3 Definition of computer arithmetic
      1. 3.1 Introduction
      2. 3.2 Preliminaries
      3. 3.3 The traditional definition of computer arithmetic
      4. 3.4 Definition of computer arithmetic by semimorphisms (1/2)
      5. 3.4 Definition of computer arithmetic by semimorphisms (2/2)
      6. 3.5 A remark about roundings
      7. 3.6 Uniqueness of the minus operator
      8. 3.7 Rounding near zero (1/2)
      9. 3.7 Rounding near zero (2/2)
    4. 4 Interval arithmetic
      1. 4.1 Interval sets and arithmetic (1/2)
      2. 4.1 Interval sets and arithmetic (2/2)
      3. 4.2 Interval arithmetic over a linearly ordered set
      4. 4.3 Interval matrices (1/2)
      5. 4.3 Interval matrices (2/2)
      6. 4.4 Interval vectors
      7. 4.5 Interval arithmetic on a screen (1/2)
      8. 4.5 Interval arithmetic on a screen (2/2)
      9. 4.6 Interval matrices and interval vectors on a screen (1/2)
      10. 4.6 Interval matrices and interval vectors on a screen (2/2)
      11. 4.7 Complex interval arithmetic (1/2)
      12. 4.7 Complex interval arithmetic (2/2)
      13. 4.8 Complex interval matrices and interval vectors
      14. 4.9 Extended interval arithmetic
      15. 4.10 Exception-free arithmetic for extended intervals
      16. 4.11 Extended interval arithmetic on the computer
      17. 4.12 Exception-free arithmetic for closed real intervals on the computer
      18. 4.13 Comparison relations and lattice operations
      19. 4.14 Algorithmic implementation of interval multiplication and division
  8. II Implementation of arithmetic on computers
    1. 5 Floating-point arithmetic
      1. 5.1 Definition and properties of the real numbers
      2. 5.2 Floating-point numbers and roundings (1/2)
      3. 5.2 Floating-point numbers and roundings (2/2)
      4. 5.3 Floating-point operations (1/2)
      5. 5.3 Floating-point operations (2/2)
      6. 5.4 Subnormal floating-point numbers
      7. 5.5 On the IEEE floating-point arithmetic standard (1/2)
      8. 5.5 On the IEEE floating-point arithmetic standard (2/2)
    2. 6 Implementation of floating-point arithmetic on a computer
      1. 6.1 A brief review of the realization of integer arithmetic (1/2)
      2. 6.1 A brief review of the realization of integer arithmetic (2/2)
      3. 6.2 Introductory remarks about the level 1 operations
      4. 6.3 Addition and subtraction
      5. 6.4 Normalization
      6. 6.5 Multiplication
      7. 6.6 Division
      8. 6.7 Rounding
      9. 6.8 A universal rounding unit
      10. 6.9 Overflow and underflow treatment
      11. 6.10 Algorithms using the short accumulator (1/2)
      12. 6.10 Algorithms using the short accumulator (2/2)
      13. 6.11 The level 2 operations (1/2)
      14. 6.11 The level 2 operations (2/2)
    3. 7 Hardware support for interval arithmetic
      1. 7.1 Introduction
      2. 7.2 Arithmetic interval operations
        1. 7.2.1 Algebraic operations
        2. 7.2.2 Comments on the algebraic operations
      3. 7.3 Circuitry for the arithmetic interval operations
      4. 7.4 Comparisons and lattice operations
        1. 7.4.1 Comments on comparisons and lattice operations
        2. 7.4.2 Hardware support for comparisons and lattice operations
      5. 7.5 Alternative circuitry for interval operations and comparisons
        1. 7.5.1 Hardware support for interval arithmetic on x86-processors
        2. 7.5.2 Accurate evaluation of interval scalar products
    4. 8 Scalar products and complete arithmetic
      1. 8.1 Introduction and motivation
      2. 8.2 Historical remarks
      3. 8.3 The ubiquity of the scalar product in numerical analysis
      4. 8.4 Implementation principles (1/2)
      5. 8.4 Implementation principles (2/2)
        1. 8.4.1 Long adder and long shift
        2. 8.4.2 Short adder with local memory on the arithmetic unit
        3. 8.4.3 Remarks
        4. 8.4.4 Fast carry resolution
      6. 8.5 Informal sketch for computing an exact dot product
      7. 8.6 Scalar product computation units (SPUs)
        1. 8.6.1 SPU for computers with a 32 bit data bus
        2. 8.6.2 A coprocessor chip for the exact scalar product
        3. 8.6.3 SPU for computers with a 64 bit data bus
      8. 8.7 Comments
        1. 8.7.1 Rounding
        2. 8.7.2 How much local memory should be provided on an SPU?
      9. 8.8 The data format complete and complete arithmetic (1/2)
      10. 8.8 The data format complete and complete arithmetic (2/2)
        1. 8.8.1 Low level instructions for complete arithmetic
        2. 8.8.2 Complete arithmetic in high level programming languages
      11. 8.9 Top speed scalar product units (1/3)
      12. 8.9 Top speed scalar product units (2/3)
      13. 8.9 Top speed scalar product units (3/3)
        1. 8.9.1 SPU with long adder for 64 bit data word
        2. 8.9.2 SPU with long adder for 32 bit data word
        3. 8.9.3 An FPGA coprocessor for the exact scalar product
        4. 8.9.4 SPU with short adder and complete register
        5. 8.9.5 Carry-free accumulation of products in redundant arithmetic
      14. 8.10 Hardware complete register window
  9. III Principles of verified computing
    1. 9 Sample applications
      1. 9.1 Basic properties of interval mathematics (1/3)
      2. 9.1 Basic properties of interval mathematics (2/3)
      3. 9.1 Basic properties of interval mathematics (3/3)
        1. 9.1.1 Interval arithmetic, a powerful calculus to deal with inequalities
        2. 9.1.2 Interval arithmetic as executable set operations
        3. 9.1.3 Enclosing the range of function values
        4. 9.1.4 Nonzero property of a function, global optimization
      4. 9.2 Differentiation arithmetic, enclosures of derivatives (1/2)
      5. 9.2 Differentiation arithmetic, enclosures of derivatives (2/2)
      6. 9.3 The interval Newton method
      7. 9.4 The extended interval Newton method
      8. 9.5 Verified solution of systems of linear equations (1/2)
      9. 9.5 Verified solution of systems of linear equations (2/2)
      10. 9.6 Accurate evaluation of arithmetic expressions (1/2)
      11. 9.6 Accurate evaluation of arithmetic expressions (2/2)
        1. 9.6.1 Complete expressions
        2. 9.6.2 Accurate evaluation of polynomials
        3. 9.6.3 Arithmetic expressions
      12. 9.7 Multiple precision arithmetics (1/3)
      13. 9.7 Multiple precision arithmetics (2/3)
      14. 9.7 Multiple precision arithmetics (3/3)
        1. 9.7.1 Multiple precision floating-point arithmetic
        2. 9.7.2 Multiple precision interval arithmetic
        3. 9.7.3 Applications
        4. 9.7.4 Adding an exponent part as a scaling factor to complete arithmetic
      15. 9.8 Remarks on Kaucher arithmetic (1/2)
      16. 9.8 Remarks on Kaucher arithmetic (2/2)
        1. 9.8.1 The basic operations of Kaucher arithmetic
  10. A Frequently used symbols
  11. B On homomorphism
  12. Bibliography (1/10)
  13. Bibliography (2/10)
  14. Bibliography (3/10)
  15. Bibliography (4/10)
  16. Bibliography (5/10)
  17. Bibliography (6/10)
  18. Bibliography (7/10)
  19. Bibliography (8/10)
  20. Bibliography (9/10)
  21. Bibliography (10/10)
  22. List of figures
  23. List of tables
  24. Index (1/2)
  25. Index (2/2)

Product information

  • Title: Computer Arithmetic and Validity
  • Author(s): Ulrich Kulisch
  • Release date: April 2013
  • Publisher(s): De Gruyter
  • ISBN: 9783110301793