# 15. Condition Number Estimation

## Abstract

*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*.

*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 Set of Counter-Examples to Three Condition Number Estimators*(1983)

*Singularity is almost invariably a clue*.

*The Boscombe Valley Mystery*(1892)

*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.

*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**

*A*

^{−1}, which requires

*O*(

*n*

^{3}) operations, even if we are given a factorization of

*A*. Is it possible to produce reliable estimates of both condition numbers in

*O*(

*n*

^{2}) operations? The answer is yes, but to see why we first need to rewrite the expression for cond

_{E, f}(

*A, x*). Consider the general expression ‖ |

*A*is usually true that ‖ | $\hat{L}$ |‾‖Û| ‖

_{∞}

^{−1}|

*d*‖

_{∞}, where

*d*is a given nonnegative vector (thus,

*d*=

*f*+

*E*|

*x*| for cond

_{E, 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

### Information

#### Published In

**ISBN (Print)**: 0898715210

**ISBN (Print)**: 978-0-89871-521-7

**ISBN (Online)**: 978-0-89871-802-7

#### Copyright

#### History

**Published online**: 23 March 2012

#### Keywords

#### Keywords

#### Keywords

#### Keywords

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

### Authors

## Metrics & Citations

### 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