Numerical Computing with IEEE Floating Point Arithmetic

Instability via Cancellation

In fact, the phenomenon of cancellation described in Chapter 11 can be completely explained by conditioning. The condition number of the function


is


which is arbitrarily large for x close to 1. Consequently, an algorithm that introduces cancellation unnecessarily is introducing ill conditioning unnecessarily and is unstable.

In Chapter 11, we discussed the idea of approximating a derivative g ?( x)by a difference quotient. A working of Exercise 12.7 shows that the problem of evaluating the difference quotient has the same condition number in the limit as h ? 0 as the problem of evaluating g ?( x) directly. Suppose that this condition number is not large. Unfortunately, the first step in evaluating the difference quotient, computing g( x + h) ? g( x), does have a large condition number for small h, and hence computing the difference quotient without the use of intermediate higher precision is unstable. Better algorithms exist to approximate the derivative, e.g., using the central difference quotient with larger h or still more accurate difference quotients with still larger h. However, this does not mean that the ordinary difference quotient is necessarily a poor choice of algorithm, as it may be justified by its efficiency and may be adequate if h is chosen carefully. Of course, using the formula for the derivative is preferable if it is known.

Exercise 13.3

Why is the formula


an unstable way...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Industrial Valves
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.