640 likes | 728 Views
An Introduction to the Quality of Computed Solutions. Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk. 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
E N D
An Introduction to the Quality of Computed Solutions Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk
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
NAG History • 1970 - Nottingham Algorithms Group • 1971 - Mark 1 NAG Library • 1973 - NAG moved to Oxford, renamed Numerical Algorithms Group • 1976 - NAG Ltd, a non-profit company • 1978 - NAG Inc established in USA • 1980 - NAG Ltd financially self-sufficient • 1990 - NAG GmbH established • 1998 - Nihon NAG KK established
What does non-profit mean? No shareholders, no owner surplus is re-invested in the Company
How many people work at NAG? Distributors worldwide
NAG Products and Services • Product Lines • Numerical Libraries • Statistical Systems • NAGWare: Compiler and tools • Visualization and Graphics • PDE Solutions • Consultancy • Customer Support www.nag.co.uk or www.nag.com
NAG Numerical Libraries F77 FL90Plus F90 C Parallel SMP MPI
Quality of Computed Solutions The quality of computed solutions is concerned with assessing how good a computed solution is in some appropriate measure
Software Quality Quality software should implement reliable algorithms and should provide measures of solution quality
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
IEEE Arithmetic Standard ANSI/IEEE Standard 754-1985 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.
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
Web Sites • Disasters attributable to bad numerical computing:http://www.math.psu.edu/dna/disasters/ • Numerical problems: RISKS-LIST: http://catless.ncl.ac.uk/Risks/ • London millennium bridge: http://www.arup.com/MillenniumBridge/
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
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
Stability Examples (Contd) recursive.m
Stability Examples (cont’d) brecursive.m
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
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
LAPACK Linear Algebra PACKage for high-performance computers • 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 Dense and banded linear algebra for Shared Memory