Gary Kenneth Krueger <[EMAIL PROTECTED]> writes:

> >However (as was told on 
> >ruby-talk later) there's the 
> >problem that for v =
> >a +/- b, then v-v = 0 +/- 2b, 
> >unless the system is smart 
> >enough to cancel
> >errors where it can, and this 
> >is difficult, especially in 
> >hairier
> >situations where the 
> >cancellations come 
> >indirectly. Of course this 
> >only
> >really matters if you end up 
> >with insanely high error 
> >margins.

> Normally in science, you are only interested in an outside error
> estimate, and just need to be mindful when coding mathematical
> functions so as not to introduce unnecessary cancellation errors.

Cancellation is not the only danger -- standard scientific error
propagation techniques (at the undergraduate science lab level)
calculate probabilistic bounds assuming uncorrelated errors. 

This can easily get you into trouble with complicated
calculations - mistakes of the form:

 a = 10 +/- 1
 b = 2 * a = 20 +/- 2
 c = a + b = 30 +/- sqrt (2**2 + 1**2) = 30 +/- 2.3

While the right result is 30 +/- 3. 

These techniques really are only valid in simple circumstances.
The whole idea of putting error propagation into a language
would be to allow it to be used in complex circumstances....

Regards,
                                        Owen

(Note that two different things are being discussed here - interval
arithmetic is a numerical analysis thing, and quite different than
scientific error propagation.)

Reply via email to