Other Titles in Applied Mathematics
Accuracy and Stability of Numerical Algorithms

15. Condition Number Estimation


Most of LAPACK's condition numbers and error bounds are based on estimated condition numbers … The price one pays for using an estimated rather than an exact condition number is occasional (but very rare) underestimates of the true error; years of experience attest to the reliability of our estimators, although examples where they badly underestimate the error can be constructed.
— E. ANDERSON et al., LAPACK Users' Guide (1999)
The importance of the counter-examples is that they make clear that any effort toward proving that the algorithms always produce useful estimations is fruitless. It may be possible to prove that the algorithms produce useful estimations in certain situations, however, and this should be pursued. An effort simply to construct more complex algorithms is dangerous.
— A. K. CLINE and R. K. REW, A Set of Counter-Examples to Three Condition Number Estimators (1983)
Singularity is almost invariably a clue.
— SIR ARTHUR CONAN DOYLE, The Boscombe Valley Mystery (1892)
Condition number estimation is the process of computing an inexpensive estimate of a condition number, where “inexpensive” usually means that the cost is an order of magnitude less than would be required to compute the condition number exactly. Condition estimates are required when evaluating forward error bounds for computed solutions to many types of linear algebra problems. An estimate of the condition number that is correct to within a factor 10 is usually acceptable, because it is the magnitude of an error bound that is of interest, not its precise value. In this chapter we are concerned with condition numbers involving A−1, where A is a given nonsingular n × n matrix; these arise in linear systems Ax = b but also more generally in, for example, least squares problems and eigenvalue problems.
An important question for any condition estimator is whether there exists a “counterexample” : a parametrized matrix for which the quotient “estimate divided by true condition number” can be made arbitrarily small (or large, depending on whether the estimate is a lower bound or an upper bound) by varying a parameter. Intuitively, it might be expected that any condition estimator has counterexamples or, equivalently, that estimating a condition number to within a constant factor independent of the matrix A must cost as much, asymptotically, as computing A−1. This property was conjectured by Demmel [314, 1992] and strong evidence for it is provided by Demmel, Diament, and Malajovich [321, 2001]. In the latter paper it is shown that the cost of computing an estimate of ‖A−1 ‖ of guaranteed quality is at least the cost of testing whether the product of two n × n matrices is zero, and performing this test is conjectured to cost as much as actually computing the product [185, 1997, Problem 16.3].
15.1. How to Estimate Componentwise Condition Numbers
In the perturbation theory of Chapter 7 for linear equations we obtained perturbation bounds that involve the condition numbers
and their variants. To compute these condition numbers exactly we need to compute A−1, which requires O(n3) operations, even if we are given a factorization of A. Is it possible to produce reliable estimates of both condition numbers in O(n2) operations? The answer is yes, but to see why we first need to rewrite the expression for condE, f(A, x). Consider the general expression ‖ |Ais usually true that ‖ | L^ |‾‖Û| ‖−1|d, where d is a given nonnegative vector (thus, d = f + E|x| for condE, f(A, x)); note that the practical error bound (7.31) is of this form. Writing D = diag(d) and e = [1,1, …, 1]T, we have

Get full access to this article

View all available purchase options and get full access to this chapter.

Information & Authors


Published In

cover image Other Titles in Applied Mathematics
Accuracy and Stability of Numerical Algorithms
Pages: 287 - 304
ISBN (Print): 0898715210
ISBN (Print): 978-0-89871-521-7
ISBN (Online): 978-0-89871-802-7


Published online: 23 March 2012


  1. numerical analysis
  2. data processing
  3. computer algorithms


  1. 07
  2. 01
  3. 03


  1. 519.4'0285'51—dc21


    QA297 .H53 2002Numerical analysis—Data processing, Computer algorithms



Nicholas J. Higham
University of Manchester, Manchester, England

Metrics & Citations



If you have the appropriate software installed, you can download article citation data to the citation manager of your choice. Simply select your manager software from the list below and click Download.

Cited By

There are no citations for this item







Copy the content Link

Share with email

Email a colleague

Share on social media

The SIAM Publications Library now uses SIAM Single Sign-On for individuals. If you do not have existing SIAM credentials, create your SIAM account https://my.siam.org.