Skip to main content
Log in

Gleitkommaarithmetik auf dem Prüfstand

Wie werden verifiziert(e) numerische Lösungen berechnet?

  • Survey Article
  • Published:
Jahresbericht der Deutschen Mathematiker-Vereinigung Aims and scope Submit manuscript

Zusammenfassung

Um es vorweg zu nehmen, ungenaue numerische Resultate sind selten; zu selten, sich immer darum kümmern zu müssen, aber nicht selten genug, sie zu ignorieren.

Im folgenden sollen die Grenzen und Möglichkeiten von Gleitkommaarithmetik und von numerischen Verfahren untersucht und Eigenschaften und Fakten verdeutlicht werden, insbesondere anhand einiger Beispiele. Namentlich werden Algorithmen besprochen, die zwar nur Gleitkommaarithmetik nutzen, aber dennoch grundsätzlich nur korrekte Ergebnisse liefern.

Um auch das vorweg zu nehmen, korrekte Ergebnisse nicht-trivialer Probleme können mit Intervallarithmetik berechnet werden, auch wenn jene zuweilen immer noch in einem zweifelhaften Ruf steht. Hierauf wird öfter eingegangen, auch in einem eigenen Abschnitt 15.

Der Artikel wendet sich insbesondere an Mathematiker, die bisher eher peripher mit Numerik zu tun hatten. Ich hoffe auf Nachsicht, daß wenig mehr als mathematisches Abiturwissen durchaus genügt und verweise auf Rump (Acta Numer. 19, 287–449: 2010) für diejenigen, die mehr bzw. andere Mathematik hinzufügen möchten. Allein, ohne die hier explizierten Grundlagen wird man den tieferen Sinn der dort vorgestellten Verfahren kaum gründlich verstehen können.

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.

Abb. 1
Abb. 2
Abb. 3
Abb. 4
Abb. 5
Abb. 6
Abb. 7

Notes

  1. Dadurch entfallen Über- und Unterlauf ohne essentielle Probleme auszuklammern.

  2. Hier werden nützliche Dinge des Alltags zum Einheitspreis von 100 Yen (≈80 €-cent) angeboten.

  3. „Intel inside“; bis auf die erwähnten Taschenrechner.

  4. Der Unfall, der in [78] detailliert beschrieben wird, entstand durch ebensolches Unverständnis.

  5. Bei den Simpsons [68] wird ein ähnliches Beispiel für Taschenrechner konstruiert.

  6. Im angelsächsischen Raum diskriminiert man günstigerweise zwischen „precision“ und „accuracy“, der Rechen- und der Ergebnisgenauigkeit.

  7. Man ersetzt in der Eigenzerlegung \(A=XDX^{T}\) einfach \(D\) durch \(D+E\) für diagonales \(E\).

  8. Läßt man Perturbationen \(\|f\|\le \varepsilon \|b\|\) der rechten Seite zu, so kommt wg. \(\|A^{-1}f\|\le \varepsilon \|A^{-1}\|\cdot \|b\|\le \kappa \varepsilon \|x\|\) auf der rechten Seite von (5.3) ein Faktor 2 hinzu.

  9. Für das Ausgleichsproblem wurde vereinfacht die Konditionszahl für die rechteckige Matrix \(A\) benutzt; genau genommen ist die Sache etwas komplizierter [10, 70].

  10. Besser zerlegt man \(A=QR\) in eine orthogonale Matrix \(Q\) und eine obere Dreiecksmatrix \(R\). Offenbar folgt \(\|Ax-b\|_{2}=\|Rx-Q^{T}b\|_{2}\), wobei die Gleichungen in \(Rx=Q^{T}b\) bequem durch Einsetzen der Reihe nach aufgelöst werden können (genau das macht der \(\backslash \)-Operator).

  11. Mit (5.5) werden beide Nullstellen mit einem relativen Fehler kleiner \(\mathbf {u}\) angenähert.

  12. Früher wurde \(1.01k\mathbf {u}\) benutzt, was zumindest für hinreichend kleines \(\mathbf {u}\) und \(k\) korrekt ist.

  13. Der in [50] gelieferte Beweis ist natürlich korrekt.

  14. Lemma 7.1 ist für sukzessive Summation formuliert, gilt aber [36] für beliebige Reihenfolgen der Summation.

  15. Das gilt auch bei beschränktem Exponentenbereich, da es keinen Überlauf geben kann; im Unterlaufbereich ist die Addition und Subtraktion fehlerfrei.

  16. Hierbei wird benutzt, daß \(i+j-1\in \mathbb {F}\) gilt, jedenfalls für praktische Werte von \(n\).

  17. Mir sind schon mehrfach Aussagen des Kalibers „Ich weiß nicht, worum es bei Intervallrechnung genau geht, aber ich halte nichts davon“ begegnet.

  18. Nach Wilkinson [80] dachte Turing bereits 1946 über eine Arithmetik mit Fehlerschranken und eine hierfür geeignete Hardware nach.

  19. Auch „IGA“, Intervall Gauß-Algorithmus genannt.

  20. Kritiker mögen einwenden, daß diese Dichotomie ja leicht zu erreichen ist, indem immer eine Fehlermeldung ausgegeben wird. Allein, das Ziel von Verifikationsmethoden ist, wie gesagt, die Kluft zwischen notwendig und hinreichend so gering wie möglich zu halten.

  21. Für diesen Abschnitt sei Über- oder Unterlauf ausgeschlossen.

  22. In [17] wird allerdings von Fehlern in Mathematica und Maple berichtet: Die Determinante ganzzahliger \(14\times 14\) Matrizen (alle Einträge betragsmäßig kleiner als 1000) wird falsch berechnet. Fehler passieren; das eigentlich Schlimme ist, daß der Fehler, obwohl bekannt, über mehrere Versionen nicht korrigiert wurde.

  23. Tatsächlich schließt f ( i n t v a l ( 1.79 ) ) nicht \(f(1.79)\), sondern \(f(\text{fl}(1.79))\) ein; das ist für die Schlußfolgerung jedoch ohne Belang.

  24. Die Primzahlen werden hier nur zur einfachen Angabe eines reproduzierbaren Beispiels verwandt.

  25. Die Ausgabe ist so programmiert, daß die angezeigten Intervalle korrekte Einschließungen sind.

Literatur

  1. Andrade, M.V.A., Comba, J.L.D., Stolfi, J.: Affine arithmetic. Presented at INTERVAL’94 (1994)

  2. Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development Coq’Art: The Calculus of Inductive Constructions. Texts in Theoretical Computer Science, EATCS Series. Springer, Berlin (2004)

    Book  MATH  Google Scholar 

  3. Bischof, C.H., Carle, A., Corliss, G., Griewank, A.: ADIFOR—Generating Derivative Codes from Fortran Programs. Technical report, Mathematics and Computer Science Devision, Argonne National Laboratory (1991)

  4. Boldo, S.: Pitfalls of a full floating-point proof: example on the formal proof of the Veltkamp/Dekker algorithms. In: Proceedings of Automated Reasoning, IJCAR, Seattle, S. 52–66 (2006)

    Chapter  Google Scholar 

  5. Bornemann, F.: Numerische lineare Algebra – Eine konzise Einführung mit MATLAB und Julia. Springer, Berlin (2016)

    Google Scholar 

  6. Bornemann, F.: The SIAM 100-digit challenge: a decade later. Jahresber. Dtsch. Mat.-Ver. (im Ersheinen) (2016). doi:10.1365/s13291-016-0137-2

  7. Bornemann, F., Laurie, D., Wagon, S., Waldvogel, J.: The SIAM 100-Digit Challenge—A Study in High-Accuracy Numerical Computing. SIAM, Philadelphia (2004)

    Book  MATH  Google Scholar 

  8. Bouissou, O., Goubault, E., Goubault-Larrecq, J., Putot, S.: A generalization of p-boxes to affine arithmetic. Computing 94(2–4), 180–201 (2012)

    MathSciNet  MATH  Google Scholar 

  9. Breuer, B., McKenna, P.J., Plum, M.: Multiple solutions for a semilinear boundary value problem: a computational multiplicity proof. J. Differ. Equ. 195, 243–269 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  10. Chandrasekaran, S., Ipsen, I.: Perturbation theory for the solution of systems of linear equations. Technical report YALEU/DCS/RR-866, Yale University, Dept. of Computer Science (October 1991)

  11. Cole, F.N.: On the factoring of large numbers. Bull. Am. Math. Soc. 10, 134–137 (1903)

    Article  MathSciNet  Google Scholar 

  12. Conn, A.R., Gould, N.I.M., Lescrenier, M., Toint, Ph.L.: Performance of a multifrontal scheme for partially separable optimization. Technical report 88/4, Dept. of Mathematics, FUNDP (Namur, B) (1988)

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

    Article  MathSciNet  MATH  Google Scholar 

  14. Dekker, T.J.: A floating-point technique for extending the available precision. Numer. Math. 18, 224–242 (1971)

    Article  MathSciNet  MATH  Google Scholar 

  15. Demmel, J.B.: On floating point errors in Cholesky. LAPACK working note 14 CS-89-87, Department of Computer Science, University of Tennessee, Knoxville, TN, USA (1989)

  16. Demmel, J.B., Henry, G., Kahan, W.: XBLAS: a draft proposal to the BLAS technical forum for extra precise BLAS (1997)

  17. Durán, A.J., Pérez, M., Varona, J.L.: Misfortunes of a mathematicians’ trio using computer algebra systems: can we trust? Not. Am. Mat. Soc. 61(10), 1249–1252 (2014)

    Article  MATH  Google Scholar 

  18. de Figueiredo, L.H., Stolfi, J.: Affine arithmetic: concepts and applications. Numer. Algorithms 37(1–4), 147–158 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  19. Foster, L.V.: Gaussian elimination with partial pivoting can fail in practice. SIAM J. Matrix Anal. Appl. 14, 1354–1362 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  20. Fousse, L., Hanrot, G., Lefèvre, V., Pélissier, P., Zimmermann, P.: MPFR: a multiple-precision binary floating-point library with correct rounding. Research report RR-5753, INRIA (2005). Code and documentation available at http://hal.inria.fr/inria-00000818

  21. Gauß, C.F.: Theoria Motus Corporum Coelestium in Sectionibus Conicis Solem Ambientium (Theorie der Bewegung der Himmelskörper, die in Kegelschnitten die Sonne umlaufen). F. Perthes und I.H. Besser, Hamburg (1809)

    Google Scholar 

  22. Gidas, B., Ni, W., Nirenberg, L.: Symmetry and related problems via the maximum principle. Commun. Math. Phys. 68, 209–243 (1979)

    Article  MathSciNet  MATH  Google Scholar 

  23. Golub, G.H., Van Loan, Ch.: Matrix Computations, 4. Aufl. Johns Hopkins University Press, Baltimore (2013)

    MATH  Google Scholar 

  24. Griewank, A.: A mathematical view of automatic differentiation. In: Acta Numerica, Bd. 12, S. 321–398. Cambridge University Press, Cambridge (2003)

    Google Scholar 

  25. Griewank, A., Juedes, D., Mitev, H., Utke, J., Vogel, O., Walther, A.: ADOL-C: a package for the automatic differentiation of algorithms written in C/C++. ACM Trans. Math. Softw. 22(2), 131–167 (1995)

    Article  MATH  Google Scholar 

  26. Hales, T.C.: The Kepler conjecture. Manuscript (1998). http://www.math.lsa.umich.edu/~hales/countdown/

  27. Hales, T.C.: A proof of the Kepler conjecture. Ann. Math. 162, 1063–1183 (2000)

    MathSciNet  Google Scholar 

  28. Hales, T.C., Adams, M., Bauer, G., Dang, D.T., Harrison, J., Hoang, T.L., Kaliszyk, C., Magron, V., McLaughlin, S., Nguyen, T.T., Nguyen, T.Q., Nipkow, T., Obua, S., Pleso, J., Rute, J., Solovyev, A., Ta, A.H., Tran, T.N., Trieu, D.T., Urban, J., Vu, K.K., Zumkeller, R.: A formal proof of the Kepler conjecture. Manuscript (2015). http://arxiv.org/abs/1501.02155

  29. Harrison, J.: Hol light: an overview. In: Theorem Proving in Higher Order Logics, LNCS, Bd. 5674, S. 60–66 (2009)

    Chapter  Google Scholar 

  30. Higham, D.J., Higham, N.J.: Large growth factors in Gaussian elimination with pivoting. SIAM J. Matrix Anal. Appl. 10, 155–164 (1989)

    Article  MathSciNet  MATH  Google Scholar 

  31. Higham, N.J.: Accuracy and Stability of Numerical Algorithms, 2. Aufl. SIAM Publications, Philadelphia (2002)

    Book  MATH  Google Scholar 

  32. Hotelling, H.: Some new methods in matrix calculation. Ann. Math. Stat. 14, 1–34 (1943)

    Article  MathSciNet  MATH  Google Scholar 

  33. ANSI/IEEE 754-1985: IEEE standard for binary floating-point arithmetic. New York, 1985

  34. ANSI/IEEE 754-2008: IEEE standard for floating-point arithmetic. New York (2008)

  35. Jansson, C., Chaykin, D., Keil, C.: Rigorous error bounds for the optimal value in semidefinite programming. SIAM J. Numer. Anal. 46(1), 180–200 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  36. Jeannerod, C.-P., Rump, S.M.: Improved error bounds for inner products in floating-point arithmetic. SIAM J. Matrix Anal. Appl. 34(2), 338–344 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  37. Kaplanski, I.: An Introduction to Differential Algebra, Illinois (1959) [Russian translation]

    Google Scholar 

  38. Kashiwagi, M.: Private communication

  39. Kashiwagi, M.: An algorithm to reduce the number of dummy variables in affine arithmetic. In: SCAN Conference, Novosibirsk (2012)

    Google Scholar 

  40. Kernighan, B.W., Ritchie, D.M.: The C Programming Language. Prentice-Hall Software Series. Prentice Hall, New York (1988)

    MATH  Google Scholar 

  41. Knuth, D.E.: The Art of Computer Programming: Seminumerical Algorithms, Bd. 2, 3. Aufl. Addison Wesley, Reading (1998)

    MATH  Google Scholar 

  42. Loh, E., Walster, W.: Rump’s example revisited. Reliab. Comput. 8(3), 245–248 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  43. Lohner, R.: Einschließung der Lösung gewöhnlicher Anfangs- und Randwertaufgaben und Anwendungen. PhD thesis, University of Karlsruhe (1988)

  44. Maple: release 2015, reference manual (2015)

  45. Markoff, J.: Flaw undermines accuracy of pentium chip. New York Times, November 23 (1994)

  46. Mathematica: release 10.4, reference manual (2016)

  47. MATLAB: user’s guide, version 2016a, The MathWorks Inc. (2016)

  48. Moore, R.E.: Interval arithmetic and automatic error analysis in digital computing. Dissertation, Stanford University (1963)

  49. Moore, R.E.: Interval Analysis. Prentice-Hall, Englewood Cliffs, N.J. (1966)

    MATH  Google Scholar 

  50. Muller, J.-M., Brisebarre, N., de Dinechin, F., Jeannerod, C.-P., Lefèvre, V., Melquiond, G., Revol, N., Stehlé, D., Torres, S.: Handbook of Floating-Point Arithmetic. Birkhäuser, Boston (2009)

    MATH  Google Scholar 

  51. Neumaier, A.: Rundungsfehleranalyse einiger Verfahren zur Summation endlicher Summen. Z. Angew. Math. Mech. 54, 39–51 (1974)

    Article  MathSciNet  MATH  Google Scholar 

  52. Neumann, J.v., Goldstine, H.H.: Numerical inverting of matrices of high order. Bull. Am. Math. Soc. 53, 1021–1099 (1947)

    Article  MathSciNet  MATH  Google Scholar 

  53. GNU octave: release 4.0.1, user’s guide (2016). http://www.gnu.org/software/octave/

  54. Ogita, T., Rump, S.M., Oishi, S.: Accurate sum and dot product. SIAM J. Sci. Comput. 26(6), 1955–1988 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  55. Payne, M., Hanek, R.: Radian reduction for trigonometric functions. SIGNUM Newsl. 18, 19–24 (1983)

    Article  Google Scholar 

  56. Poljak, S., Rohn, J.: Radius of nonsingularity. No. 88-117, Universitas Carolina Pragensis (1988)

  57. Risch, R.H.: The problem of integration in finite terms. Trans. Am. Math. Soc. 139, 167–189 (1969)

    Article  MathSciNet  MATH  Google Scholar 

  58. Rump, S.M.: Kleine Fehlerschranken bei Matrixproblemen. PhD thesis, Universität Karlsruhe (1980)

  59. Rump, S.M.: INTLAB—INTerval LABoratory. In: Csendes, T. (Hrsg.) Developments in Reliable Computing, S. 77–104. Kluwer Academic, Dordrecht (1999)

    Chapter  Google Scholar 

  60. Rump, S.M.: Inversion of extremely ill-conditioned matrices in floating-point. Jpn. J. Ind. Appl. Math. 26, 249–277 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  61. Rump, S.M.: Verification methods: rigorous results using floating-point arithmetic. Acta Numer. 19, 287–449 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  62. Rump, S.M.: Error estimation of floating-point summation and dot product. BIT Numer. Math. 52(1), 201–220 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  63. Rump, S.M.: Accurate solution of dense linear systems. Part I. Algorithms in rounding to nearest. J. Comput. Appl. Math. 242, 157–184 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  64. Rump, S.M., Jeannerod, C.-P.: Improved backward error bounds for Lu and Cholesky factorizations. SIAM J. Matrix Anal. Appl. 35(2), 684–698 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  65. Sahinidis, N.V., Tawaralani, M.: A polyhedral branch-and-cut approach to global optimization. Math. Program., Ser. B 103, 225–249 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  66. Schloemilch, O.: Handbuch der Mathematik, Erster Band: Elementarmathematik. Trewendt, Breslau (1881)

    MATH  Google Scholar 

  67. Shewchuk, J.R.: Adaptive precision floating-point arithmetic and fast robust geometric predicates. Discrete Comput. Geom. 18(3), 305–363 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  68. Singh, S.: Homers formel. ZEIT Online 46, 14. November (2013)

  69. Skeel, R.: Iterative refinement implies numerical stability for Gaussian elimination. Math. Comput. 35(151), 817–832 (1980)

    Article  MathSciNet  MATH  Google Scholar 

  70. Stewart, G.W., Sun, J.: Matrix Perturbation Theory. Academic Press, San Diego (1990)

    MATH  Google Scholar 

  71. Stoer, J.: Einführung in die Numerische Mathematik, I. Springer, New York (1999)

    Google Scholar 

  72. Stoer, J., Burlirsch, R.: Einführung in die Numerische Mathematik, II. Springer, New York (2005)

    Google Scholar 

  73. Strubecker, K.: Einführung in die Höhere Mathematik. Oldenbourg Verlag, München (1967)

    MATH  Google Scholar 

  74. Sunaga, T.: Geometry of numerals. Master’s thesis, University of Tokyo (February 1956)

  75. Trefethen, L.N.: The SIAM 100-dollar, 100-digit challenge. SIAM Soc. Newsl. 35(6), 2 (2002)

    MathSciNet  Google Scholar 

  76. Trefethen, L.N., Schreiber, R.: Average-case stability of Gaussian elimination. SIAM J. Matrix Anal. Appl. 11(3), 335–360 (1990)

    Article  MathSciNet  MATH  Google Scholar 

  77. Turing, A.M.: Rounding-off errors in matrix processes. Q. J. Mech. Appl. Math. 1, 287–308 (1948)

    Article  MathSciNet  MATH  Google Scholar 

  78. Patriot missile defense: software problem led to system failure at Dhahran, Saudi Arabia. Report GAO/IMTEC-92-26. Information Management and Technology Division, United States General Accounting Office, Washington, D.C. (February 1992). 16 pp.

  79. Wilkinson, J.H.: Error analysis of floating-point computation. Numer. Math. 2, 319–340 (1960)

    Article  MathSciNet  MATH  Google Scholar 

  80. Wilkinson, J.H.: Modern error analysis. SIAM Rev. 13, 548–568 (1971)

    Article  MathSciNet  MATH  Google Scholar 

  81. Wilkinson, J.H.: Some comments from a numerical analyst [1970 Turing Lecture anläßlich der Verleihung des ACM Turing Awards (Ausarbeitung)]. J. ACM 18(2), 137–147 (1971)

    Article  MathSciNet  Google Scholar 

  82. Wright, S.J.: A collection of problems for which Gaussian elimination with partial pivoting is unstable. SIAM J. Sci. Comput. 14(1), 231–238 (1993)

    Article  MathSciNet  MATH  Google Scholar 

  83. XBLAS: a reference implementation for extended and mixed precision BLAS. http://crd.lbl.gov/~xiaoye/XBLAS/

Download references

Danksagung

Meinen herzlichen Dank an die Herren Bünger und Hanke-Bourgeois für ihre große Mühe und viele wertvolle Kommentare.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Siegfried Michael Rump.

Additional information

Unterstützt durch das JST CREST Projekt, das MEXT Super Global University Projekt und das MEXT Leading University Projekt, Waseda Universität, Tokio, Japan.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Rump, S.M. Gleitkommaarithmetik auf dem Prüfstand. Jahresber. Dtsch. Math. Ver. 118, 179–226 (2016). https://doi.org/10.1365/s13291-016-0138-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1365/s13291-016-0138-1

Schlüsselwörter

Mathematics Subject Classification

Navigation