Summary to here – HP 15c User Manual

Page 162

Advertising
background image

162

Appendix: Accuracy of Numerical Calculations

162

all calculated accurately because N is in Level 1. What might happen if N were in Level
2 instead?

If N were in Level 2, then "successful" backward error analysis would show that, for
arguments u near 1, N (u) = ln(u +δu) with |δu| < 10

-9

. Then the procedure above would

produce not x(ln(u)/(u−1)), but

.

1

)

(

1

)

(

)

(

)

(

)

(

1

)

ln(





x

x

u

x

x

x

u

x

x

x

x

x

u

x

x

u

x

x

u

x

x

x

x

x

u

x

x

x

u

u

u

x

When |x+Δx| is not much bigger than 10

-9

, the last expression can be utterly different from λ

(x). Therefore, the procedure that solved example 2 would fail on machines whose N is not
in Level 1. There are such machines, and on them the procedure does collapse for certain
otherwise innocuous inputs. Similar failures also occur on machines that produce (u+δu) − 1
instead of u − 1 because their -

function lies in Level 2 instead of Level 1. And those

machines that produce ln(u + δu )/(u + δu − 1) instead of ln(u)/(u − 1), because both N
and - lie in Level 2, would be doubly vulnerable but for an ill-understood accident that
usually correlates the two backward errors δu and δu in such a way as causes only half the
significant digits of the computed λ, instead of all of them, to be wrong.

Summary to Here

Now that the complexity injected by backward error analysis into singularities has been
exposed, the time has come to summarize, to simplify, and to consolidate what has been
discussed so far.

Many numerical procedures produce results too wrong to be justified by any

satisfactory error analysis, backward or not.

Some numerical procedures produce results only slightly worse than would have been

obtained by exactly solving a problem differing only slightly from the given problem.
Such procedures, classified in Level 2 for our purposes, are widely accepted as
satisfactory from the point of view of backward error analysis.

Procedures in Level 2 can produce results relatively far from what would have been

obtained had no errors at all been committed, but large errors can result only for data
relatively near a singularity of the function being computed.

Procedures in Level 1 produce relatively accurate results regardless of near approach to

a singularity. Such procedures are rare, but preferable if only because their results are
easier to interpret, especially when several variables are involved.

A simple example illustrates all four points.

Advertising