1 An Introduction to the Quality of Computed Solutions Sven Hammarling NAG Ltd, Oxford
2 Plan of Talk Introduction Floating point numbers and IEEE arithmetic Condition, stability and error analysis with examples Implications for software. –LAPACK and NAG Other approaches Summary
3 Introduction to NAG
4 NAG History Nottingham Algorithms Group Mark 1 NAG Library NAG moved to Oxford, renamed Numerical Algorithms Group NAG Ltd, a non-profit company NAG Inc established in USA NAG Ltd financially self-sufficient NAG GmbH established Nihon NAG KK established
5 What does non-profit mean? No shareholders, no owner surplus is re-invested in the Company
6 How many people work at NAG? Distributors worldwide
7 NAG Products and Services Product Lines –Numerical Libraries –Statistical Systems –NAGWare: Compiler and tools –Visualization and Graphics –PDE Solutions Consultancy Customer Support or
8 NAG Numerical Libraries F77 F90 C Parallel SMPMPI FL90Plus
9 Quality of Computed Solutions
10 Quality of Computed Solutions The quality of computed solutions is concerned with assessing how good a computed solution is in some appropriate measure
11 Software Quality Quality software should implement reliable algorithms and should provide measures of solution quality
12 Floating Point Numbers Floating point numbers are a subset of the real numbers that can be conveniently represented in the finite word length of a computer, without unduly restricting the range of numbers represented For example, the IEEE standard uses 64 bits to represent double precision numbers in the approximate range
13 Floating Point Numbers - Representation
14 Floating Point Numbers - Example
15 Floating Point Numbers - Example (cont’d)
16 IEEE Arithmetic Standard ANSI/IEEE Standard is a standard for binary arithmetic (b = 2). The standard specifies: Floating point number formats Results of the basic floating point operations Rounding modes Signed zero, infinity ( ) and not-a-number (NaN) Floating point exceptions and their handling Conversion between formats Most modern machines use IEEE arithmetic.
17 IEEE Arithmetic Formats
18 Why Worry about Computed Solutions? Tacoma bridge collapse North Sea oil rig collapse Vancouver stock exchange index, Jan 1982 to Nov 1983 Ariane 5 rocket, flight 501, failure, 4 June 1996 Patriot missile, 25 Feb 1991 Auckland Bridge London millennium bridge
19 Tacoma Bridge
20 Auckland Bridge, 1975
21 Millennium Bridge, 2000
22 Web Sites Disasters attributable to bad numerical computing: Numerical problems: RISKS-LIST: London millennium bridge:
23 Example - Means
24 Example - Sample Variance
25 Excel Example: Standard Deviation
26 Overflow/Underflow Example: Modulus of a Complex Number
27 Excel Example: Standard Deviation - Overflow
28 Stability The stability of a method for solving a problem is concerned with the sensitivity of the method to (rounding) errors in the solution process A method that guarantees as accurate a solution as the data warrants is said to be stable, otherwise the method is unstable
29 Condition The condition of a problem is concerned with the sensitivity of the problem to perturbations in the data A problem is ill-conditioned if small changes in the data cause relatively large changes in the solution. Otherwise a problem is well- conditioned
30 Condition Examples
33 Condition Examples (cont’d)
35 Condition Examples (cont’d)
37 Condition Number for Linear Equations
38 Condition Number Example
39 Stability Examples
40 Stability Examples (Contd) recursive.m
41 Stability Examples (Contd)
42 Stability Examples (cont’d) brecursive.m
43 Error Analysis Error analysis is concerned with establishing whether or not an algorithm is stable for the problem in hand A forward error analysis is concerned with how close the computed solution is to the exact solution A backward error analysis is concerned with how well the computed solution satisfies the problem to be solved
Example
45 The Purpose of Error Analysis “The clear identification of the factors determining the stability of an algorithm soon led to the development of better algorithms. The proper understanding of inverse iteration for eigenvectors and the development of the QR algorithm by Francis are the crowning achievements of this line of research. “For me, then, the primary purpose of the rounding error analysis was insight.” Wilkinson, 1986 Bulletin of the IMA, Vol 22, p197
46
47 Backward Error and Perturbation Analysis
Condition and Error Analysis
49 LAPACK Systems of linear equations Linear least squares problems Eigenvalue and singular value problems, including generalized problems Matrix factorizations Condition and error estimates The BLAS as a portability layer Linear Algebra PACKage for high-performance computers Dense and banded linear algebra for Shared Memory
LAPACK and Error Bounds “In Addition to providing faster routines than previously available, LAPACK provides more comprehensive and better error bounds. Our goal is to provide error bounds for most quantities computed by LAPACK.” LAPACK Users’ Guide, Chapter 4 – Accuracy and Stability
Error Bounds in LAPACK The Users’ Guide gives details of error bounds and code fragments to compute those bounds. In many cases the routines return the bounds directly
Error Bounds in LAPACK: Example
54 ODE Software Example NAG routine D02PZF returns global error estimates for the Runge-Kutta solvers D02PCF and D02PDF: D02PCZ( RMSERR, ERRMAX, TERRMX,…) RMSERR: Approximate Root mean square error ERRMAX: Max approximate true error TERRMX: Point at which max approximate true error occurred (These routines are based upon RKSUITE)
What to do if Software does not Provide Error Estimates? Run the problem with perturbed data Better still, use a software tool such as PRECISE which allows you to perform a stochastic analysis Put pressure on developers to provide estimates
PRECISE Provides a module for statistical backward error analysis Provides a module for sensitivity analysis index.htmlhttp:// index.html
Quality of Reliable Software
58 CADNA CADNA is another package with the same aims as PRECISE It is now free to academics
59 Cancellation Using four figure decimal arithmetic
60 Interval Analysis Interval arithmetic works on intervals that contain the exact solution Interval analysis can provide automatic error bounds for a number of problems See
61 Summary Error analysis gives insight In linear algebra we usually aim for a backward error analysis Be concerned about the quality of computed solutions Use quality software, complain about low quality software Write quality software and be proud of your results
62 Quote “You have been solving these damn problems better than I can pose them.” Sir Edward Bullard, Director NPL, in a remark to Wilkinson. (mid 1950s.) See NAG Newsletter 2/83, page 11
References [1] E. Anderson, Z. Bai, C. H. Bischof, J. Demmel, J. J. Dongarra, J. Du Croz, A. Greenbaum, S. Hammarling, A. McKenney, S. Blackford & D. C. Sorensen. LAPACK Users’ Guide, 3 rd Edition, SIAM, [2] F. Chaitin-Chatelin & V. Frayssé. Lectures on Finite Precision Computations, SIAM, [3] G. H. Golub & C. F. Van Loan. Matrix Computations, 3 rd Edition, The Johns Hopkins University Press, [4] N. J. Higham. Accuracy and Stability of Numerical Algorithms, 2 nd edition, SIAM, [5] [6]
References (cont’d) [7] F. S. Acton. Numerical Methods that Usually Work. Harper and Row, [8] G. E. Forsythe. What is a Satisfactory Quadratic Equation Solver. In Constructive Aspects of the Fundamental Theorem of Algebra, B. Dejon and P. Henrici, P., editors, pages 53-61, Wiley, [9] G. E. Forsythe. Pitfalls in Computation, or Why a Math Book isn't enough. Amer. Math. Monthly, 9: , [10] J. H. Wilkinson. The Perfidious Polynomial. In Studies in Numerical Analysis, G. H. Golub, editor, volume 24 of Studies in Mathematics, Mathematical Association of America, Washington D.C., pages 1-24, 1984.