Error bound tricks

Michael W. Berry (berry@cs.utk.edu)
Sat, 17 Feb 1996 15:47:23 -0500


Date: Sat, 17 Feb 1996 14:05:59 -0500
From: James Michael Hammond <hammond@cs.utk.edu>

Problem 5.2.1 on this last problem set illustrates one of the tricks
that is often used to estimate error bounds. Few people seemed to
catch on to the point so I'll explain it in a little more detail.

The function we're integrating here is

            2                               2
f(x) = sin(x ).   Note that f'(x) = 2x cos(x )
                    2            2
and f''(x) = 2 cos(x ) - 4x sin(x ).

Now we have to find some point {xi} within the range [0,6] such that
f''({xi}) is a maximum. Well, the *absolutely correct* way to do this
is take another derivative, set it equal to zero, and evaluate f''(x)
at 0, 6, and all those points where f'''(x) = 0. But that's going to
be a major pain in the neck since f'''(x) is going to be ugly.

So we cheat a little bit, and try to find some simple function S such
that |S(x)| >= |f''(x)| for all x in [0,6]. Then if the error is no
bigger than max(|f''(x)|), it will be no bigger than max(|S(x)|).

One thing we can do is notice that |cos(x)| and |sin(x)| are always
less than or equal to 1. Therefore

|f''(x)| <= | 2 - 4x | .
This is MUCH simpler to deal with and we can sort of immediately see
that | 2 - 4x | takes the maximum value 146 maximum at x = 6.

Note that for this problem we haven't done much damage because the
actual maximum that f''(x) takes is at x=6 and it's about 142.5 or so.
But those of you who just picked a few points and evaluated f''(x) at
those points ran the risk of missing the maximum if it didn't happen
to be at a nice point like x=6. If you go into MATLAB and plot f''(x)
for x = [0,6] you'll see you were lucky this time.

- --JMike

------- End of Forwarded Message