Skip to main content
Log in

Multiple/arbitrary precision interval computations in C-XSC

  • Published:
Computing Aims and scope Submit manuscript

Abstract

As a new feature, C-XSC provides so-called wrapper classes to some external arbitrary precision real and interval packages. Operator and function name overloading is used to give the user easy access to the arithmetic operations and mathematical functions provided by the underlying Ansi C packages. We will discuss briefly so-called staggered precision arithmetics based on exact scalar products. Such an arithmetic is available in C-XSC e.g. for multiple precision complex intervals. We also discuss the usage of the arbitrary precision arithmetic packages MPFR and MPFI, which are now accessible conveniently from within C-XSC via class interfaces. As a typical application, we will present an arbitrary precision interval Newton method to find the root(s) of a continuously differentiable function in a prescribed domain. The user only has to supply the expression for the function in the usual mathematical notation. The derivative needed in the interval Newton operator is computed using automatic differentiation based on the arbitrary precision interval operations. To demonstrate the power of the package we compute an enclosure of the zero of a model problem with guaranteed accuracy of more than 10 million decimal digits.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Aberth O, Schaefer MJ (1992) Precise computation using range arithmetic, via C++. ACM Trans Math Softw 18(4): 481–491

    Article  MATH  Google Scholar 

  2. Adams E, Kulisch U (1993) Scientific computing with automatic resultverification. Academic Press, Inc., New York

    Google Scholar 

  3. Alefeld G, Herzberger J (1983) Introduction to interval computations. Academic Press, New York

    MATH  Google Scholar 

  4. Alt R, Frommer A, Kearfott RB, Luther W (eds) (2004) Numerical software with result verification. LNCS, vol 2991, Springer, Berlin

  5. Akyildiz Y, Popova ED, Ullrich CP (1997) Towards a more complete interval arithmetic in mathematica. In: Proceedings on the second international mathematica symposium, pp 26–36

  6. Bailey DH (1995) A Fortran-90 based multiprecision system. ACM Trans Math Softw 21(4): 379–387

    Article  MATH  Google Scholar 

  7. Blomquist F, Hofschuster W, Krämer W (2009) A modified staggered correction arithmetic with enhanced accuracy and very wide exponent range. Lecture Notes in Computer Science LNCS, vol 5492, Springer, Berlin, pp 41–67

  8. Blomquist F, Hofschuster W, Krämer W (2010) Eine C-XSC-Langzahlarithmetik auf der Basis der MPFR- und MPFI-Bibliotheken. University of Wuppertal, Wuppertal

    Google Scholar 

  9. Brent R (1978) A Fortran multiple-precision arithmetic package. ACM Trans Math Softw (TOMS) 4(1): 57–70

    Article  Google Scholar 

  10. Brent R, Hooper JA, Yohe JM (1980) An AUGMENT interface for Brent’s multiple rrecision arithmetic package. ACM Trans Math Softw (TOMS) 6(2): 146–149

    Article  MATH  Google Scholar 

  11. Cuyt A, Verdonk B, Becuwe S, Kuterna P (2001) A remarkable example of catastrophic cancellation unraveled. Computing 66(3): 309–320

    Article  MathSciNet  MATH  Google Scholar 

  12. Cuyt A, Verdonk B, Waadeland H (2006) Efficient and reliable multiprecision implementation of elementary and special functions. SIAM J Sci Comput 28: 1437–1462

    Article  MathSciNet  MATH  Google Scholar 

  13. Cuyt A et al (eds) (2009) Numerical validation in current hardware architectures. Lecture Notes in Computer Science LNCS, vol 5492, Springer, Berlin

  14. Döscher Chr (2010) Entwicklung bzw. Vereinheitlichung von C-XSC-Paketen zur automatischen Differentiation mittels Template-Programmierung. Thesis, University of Wuppertal, Germany

  15. Fousse L, Hanrot G, Lefèvre V, Pélissier P, Zimmermann P (2007) MPFR: a multiple-precision binary floating-point library With correct rounding. ACM Trans Math Softw 33(2):13:1–13:15. Link: http://www.mpfr.org/mpfr-current

    Google Scholar 

  16. Geulig I, Krämer W (1998) Intervallrechnung in Maple—Die Erweiterung intpakX zum Paket intpak der Share-Library. IWRMM, University of Karlsruhe

  17. GNU Multiple Precision Arithmetic Library. Link: http://gmplib.org/

  18. GNU MPFR Documentation (2011). Link: http://www.mpfr.org/mpfr-current/mpfr.pdf

  19. Griewank A, Corliss G (eds) (1991) Automatic differentiation of algorithms: theory, implementation, and applications. SIAM, Philadelphia

  20. Griewank A, Walther A (2008) Evaluating derivatives, principles and techniques of algorithmic differentiation. Second. SIAM, Philadelphia

    Google Scholar 

  21. Grimmer M, Petras K, Revol N (2004) Multiple precision interval packages: comparing different approaches. In Lecture Notes in Computer Science, vol 2991, Springer, Berlin, pp 64–90

  22. Hammer R, Hocks M, Kulisch U, Ratz D (1995) C++ toolbox for verified computing I, basic numerical problems: theory, algorithms and programs. Springer, Berlin

    MATH  Google Scholar 

  23. Hofschuster W, Krämer W (2004) C-XSC 2.0: a C++ library for extended scientific computing. Numerical software with result verification, Lecture Notes in Computer Science, vol 2991/2004, Springer, Heidelberg, pp 15–35

  24. Hofschuster W, Krämer W, Neher M (2009) C-XSC and closely related software packages. In [13], pp 68–102

  25. IBM High-Accuracy Arithmetic Subroutine Library (ACRITH)(1986) General information manual, GC 33-6163-02, 3rd edn

  26. Keiper JB (1995) Interval arithmetic in mathematica. Math J 5(2), Springer

  27. Klatte R et al (1991) PASCAL-XSC—language reference with examples. Springer, Heidelberg

    Google Scholar 

  28. Klatte R, Kulisch U, Wiethoff A, Lawo C, Rauch M (1993) C-XSC—A C++ class library for extended scientific computing. Springer, Heidelberg

    MATH  Google Scholar 

  29. Krämer W (1993) Multiple precision computations with result verification. In [2], pp 325–356

  30. Krämer W, Kulisch U, Lohner R (1998) Numerical toolbox for verified computing II—advanced numerical problems (draft). Chapter 7, Multiple-Precision Arithmetic Using Integer Operations, pp 210–251. See http://www.math.uni-wuppertal.de/wrswt/literatur/tb2.ps.gz

  31. Krämer W (2007) Introduction to the Maple power tool intpakX. Serdica J Comput 1(4): 469–504

    MATH  Google Scholar 

  32. Kulisch U (2008) Computer arithmetic and validity. Theory, implementation, and applications. Stud Math 33, de Gruyter

  33. Kulisch U, Snyder V (2010) The exact dot product as basic tool for long interval arithmetic. Computing Online. Springer, Berlin

    Google Scholar 

  34. Lohner R (1993) Interval arithmetic in staggered correction format. In [2], pp 301–342

  35. Moore RE (1966) Interval analysis. Prentice Hall, New Jersey

    MATH  Google Scholar 

  36. Neumaier A (1990) Interval methods for systems of equations. Cambridge University Press, Cambridge

    MATH  Google Scholar 

  37. Revol N, Rouillier F (2005) Motivations for an arbitrary precision interval arithmetic and the MPFI library. Reliab Comput 11:275–290. Link: http://perso.ens-lyon.fr/nathalie.revol/mpfi.html

    Google Scholar 

  38. Rump SM (2010) Verification methods: rigorous results using floating-point arithmetic. Acta Numer 19: 287–449

    Article  MathSciNet  Google Scholar 

  39. Smith DM (1989) Efficient multiple-precision evaluation of elementary functions. Math Comput 52: 131–134

    Article  MATH  Google Scholar 

  40. Smith DM (1991) Algorithm 693: a FORTRAN package for floating-point multiple-precision arithmetic. ACM Trans Math Softw 17(2): 273–283

    Article  MATH  Google Scholar 

  41. Stoutemyer DR (2007) Useful computations need useful numbers. ACM Commun Comput Algebra 41(3)

  42. Yohe JM (1979) Software for interval arithmetic: a reasonably portable package. ACM Trans Math Softw 5(1): 50–63

    Article  MathSciNet  Google Scholar 

  43. Yohe JM (1980) Portable software for interval arithmetic. Comput Suppl 2: 211–229

    Article  Google Scholar 

  44. Zimmer M, Krämer W, Bohlender G, Hofschuster W (2010) Extension of the C-XSC library with scalar products with selectable accuracy. Serdica J Comput 4(3): 349–3700

    Google Scholar 

  45. Zimmermann P (2010) Reliable computing with GNU MPFR. LNCS, vol 6327, Springer, Berlin, pp 42–45

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Walter Krämer.

Additional information

The author has presented the results of this paper during the SCAN 2010 conference in Lyon, September 2010.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Krämer, W. Multiple/arbitrary precision interval computations in C-XSC. Computing 94, 229–241 (2012). https://doi.org/10.1007/s00607-011-0174-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-011-0174-8

Keywords

Mathematics Subject Classification (2000)

Navigation