® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford [email protected].

53
® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford [email protected]

Transcript of ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford [email protected].

Page 1: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

®

Backward Error Analysis and Numerical Software

Sven Hammarling

NAG Ltd, Oxford

[email protected]

Page 2: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Plan of Talk

• Introduction– Stability

– Error analysis

– Condition

• The Basic Linear Algebra Subprograms (BLAS)• LAPACK: state of the art Linear Algebra PACKage• ScaLAPACK: distributed memory version of

LAPACK (Scalable LAPACK)• Other Aspects• Summary

Page 3: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

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

Page 4: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Example - Sample Variance

22

1

2

2 2

1 1

11

1

1 12

1

For 10000,10001,10002 using 8 figure arithmetic

1 gives: 1.0, 2 gives: 0.0

Are either of these reasonable? (Actually (1) is the

correc

n

n ii

n n

n i ii i

T

s x xn

s x xn n

x

t answer)

Page 5: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Error AnalysisError 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

Page 6: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Example

Problem: solve for

Let be the computed solution

Forward error:

Backward error: (residual: )

or: ( )

Ax b x

x

x x

Ax b r b Ax

A E x b

Page 7: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Example (cont’d),

99 98 1 1 , ,

100 99 1 1

2.97Consider

2.99

1.97 0.01 , but

1.99 0.01

1.01Now consider ,

0.99

0.01 , but

0.01

Ax b r b Ax

A b x

x

x x r

x

x x r

1.97

1.97

Page 8: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Componentwise and Normwise

ij

, computed solution

or , ( )

? or e = ? - componentwise

? or E = ? - normwise

j

Ax b x

x x Ax b A E x b

Page 9: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

ConditionThe 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

Page 10: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

®

Example

1 2

1 2

1 2

1 2

1 2

1 2

99 98 197

100 99 199

1

98.99 98 197

100 99 199

100, 99

x x

x x

x x

x x

x x

x x

Page 11: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.
Page 12: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Condition Number for Linear Equations

1

1

1

, ( )

( ) , so that

giving

( ) ,

where ( ) is the condition number of

with respect to matrix inversion

Ax b A E x b

A x x Ex x x A Ex

x x EA E A

x A

A A A

A

Page 13: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Condition and Error Analysis

forward error

condition number backward error

Page 14: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Example

1

1 1

1

2 41

99 98, 199

100 99

99 98, 199

100 99

199 4 10

A A

A A

A

Page 15: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Backward Error as Perturbations in the Data

Let be a matrix such that

(1)

Then

r Ax b

E

Ex r

A E x b

Page 16: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Backward Error as … (cont’d)

2

A particular that satisfies (1) is given by

and this can be shown to be the that minimizes

(and ). If

then

, ( )

This is an

T T

F

F F F F F

E

E rx x x

E

E E

r A x E A

r Ax b A E x b

a posteriori

bound

Page 17: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Example

99 98 1 2.97 , ,

100 99 1 2.99

0.01 .

0.01

Then

0.0297 0.0299 , 17.761

0.0297 0.0299

and

0.00167 0.00168

0.00167 0.00168

T T

T T

A b x

r E rx x x

rx x x

E

Page 18: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Backward Error Analysis

Let the computed solution satisfy the equation

.

Backward error analysis:

? (componentwise)

or

? (normwise)

ij

Ax b

x

A E x b

e

E

Page 19: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Backward Error and Perturbation Analysis

,

If we know how perturbations in affect the

solution , then we can estimate the accuracy of the

computed solution . That is, an estimate of the

backward error allows us to estim

Ax b A E x b

A

x

x

ate the forward error.

x x E

Ax A

Page 20: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

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, 1986Bulletin of the IMA, Vol 22, p197

Page 21: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.
Page 22: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

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

Page 23: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

The BLAS, LAPACK and ScaLAPACK

Page 24: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

The Three Levels of BLAS The Level 1 BLAS are concerned with scalar and

vector operations, such as

the Level 2 BLAS with matrix-vector operations such as

and the Level 3 BLAS with matrix-matrix operations such as

2, ,Ty x y x y x

1, yAxyxTx

1,C AB C X T X

Page 25: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Why Higher Level BLAS?

Registers

L1 Cache

L2 Cache

Local Memory

Remote Memory

Secondary Memory

BLAS Mem Refs Ops Ratio

Level 1

Level 2

Level 3

3 : 2

1 : 2

2 : n

2n

2n2

2n3

3n

n2

4n2

y x y

y Ax y

C AB C

The so called ‘surface to volume’ effect

Page 26: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

BLAS for Performance

IBM RS/6000-590 (66 MHz, 264 Mflop/s Peak)

0

50

100

150

200

250

10 100 200 300 400 500Order of vector/Matrices

Mfl

op

/s

Level 3 BLAS

Level 2 BLAS

Level 1 BLAS

Page 27: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Publication of the Specifications of the BLAS

[1] C L. Lawson, R. J. Hanson, D. Kincaid, and F. T. Krogh. Basic Linear Algebra Subprograms for FORTRAN usage. ACM Trans. Math. Software, 5:308-323, 1979.

[2] J. J. Dongarra, J. Du Croz, S. Hammarling, and R. J. Hanson. An extended set of FORTRAN Basic Linear Algebra Subprograms. ACM Trans. Math. Software, 14:1-32, 399, 1988. (Algorithm 656).

[3] J. J. Dongarra, J. Du Croz, I. S. Duff, and S. Hammarling. A set of Level 3 Basic Linear Algebra Subprograms. ACM Trans. Math. Software, 16:1-28, 1990. (Algorithm 679).

Page 28: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

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

Page 29: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Benefits of LAPACK

• Comprehensive and consistent set of routines for dense and banded linear algebra

• Efficient on a wide range of modern computers• Additional functionality compared to previous

packages• Improved numerical algorithms• Error and sensitivity estimates• Portability layer between users applications and

the machines

Page 30: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

LAPACK

Users’

Guide

E. Anderson, Z. Bai, C. BischofS. Blackford, J. Demmel, J. Dongarra

J. Du Croz, A. Greenbaum, S. HammarlingA. McKenney, D. SorensenSIAM, 1999 (3rd Edition)

Proceeds to SIAM student travel fundhttp://www.netlib.org/lapack/lug/lapack_lug.html

L A P A C KL -A P -A C -KL A P A -C -KL -A P -A -C KL A -P -A C KL -A -P A C -K

Page 31: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

1/4

1/L 1/L 1/L 1/L 1/A -1/A 1/A -1/A1/P 1/P -1/P -1/P1/A -1/A -1/A 1/A 1/C 1/C -1/C -1/C1/K -1/K -1/K 1/K

Page 32: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.
Page 33: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Performance Improvements

Efficiency in LAPACK has been principally achieved by restructuring algorithms so that as much computation as possible is performed by calls to:

Level 3 and Level 2 BLAS

In order to exploit the Level 3 BLAS we needed:

BLOCK-PARTITIONED ALGORITHMS

a11 a12 a13

a21 a22 a23

a31 a32 a33

A11 A12 A13

A21 A22 A23

A31 A32 A33

Page 34: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

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

Page 35: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Error Bounds in LAPACK: Example 1

DGESVX is an 'expert' driver for solving

Estimate of 1/

Estimated forward error for

Componentwise relat

j

AX B

A

X

DGESVX( ..., RCOND, FERR, BERR, ...)

RCOND -

FERR(j) -

BERR(j) - ive backward error for

(smallest relative change in any element of and

that makes an exact solution)

j

j

X

A B

X

Page 36: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Error Bounds in LAPACK: Example 2

DGEEVX is an 'expert' driver for computing

eigenvalues and eigenvectors of a matrix

Norm of balanced matrix

Reciprocal condition number for

A

DGEEVX( ..., ABNRM, RCONDE, RCONDV,...)

ABNRM -

RCONDE(i) - the

eigenvalue ( )

Reciprocal condition number for the

eigenvector ( )

thi

thi

i s

i sep

RCONDV(i) -

Page 37: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Error Bounds in LAPACK: Example 2 (cont’d)

2

2

Simple eigenvalue /

Eigenvector ( , ) / sep

Eigenvalue cluster /

Invariant subspace ( , ) / sep

i i i

i i iF

I I I

I I IF

E s

v v E

E s

S S E

Asymptotic error bounds for nonsymmetric eigenproblem

See Golub and Van Loan – Matrix Computations

Page 38: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Error Bounds in LAPACK: Example 2 (cont’d)

EPSMCH = DLAMCH(‘E’)

DO 10 I = 1, N

EERRBD(I) = EPSMCH*ABNRM/RCONDE(I)

VERRBD(I) = EPSMCH*ABNRM/RCONDV(I)

10 CONTINUE

EPSMCH is the machine precision

EERRBD( ), ( , ) VERRBD( )i i i ii v v i

Page 39: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Availability of LAPACK

LAPACK is freely available via netlib:

http://www.netlib.org/lapack/index.html

Much of LAPACK is included in the NAGFortran 77 Library and is the basis of the denselinear algebra in the NAG Fortran 90 Library

Tuned versions of some LAPACK routines are inthe NAG Fortran SMP Library

Page 40: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

LAPACK - Summary

• LAPACK success from HP-48G to Cray T-90

• Portable Fortran 77 (+BLAS), 766K lines (354K library, 412K testing and timing)

• PCs, workstations, vector machines, and shared memory computers

• Initial release February 29th, 1992

• Now on the 3rd release

• Linear systems, least squares, eigenproblems

• C, Java and Fortran 95 interfaces

Page 41: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

ScaLAPACK

• Scalability, performance and portability• Interfaces to stay as close to LAPACK as possible• Use LAPACK algorithms wherever possible• Principal additional consideration is the data distribution• The PBLAS (BLAS + BLACS) as a portabilility layer

Scalable Linear Algebra PACKage

Aim: To port LAPACK to distributed memory environments

As with LAPACK, ScaLAPACK is freely available:http://www.netlib.org/scalapack/index.html

Most of ScaLAPACK included in NAG Parallel Library

Page 42: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.
Page 43: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

ScaLAPACK Structure

ScaLAPACK

BLAS

LAPACK BLACS

PVM/MPI/...

PBLASGlobal

Local

Page 44: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

ScaLAPACK Summary

• Follow on to LAPACK - Designed for MPP’s • Object based design• Portability across wide range of architectures

– will work on a heterogeneous platform

• Software, examples, prebuilt libraries available from netlib

• Users’ Guide, including CD available from SIAM• Continuing development• HPF interface to some driver routines available

Page 45: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Hierarchy of Building Blocks

Users

Applications Packages

(Sca)LAPACK

(P)BLAS

Machines

Page 46: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Developments Since Wilkinson

• More problems solved, tighter bounds

• More emphasis on componentwise results – particularly for sparse and structured problems

• Use of standard precision iterative refinement

• Importance of scaling

• Iterative methods

• Importance of non-normality and pseudospectra

Page 47: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Diagonal Matrix Example

612

6

6

6

6

6 6

10 0, 10

0 10

1 010 0, 1

0 10 10

Beware turning a badly scaled problem into an

ill-conditioned problem

1 0 10 0A=

1 1 10 10

D D

J D J

D

Page 48: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Backward Errors in Other Areas

• For references to other areas see: Higham, Accuracy and Stability of Numerical Algorithms, Sections 1.20 & 1.21.

• Examples:– ODEs– Chaotic behaviour of iterations

Page 49: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

What to do if Software does not Provide 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

Page 50: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

PRECISE

• Provides a module for statistical backward error analysis

• Provides a module for sensitivity analysis

• http://www.cerfacs.fr/algor/Softs/PRECISE/index.html

Page 51: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

Quality of Reliable Software

Chaitin-Chatelin & Frayssé define the quality index

of a reliable algorithm at the computed solution as

( ) ( ) ,

where ( ) is the backward error and is the machine

precision.

(Lecture

x

B xJ x

B x

s on Finite Precision Computations)

Page 52: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

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, 3rd Edition, SIAM, 1999.

[2] F. Chaitin-Chatelin & V. Frayssé. Lectures on Finite Precision Computations, SIAM, 1996.

[3] G. H. Golub & C. F. Van Loan. Matrix Computations, 3rd Edition, The Johns Hopkins University Press, 1996.

[4] N. J. Higham. Accuracy and Stability of Numerical Algorithms, SIAM, 1996.

Page 53: ® Backward Error Analysis and Numerical Software Sven Hammarling NAG Ltd, Oxford sven@nag.co.uk.

®

Closing Remarks• LAPACK and ScaLAPACK provide

efficient and reliable portable software for numerical linear algebra

• Emphasis has been placed on error and condition (sensitivity) estimates

• Research and development is ongoing• Available via the NAG Libraries• Expect error estimates from numerical

software• Use software tools