A great challenge in numerical computation is coming up with
algorithms that are stable for a wide range of inputs. This leads to
creative approaches like partial pivoting in gaussian elimination, or
accurate floating point
summation which is
important in inner products. Unfortunately, all of these solutions
are problem specific.
Enter interval computing.
Interval computing attempts to solve rounding errors on computers. It
does this by placing brackets around the error. It’s almost like the
uncertaininty we place on observables in physical experiments. For
example, a reading A with a standard deviation
can be written using intervals:
![A \pm \partial A \sim [A - \partial A, A + \partial A] \sim [a, b] = \bar{A} A \pm \partial A \sim [A - \partial A, A + \partial A] \sim [a, b] = \bar{A}](http://ergodicity.iamganesh.com/wp-content/latexrenderer/pictures/5325017880b95f132dcb760612581c4e.gif)
In general,
defines an interval which
bounds the floating point number. Four of our primitve operations add,
subtract, multiply and divide on two intervals
and
are:
![\bar{A} + \bar{B} = [a+c,b+d] \bar{A} + \bar{B} = [a+c,b+d]](http://ergodicity.iamganesh.com/wp-content/latexrenderer/pictures/77d48dc1720a272ae8e4db1c24190f77.gif)
![\bar{A} – \bar{B} = [a-d,b-c] \bar{A} – \bar{B} = [a-d,b-c]](http://ergodicity.iamganesh.com/wp-content/latexrenderer/pictures/9e9bd6fa265e877e1efe71844730432f.gif)
![\bar{A} \times \bar{B} = [min(ac,ad, bc,bd), max(ac,ad,bc,bd)] \bar{A} \times \bar{B} = [min(ac,ad, bc,bd), max(ac,ad,bc,bd)]](http://ergodicity.iamganesh.com/wp-content/latexrenderer/pictures/080b71a4d09b204edf7e0d9da5a5967b.gif)
![\frac {1}{\bar{A}} = [1/b, 1/a] \frac {1}{\bar{A}} = [1/b, 1/a]](http://ergodicity.iamganesh.com/wp-content/latexrenderer/pictures/aed417082db042ba4ccebd87d7583134.gif)

(where the interval
does not contain zero.)
Interval computation can also be used for transcendental functions
such as log or sin. The Taylor expansion for sin for example is:

which is a composition of the primitive operations defined
above. Interval computation is very useful in determining the
robustness of a numerical procedure.