Applications of Interval Computations pp 381-404 | Cite as

# Software and Hardware Techniques for Accurate, Self-Validating Arithmetic

## 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## Preview

Unable to display preview. Download preview PDF.

## References

- [1]
*IEEE Standard 754 for Binary Floating Point Arithmetic*, American National Standards Institute, 1985.Google Scholar - [2]
*LSI Logic 1.0 Micron Cell-Based Products Databook*, LSI Logic Corporation, 1991.Google Scholar - [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]G. Alefeld and J. Herzberger,
*Introduction to Interval Computations*. Academic Press, 1983.zbMATHGoogle Scholar - [5]G. S. Almasi and A. Gottlieb,
*Highly Parallel Computing*, Benjamin/Cummings, 1989, p. 487.zbMATHGoogle Scholar - [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]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]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]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]B. I. Blum, “An Extended Arithmetic Package”,
*Communications of the ACM*, 1965, Vol. 8. pp. 318–320.CrossRefGoogle Scholar - [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]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]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]R. P. Brent, “A FORTRAN Multiprecision Arithmetic Package”,
*ACM Transactions on Mathematical Software*, 1978, Vol. 4, pp. 57–70.CrossRefGoogle Scholar - [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]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]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]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]B. W. Char et al, “A Tutorial Introduction to Maple”,
*Journal of Symbolic Computation*, 1986, Vol. 2, pp. 179–200.CrossRefGoogle Scholar - [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]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]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]J. S. Ely, “The VPI Software Package for Variable Precision Interval Arithmetic”,
*Interval Computations*, 1993, No. 2, pp. 135–153.Google Scholar - [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]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]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]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]R. Gerhard,
*REDUCE: Software for Algebraic Computation*. Springer-Verlag, 1987.zbMATHGoogle Scholar - [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]E. Hansen,
*Global Optimization Using Interval Analysis*. Marcel Dekker, 1992.zbMATHGoogle Scholar - [31]D. Harper, C. D. Wooff, and D. E. Hodgkinson,
*A Guide to Computer Algebra Systems*, John Wiley and Sons, 1991.zbMATHGoogle Scholar - [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]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]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]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]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]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]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]J. Kernhof et al., “A CMOS Floating-Point Processing Chip for Verified Exact Vector Arithmetic”, In
*ESSIRC 94*, 1994.Google Scholar - [40]R. Klatte, U. Kulisch, M. Neaga, D. Ratz, and Ch. Ullrich,
*PASCAL-XSC: Language Reference with Examples*. Springer-Verlag, 1991.Google Scholar - [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]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]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]O. Knüppel, “PROFIL/BIAS - A Fast Interval Library”,
*Computing*, 1994, Vol. 53, pp. 277–288.MathSciNetzbMATHCrossRefGoogle Scholar - [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]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]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]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]U. W. Kulisch and W. L. Miranker,
*Computer Arithmetic in Theory and in Practice*, Academic Press, Inc., 1981.zbMATHGoogle Scholar - [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]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]R. E. Moore,
*Interval Analysis*, Prentice Hall, 1966.zbMATHGoogle Scholar - [53]R. E. Moore,
*Reliability in Computing: The Role of Interval Methods in Scientific Computations*, Academic Press, 1988.Google Scholar - [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]A. Neumaier,
*Interval Methods for Systems of Equations*, Cambridge University Press, 1990.zbMATHGoogle Scholar - [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]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]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]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]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]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]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]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]J. Schwartz, “Implementing Infinite Precision Arithmetic”, In
*Proceedings of the 9th Symposium on Computer Arithmetic*, 1989, pp. 10–17.CrossRefGoogle Scholar - [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]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]R. S. Sutor, “The Scratchpad II Computer Algebra System”, In
*Proceedings of EUROCAL**85*, 1985, pp. 32–33.Google Scholar - [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]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]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]S. Wolfram,
*Mathematica: A System for Doing Mathematics by Computer*, Addison-Wesley, 1988.zbMATHGoogle Scholar - [72]C. D. Wooff and D. E. Hodgkinson,
*muMath: A Microcomputer Algebra System*, Academic Press, 1987.zbMATHGoogle Scholar - [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