Advertisement

Software and Hardware Techniques for Accurate, Self-Validating Arithmetic

  • Michael J. Schulte
  • Earl E. SwartzlanderJr.
Chapter
Part of the Applied Optimization book series (APOP, volume 3)

Abstract

The need for accurate and reliable numerical applications has led to the development of several software tools and hardware designs for accurate, self-validating arithmetic. Software tools include variable-precision software packages, interval arithmetic libraries, scientific programming languages, computer algebra systems, and numerical problem solving environments. Hardware designs include coprocessors that support the directed rounding modes and exact dot products, variable-precision integer and floating point processors, and coprocessors for variable-precision interval arithmetic. In this survey, we examine various software and hardware techniques for accurate, self-validating arithmetic and discuss their strengths and limitations. We also discuss numerical applications that employ these tools to produce accurate and reliable results.

Keywords

Arithmetic Operation Computer Algebra System Interval Arithmetic Hardware Design Interval Computation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    IEEE Standard 754 for Binary Floating Point Arithmetic, American National Standards Institute, 1985.Google Scholar
  2. [2]
    LSI Logic 1.0 Micron Cell-Based Products Databook, LSI Logic Corporation, 1991.Google Scholar
  3. [3]
    E. Adams and U. Kulisch, “Introduction”, In E. Adams and U. Kulisch (editors), Scientific Computing with Automatic Result Verification, Academic Press, Inc., 1993, pp. 1–12.CrossRefGoogle Scholar
  4. [4]
    G. Alefeld and J. Herzberger, Introduction to Interval Computations. Academic Press, 1983.zbMATHGoogle Scholar
  5. [5]
    G. S. Almasi and A. Gottlieb, Highly Parallel Computing, Benjamin/Cummings, 1989, p. 487.zbMATHGoogle Scholar
  6. [6]
    A. Avizienis, “Signed-Digit Number Representations for Fast Parallel Arithmetic”, IRE Transactions on Electronic Computers, 1961, Vol. 10, pp. 389–400.MathSciNetCrossRefGoogle Scholar
  7. [7]
    R. S. Bajwa, R. M. Owens, and M. J. Irwin, “Area-Time Tradeoffs in Micro-Grain VLSI Array Processors”, IEEE Transactions on Computers, 1994, Vol. C-43, pp. 1121–1128.CrossRefGoogle Scholar
  8. [8]
    J. H. Bleher, A. E. Röder, and S. Rump, “ACRITH: High Accuracy Arithmetic - An Advanced Tool for Numerical Computation”, In Proceedings of the 7th Symposium on Computer Arithmetic, 1985, pp. 318–321.Google Scholar
  9. [9]
    J. H. Bleher, S. M. Rump, U. Kulisch, and J. Wolff von Gudenberg, “FORTRAN-SC: A Study of a FORTRAN Extension for Engineering Scientific Computation with Access to ARITH”, Computing, 39: 93–110, 1987.zbMATHCrossRefGoogle Scholar
  10. [10]
    B. I. Blum, “An Extended Arithmetic Package”, Communications of the ACM, 1965, Vol. 8. pp. 318–320.CrossRefGoogle Scholar
  11. [11]
    G. Bohlender, “What Do We Need Beyond IEEE Arithmetic?” In C. Ullrich, editor, Computer Arithmetic and Self-Validating Numerical Methods, Academic Press, 1990, pp. 1–32.Google Scholar
  12. [12]
    G. Bohlender and T. Teufel, “BAP-SC: A Decimal Floating-Point Processors for Optimal Arithmetic”, In E. Kaucher, U. Kulisch, and Ch. Ullrich, editors, Computerarithmetic: Scientific Computation and Programming Languages, B.G Teubner Verlag, 1987, pp. 31–58.Google Scholar
  13. [13]
    K. Braune, “Standard Functions for Real and Complex Point and Interval Arguments with Dynamic Accuracy”, In U. Kulisch and H. J. Stetter, editors, Scientific Computing with Automatic Result Verification, Springer-Verlag, 1989, pp. 159–184.Google Scholar
  14. [14]
    R. P. Brent, “A FORTRAN Multiprecision Arithmetic Package”, ACM Transactions on Mathematical Software, 1978, Vol. 4, pp. 57–70.CrossRefGoogle Scholar
  15. [15]
    R. P. Brent, “Multiple-Precision Zero Finding Methods and the Complexity of Elementary Function Evaluation”, In J. F. Traub, editor, Analytic Computational Complexity, Academic Press, Inc., 1976, pp. 151–176.Google Scholar
  16. [16]
    B. Buchberger, “Gröbner Bases in MATHEMATICA: Enthusiasm and Frustration”, In Programming Environments for High-level Scientific Problem Solving, 1991, pp. 80–91.Google Scholar
  17. [17]
    O. Caprani, K. Madsen, and O. Stauning. “Enclosing Solutions of Integral Equations”, Reliable Computing, 1995, Supplement (Extended Abstracts of APIC’95: International Workshop on Applications of Interval Computations, El Paso, TX, Febr. 23–25, 1995 ), pp. 45–51.Google Scholar
  18. [18]
    T. M. Carter, “Cascade: Hardware for High/Variable Precision Arithmetic”, In Proceedings of the 9th Symposium on Computer Arithmetic, 1989, pp. 184–191.CrossRefGoogle Scholar
  19. [19]
    B. W. Char et al, “A Tutorial Introduction to Maple”, Journal of Symbolic Computation, 1986, Vol. 2, pp. 179–200.CrossRefGoogle Scholar
  20. [20]
    D. M. Chiarulli, W. G. Rudd, and D. A. Buell, “DRAFT: A Dynamically Reconfigurable Processor for Integer Arithmetic”, In Proceedings of the 7th Symposium on Computer Arithmetic, 1985, pp. 309–318.Google Scholar
  21. [21]
    M. S. Cohen, T. E. Hull, and V. C. Hamacher, “CADAC: A Controlled-Precision Decimal Arithmetic Unit”, IEEE Transactions on Computers, 1983, Vol. C-32, pp. 370–377.CrossRefGoogle Scholar
  22. [22]
    G. F. Corliss, “Industrial Applications of Interval Techniques”, In Ch. Ullrich, editor, Computer Arithmetic and Self-Validating Numerical Methods, Academic Press, 1990, pp. 91–113.Google Scholar
  23. [23]
    J. S. Ely, “The VPI Software Package for Variable Precision Interval Arithmetic”, Interval Computations, 1993, No. 2, pp. 135–153.Google Scholar
  24. [24]
    J. Erhel and B. Philippe, “AQUARELS: A Problem-Solving Environment for Numerical Quality”, In C. Brezinski and U. Kulisch, editors, Computational and Applied Mathematics I: Algorithms and Theory, North-Holland, 1992, pp. 127–136.Google Scholar
  25. [25]
    J. Erhel and B. Philippe, “Design of a Toolbox to Control Arithmetic Reliability”, In L. Atanassova and J. Herzberger, editors, Computer Arithmetic and Enclosure Methods, North-Holland, 1992, pp. 99–108.Google Scholar
  26. [26]
    C. Falco-Korn, S. König, and S. Gutzwiller, “MODULA-SC: A Precompiler to Modula-2”, In C. P. Ullrich, editor, Contributions to Computer Arithmetic and Self-Validating Numerical Methods, J. C. Baltzer, 1991, pp. 371–384.Google Scholar
  27. [27]
    H. Fleurkens and R. Tangelder, “The High Level Design of a Chip for Scientific Computation”, In Proceedings of the CompEuro Conference, 1991, pp. 811–815.Google Scholar
  28. [28]
    R. Gerhard, REDUCE: Software for Algebraic Computation. Springer-Verlag, 1987.zbMATHGoogle Scholar
  29. [29]
    K. Hafner, “Chips for High Precision Arithmetic”, In Ch. Ullrich, editor, Computer Arithmetic and Self- Validating Numerical Methods, Academic Press, 1990, pp. 33–54.Google Scholar
  30. [30]
    E. Hansen, Global Optimization Using Interval Analysis. Marcel Dekker, 1992.zbMATHGoogle Scholar
  31. [31]
    D. Harper, C. D. Wooff, and D. E. Hodgkinson, A Guide to Computer Algebra Systems, John Wiley and Sons, 1991.zbMATHGoogle Scholar
  32. [32]
    T. E. Hull, M. S. Cohen, and C. B. Hull, “Specification for a Variable- Precision Arithmetic Coprocessor”, In Proceedings of the 10th Symposium on Computer Arithmetic, 1991, pp. 127–131.CrossRefGoogle Scholar
  33. [33]
    E. Hyvönen and S. De Pascale, “InC++ Library Family for Interval Computations”, Reliable Computing, 1995, Supplement (Extended Abstracts of APIC’95: International Workshop on Applications of Interval Computations, El Paso, TX, Febr. 23–25, 1995 ), pp. 85–90.Google Scholar
  34. [34]
    W. M. Kahan and E. LeBlanc, “Anomalies in the IBM ACRITH Package”, In Proceedings of the 7th Symposium on Computer Arithmetic, 1985, pp. 322–331.Google Scholar
  35. [35]
    R. B. Kearfott, “A Review of Techniques in the Verified Solution of Constrained Global Optimization”, Reliable Computing, 1995, Supplement (Extended Abstracts of APIC’95: International Workshop on Applications of Interval Computations, El Paso, TX, Febr. 23–25, 1995 ), pp. 105–106.Google Scholar
  36. [36]
    R. B. Kearfott, M. Dawande, K. Du, and C. Hu, “A Portable FORTRAN 77 Elementary Function Library”, Interval Computations, 1992, No. 3, pp. 96–105.Google Scholar
  37. [37]
    R. B. Kearfott, M. Dawande, K. Du, and C. Hu, “Algorithm 737: INTLIB: A Portable FORTRAN 77 Interval Standard Function Library”, ACM Transactions on Mathematical Software, 1994, Vol. 20, pp. 447–459.zbMATHCrossRefGoogle Scholar
  38. [38]
    R. B. Kearfott and M. Novoa, “INTBIS, A Portable Interval Newton Bisection Package”, ACM Transactions on Mathematical Software, 1990, Vol. 16, pp. 152–157.zbMATHCrossRefGoogle Scholar
  39. [39]
    J. Kernhof et al., “A CMOS Floating-Point Processing Chip for Verified Exact Vector Arithmetic”, In ESSIRC 94, 1994.Google Scholar
  40. [40]
    R. Klatte, U. Kulisch, M. Neaga, D. Ratz, and Ch. Ullrich, PASCAL-XSC: Language Reference with Examples. Springer-Verlag, 1991.Google Scholar
  41. [41]
    R. Klatte, U. Kulisch, A. Wiethoff, C. Lawo, and M. Rauch, C-XSC: A C++ Class Library for Extended Scientific Computing. Springer-Verlag, 1993.zbMATHGoogle Scholar
  42. [42]
    A. Knöfel, “Fast Hardware Units for the Computation of Accurate Dot Products”, In Proceedings of the 10th Symposium on Computer Arithmetic, 1991, pp. 70–75.CrossRefGoogle Scholar
  43. [43]
    A. Knöfel, “Hardware Kernel for Scientific/Engineering Computations”, In E. Adams and U. Kulisch, editors, Scientific Computing with Automatic Result Verification, Academic Press, Inc., 1993, pp. 549–570.CrossRefGoogle Scholar
  44. [44]
    O. Knüppel, “PROFIL/BIAS - A Fast Interval Library”, Computing, 1994, Vol. 53, pp. 277–288.MathSciNetzbMATHCrossRefGoogle Scholar
  45. [45]
    W. Krämer, “Multiple-Precision Computations with Result Verification”, In E. Adams and U. Kulisch, editors, Scientific Computing with Automatic Result Verification, Academic Press, Inc., 1993, pp. 325–356.CrossRefGoogle Scholar
  46. [46]
    V. Kreinovich, “Data Processing Beyond Traditional Statistics: Applications of Interval Computations. A Brief Introduction”, Reliable Computing, 1995, Supplement (Extended Abstracts of APIC’95: International Workshop on Applications of Interval Computations, El Paso, TX, Febr. 23–25, 1995 ), pp. 13–21.Google Scholar
  47. [47]
    F. Krückeberg, “Computer Algebra and Variable Precision Computing”, In Proceedings of the 13th IMACS World Congress on Computation and Applied Mathematics, 1991, pp. 65–66.Google Scholar
  48. [48]
    U. Kulisch and H. J. Stetter, “Automatic Result Verification”, In U. Kulisch and H. J. Stetter, editors, Scientific Computing with Automatic Result Verification, Springer-Verlag, 1989, pp. 1–6.Google Scholar
  49. [49]
    U. W. Kulisch and W. L. Miranker, Computer Arithmetic in Theory and in Practice, Academic Press, Inc., 1981.zbMATHGoogle Scholar
  50. [50]
    R. J. Lohner, “Interval Arithmetic in Staggered Correction Format”, In E. Adams and U. Kulisch, editors, Scientific Computing with Automatic Result Verification, Academic Press, 1993, pp. 301–321.CrossRefGoogle Scholar
  51. [51]
    J. C. Mason and I. Reid, “Numerical Problem-Solving Environments - Current and Future Trends”, In J. C. Mason and M. G. Cox, editors, Scientific Software Systems, Chapman and Hall, 1988, pp. 223–237.Google Scholar
  52. [52]
    R. E. Moore, Interval Analysis, Prentice Hall, 1966.zbMATHGoogle Scholar
  53. [53]
    R. E. Moore, Reliability in Computing: The Role of Interval Methods in Scientific Computations, Academic Press, 1988.Google Scholar
  54. [54]
    R. E. Moore, “Computing to Arbitrary Accuracy”, In C. Brezinski and U. Kulisch, editors, Computational and Applied Mathematics I: Algorithms and Theory, North-Holland, 1992, pp. 327–336.Google Scholar
  55. [55]
    A. Neumaier, Interval Methods for Systems of Equations, Cambridge University Press, 1990.zbMATHGoogle Scholar
  56. [56]
    R. Pavelle and P. S. Wang, “MACSYMA from F to G”, Journal of Symbolic Computation, 1985, Vol. 1, pp. 69–100.MathSciNetzbMATHCrossRefGoogle Scholar
  57. [57]
    D. Ratz, “The Effects of the Arithmetic of Vector Computers on Basic Numerical Methods”, In Ch. Ullrich, editor, Contributions to Computer Arithmetic and Self-Validating Numerical Methods, J. C. Baltzer, 1990, pp. 499–514.Google Scholar
  58. [58]
    J. Schröder, “Verification of Polynomial Roots by Closed Coupling of Computer Algebra and Self-Validating Numerical Methods”, In Ch. Ullrich, editor, Contributions to Computer Arithmetic and Self-Validating Numerical Methods, J. C. Baltzer, 1990, pp. 259–269.Google Scholar
  59. [59]
    E. K. Reuter et al., “Some Experiments Using Interval Arithmetic”, In Proceedings of the 4th Symposium on Computer Arithmetic, 1978, pp. 75–81.Google Scholar
  60. [60]
    M. J. Schulte and E. E. Swartzlander, Jr., “Designs and Applications for Variable-Precision, Interval Arithmetic Coprocessors”, Reliable Computing, 1995, Supplement (Extended Abstracts of APIC’95: International Workshop on Applications of Interval Computations, El Paso, TX, Febr. 23–25, 1995 ), pp. 166–172.Google Scholar
  61. [61]
    M. J. Schulte and E. E. Swartzlander, Jr., “A Hardware Design and Arithmetic Algorithms for a Variable-Precision, Interval Arithmetic Coprocessor”, In Proceedings of the 12th Symposium on Computer Arithmetic, 1995 (in press).Google Scholar
  62. [62]
    M. J. Schulte and E. E. Swartzlander, Jr., “A Processor for Staggered Interval Arithmetic”, In Proceedings of the 1995 International Conference on Application Specific Array Processors, 1995 (in press).Google Scholar
  63. [63]
    M. J. Schulte and E. E. Swartzlander, Jr., Software Interface and Hardware Design for Variable-Precision Interval Arithmetic, Reliable Computing, 1995 (in press).Google Scholar
  64. [64]
    J. Schwartz, “Implementing Infinite Precision Arithmetic”, In Proceedings of the 9th Symposium on Computer Arithmetic, 1989, pp. 10–17.CrossRefGoogle Scholar
  65. [65]
    D. M. Smith, “Algorithm 693: A FORTRAN Package For Floating-Point Multiple-Precision Arithmetic”, ACM Transactions on Mathematical Software, 1991, Vol. 17, pp. 273–283.zbMATHCrossRefGoogle Scholar
  66. [66]
    H. J. Stetter, “Validated Solution of Initial Value Problem for ODE”, In C. Ullrich, editor, Computer Arithmetic and Self-Validating Numerical Methods, Academic Press, 1990, pp. 171–187.Google Scholar
  67. [67]
    R. S. Sutor, “The Scratchpad II Computer Algebra System”, In Proceedings of EUROCAL 85, 1985, pp. 32–33.Google Scholar
  68. [68]
    Ch. Ullrich, “Programming Languages for Enclosure Methods”, In Ch. Ullrich, editor, Computer Arithmetic and Self-Validating Numerical Methods, Academic Press, 1990, pp. 115–130.Google Scholar
  69. [69]
    J. Wolff von Gudenberg, “PASCAL-SC: A PASCAL Extension for Scientific Computation”, In Proceedings of the 10th IMACS World Congress on System Simulation and Scientific Computation, 1982, pp. 402–482.Google Scholar
  70. [70]
    W. V. Walter, “ACRITH-XSC: A Fortran-like Language for Verified Scientific Computing”, In E. Adams and U. Kulisch, editors, Scientific Computing with Automatic Result Verification, Academic Press, Inc., 1993, pp. 45–70.CrossRefGoogle Scholar
  71. [71]
    S. Wolfram, Mathematica: A System for Doing Mathematics by Computer, Addison-Wesley, 1988.zbMATHGoogle Scholar
  72. [72]
    C. D. Wooff and D. E. Hodgkinson, muMath: A Microcomputer Algebra System, Academic Press, 1987.zbMATHGoogle Scholar
  73. [73]
    W. T. Wyatt, D. W. Lozier, and D. J. Orser, “A Portable Extended Precision Arithmetic Package and Library with FORTRAN Precompiler”, ACM Transactions on Mathematical Software, 1976, Vol. 2, pp. 209–231.zbMATHCrossRefGoogle Scholar

Copyright information

© Kluwer Academic Publishers 1996

Authors and Affiliations

  • Michael J. Schulte
    • 1
  • Earl E. SwartzlanderJr.
    • 1
  1. 1.Department of Electrical and Computer EngineeringUniversity of Texas at AustinAustinUSA

Personalised recommendations