Interval arithmetic

Interval arithmetic

Interval arithmetic, also called "interval mathematics", "interval analysis", and "interval computation", is a method in mathematics. It has been developed by mathematicians since the 1950s and 1960s as an approach to putting bounds on rounding errors in mathematical computation and thus developing numerical methods that yield very reliable results.

Where classical arithmetic defines operations on individual numbers, interval arithmetic defines a set of operations on intervals:

:T · S = { "x" | there is some "y" in "T", and some "z" in "S", such that "x" = "y" · "z" }.

The basic operations of interval arithmetic are, for two intervals ["a", "b"] and ["c", "d"] that are subsets of the real line (-∞,∞) ,

* ["a","b"] + ["c","d"] = ["a" + "c", "b" + "d"]
* ["a","b"] − ["c", "d"] = ["a" − "d", "b" −"c"]
* ["a","b"] × ["c","d"] = [min ("ac", "ad", "bc", "bd"), max ("ac", "ad", "bc", "bd")]
* ["a","b"] / ["c","d"] = [min ("a/c", "a/d", "b/c", "b/d"), max ("a/c", "a/d", "b/c", "b/d")]

Division by an interval containing zero is not defined under the basic interval arithmetic. The addition and multiplication operations are commutative, associative and sub-distributive: the set "X" ( "Y" + "Z" ) is a subset of "XY" + "XZ".

Instead of working with an uncertain real x we work with the two ends of the interval [a,b] which contains x: x lies between a and b, or could be one of them. Similarly a function f when applied to x is also uncertain. Instead, in interval arithmetic f produces an interval [c,d] which is all the possible values for f(x) for all x in [a,b] .

This concept is suitable, inter alia, for the treatment of rounding errors directly during the calculation and of uncertainties in the knowledge of the exact values of physical and technical parameters. The latter often arise from measurement errors and tolerances for components. Interval arithmetic also helps find reliable and guaranteed solutions to equations and optimization problems.

Take as an example the calculation of body mass index (BMI). The BMI is the body weight in kilograms divided by the square of height in metres. Measuring the mass with bathroom scales may have an accuracy of one kilogram. We will not know intermediate values - about 79.6 kg or 80.3 kg - but information rounded to the nearest whole number. It is unlikely that you really weigh 80.0 kg exactly when it appears. In normal rounding to the nearest value, the scales showing 80 kg indicates a weight between 79.5 kg and 80.5 kg. The relevant range is that of all real numbers that are greater than or equal to 79.5, while less than or equal to 80.5, or in other words the interval [79.5,80.5] .

For a man who weighs 80 kg and is 1.80 m tall, the BMI is about 24.7. With a weight of 79.5 kg and the same height the value is 24.5, while 80.5 kilograms gives almost 24.9. So the actual BMI is in the range [24.5,24.9] . The error in this case does not affect the conclusion (normal weight), but this is not always the position. For example, weight fluctuates in the course of a day so that the BMI can vary between 24 (normal weight) and 25 (overweight). Without detailed analysis it is no possible to always exclude questions as to whether an error ultimately is large enough to have significant influence.

Interval arithmetic states the range of possible outcomes explicitly. Simply put, results are no longer stated as numbers, but as intervals which represent imprecise values. The size of the intervals are similar to error bars to a metric in expressing the extent of uncertainty. Simple arithmetic operations, such as basic arithmetic and trigonometric functions, enable the calculation of outer limits of intervals.


The main focus in the interval arithmetic is on the simplest way to calculate upper and lower endpoints for the the range of values of a function in one or more variables. These barriers need be not necessarily the supremum or infimum, since the precise calculation of those values are often too difficult; it can be shown that that task is in general NP-hard.

Treatment is typically limited to real intervals, so quantities of form: [a,b] = {x in mathbb{R} ,|, a le x le b},where a = {-infty} and b = {infty} are allowed; with one of then infinite we would have an unbounded interval, while with both infinite we would have the whole real number line.

As with traditional calculations with real numbers, simple arithmetic operations and functions on elementary intervals must first be defined (Lit.: Kulisch, 1989). More complicated functions can be calculated from these basic elements (Lit.: Kulish, 1989).

imple arithmetic

Returning to the earlier BMI example, in determining the body mass index, height and body weight both affect the result. For height, measurements are usually in round centimetres: a recorded measurement of 1.80 metres actually means a height somewhere between 1.795 m and 1.805 m. This uncertainty must be combined with the fluctuation range in weight between 79.5 kg and 80.5 kg. The BMI is defined as the weight in kilograms divided by the square of height in metre. Using either 79.5 kg and 1.795 m or 80.5 kg and 1.805 m gives approximately 24.7. But the person in question may only be 1.795 m tall, with a weight of 80.5 kilograms - or 1.805 m and 79.5 kilograms: all combinations of all possible intermediate values must be considered. Using the interval arithmetic methods described below, the BMI lies in the interval: [79{.}5; 80{.}5] /( [1{.}795; 1{.}805] )^2 = [24{.}4; 25{.}0] .

An operation {langle!mathrm{op}! angle} on two intervals , with {langle!mathrm{op}! angle} for example being addition or multiplication, is defined by

: [x_1, x_2] {,langle!mathrm{op}! angle,} [y_1, y_2] = { x {,langle!mathrm{op}! angle,} y , | , x in [x_1, x_2] ,mbox{and}, y in [y_1, y_2] } .For the four basic arithmetic operations this can become:egin{matrix} [x_1, x_2] {,langle!mathrm{op}! angle,} [y_1, y_2] & = & {left [ min(x_1 {langle!mathrm{op}! angle} y_1, x_1{langle!mathrm{op}! angle} y_2, x_2 {langle!mathrm{op}! angle} y_1, x_2 {langle!mathrm{op}! angle} y_2), ight.}\&& {left.;max(x_1 {langle!mathrm{op}! angle}y_1, x_1 {langle!mathrm{op}! angle} y_2, x_2{langle!mathrm{op}! angle} y_1, x_2 {langle!mathrm{op}! angle} y_2) ight] } ,mathrm{,}end{matrix}

provided that x {,langle!mathrm{op}! angle,} y is allowed for all xin [x_1, x_2] and y in [y_1, y_2] .

For practical applications this can be simplified further:

* Addition: [x_1, x_2] + [y_1, y_2] = [x_1+y_1, x_2+y_2]
* Subtraction: [x_1, x_2] - [y_1, y_2] = [x_1-y_2, x_2-y_1]
* Multiplication: [x_1, x_2] cdot [y_1, y_2] = [min(x_1 y_1,x_1 y_2,x_2 y_1,x_2 y_2), max(x_1 y_1,x_1 y_2,x_2 y_1,x_2 y_2)]
* Division: [x_1, x_2] / [y_1, y_2] = [x_1, x_2] cdot (1/ [y_1, y_2] ), where 1/ [y_1, y_2] = [1/y_2, 1/y_1] if 0 otin [y_1, y_2] . For division by an interval including zero, first define: 1/ [y_1, 0] = [-infty, 1/y_1] and 1/ [0, y_2] = [1/y_2, infty] . For y_1 < 0 < y2, we get 1/ [y_1, y_2] = [-infty, 1/y_1] cup [1/y_2, infty] which as a single interval gives 1/ [y_1, y_2] = [-infty, infty] ; this loses useful information about (1/y_1, 1/y_2). So typically it is common to work with [-infty, 1/y_1] and [1/y_2, infty] as separate intervals.

Because several such divisions may occur in an interval arithmetic calculation, it is sometimes useful to do the calculation with so-called "multi-intervals" of the form extstyle igcup_{i=1}^l [x_{i1},x_{i2}] . The corresponding "multi-interval arithmetic" maintains a disjoint set of intervals and also provides for overlapping intervals to unite (Lit.: Dreyer, 2005).

Since a number rin mathbb{R} can be interpreted as the interval [r,r] , you can combine intervals and real numbers.

With the help of these definitions, it is already possible to calculate the range of simple functions, such as f(a,b,x) = a cdot x + b. If, for examplea = [1,2] , b = [5,7] and x = [2,3] , it is clear

:f(a,b,x) = ( [1,2] cdot [2,3] ) + [5,7] = [1cdot 2, 2cdot 3] + [5,7] = [7,13] .

Interpreting this as a function f(a,b,x) of the variable x with interval parameters a and b, them it is possible to find the roots of this function. It is then

:f( [1,2] , [5,7] ,x) = ( [1,2] cdot x) + [5,7] = 0Leftrightarrow [1,2] cdot x = [-7, -5] Leftrightarrow x = [-7, -5] / [1,2] ,the possible zeros are in the interval [-7, {-2.5}] .

As in the above example, the multiplication of intervals often only requires two multiplications. It is in fact

: [x_1, x_2] cdot [y_1, y_2] = [x_1 cdot y_1, x_2 cdot y_2] , if x_1, y_1 geq 0.

The multiplication can be see as a destination area of a rectangle with varying edges. The result interval covers all levels from the smallest to the largest.

The same applies when one of the two intervals is non-positive and the other non-negative. Generally, multiplication can produce results as wide as [{-infty}, {infty}] , for example if 0 cdot infty is squared. This also occurs, for example, in a division, if the numerator and denominator both contain zero.


To make the notation of intervals smaller in formulae, brackets can be used.

So we can use [x] equiv [x_1, x_2] to represent an interval. For the set of all finite intervals, we can use : [mathbb{R}] := ig{, [x_1, x_2] ,|, x_1 leq x_2 ,mbox{and}, x_1, x_2 in mathbb{R} cup {-infty, infty} ig}as an abbreviation. For a vector of intervals ig( [x] _1, ldots , [x] _n ig) in [mathbb{R}] ^n we can also used a bold font: [mathbf{x}] .

In such a compact notation, you should note that [x] should not be confused between a so-called improper or single point interval [x_1, x_1] and the lower and upper limit.

Elementary functions

Interval methods can also apply to functions which do not just use simple arithmetic, and we must also use other basic functions for redefining intervals, using already known monotonicity properties.

For monotonic functions in one variable, the range of values is also easy. If f: mathbb{R} ightarrow mathbb{R} is monotonically rising or falling in the interval [x_1, x_2] , then for all values in the interval y_1, y_2 in [x_1, x_2] such that y_1 leq y_2, one of the following inequalities applies::f(y_1) leq f(y_2) , or f(y_1) geq f(y_2) .

The range corresponding to the interval [y_1, y_2] subseteq [x_1, x_2] can be calculated by applying the function to the endpoints y_1 and y_2::f( [y_1, y_2] ) = left [min ig {f(y_1), f(y_2) ig}, max ig{ f(y_1), f(y_2) ig} ight] .

From this the following basic features for interval functions can easily be defined:
* Exponential function: a^{ [x_1, x_2] } = [a^{x_1},a^{x_2}] , for a > 1,
* Logarithm: log_aig( { [x_1, x_2] } ig) = [log_a {x_1}, log_a {x_2}] , for positive intervals [x_1, x_2] and a>1
* Odd powers: { [x_1, x_2] }^n = [{x_1}^n,{x_2}^n] , for odd nin mathbb{N}.

For even powers, the range of values being considered is important, and needs to be dealt with before doing any multiplication.For example x^n for x in [-1,1] should produce the interval [0,1] when n = 2, 4, 6, ldots. But if you take [-1,1] ^n by applying interval multiplication of form [-1,1] cdot ldots cdot [-1,1] then the result will appear to be [-1,1] , wider than necessary.

Instead consider the function x^n as a monotonically decreasing function for x < 0 and a monotonically increasing function for x > 0. So for even nin mathbb{N}:

* { [x_1, x_2] }^n = [x_1^n, x_2^n] , if x_1 geq 0,
* { [x_1, x_2] }^n = [x_2^n, x_1^n] , if x_2 < 0,
* { [x_1, x_2] }^n = [0, max {x_1^n, x_2^n } ] , otherwise.

More generally, one can say that for piecewise monotonic functions it is sufficient to consider the endpoints x_1, x_2 of the interval [x_1, x_2] , together with the so-called "critical points" within the interval being those points where the monotonicity of the function changes direction.

For the sine and cosine functions, the critical points are at left( {}^1!!/!{}_2 + {n} ight) cdot pi or {n} cdot pi for all n in mathbb{Z} respectively. Only up to five points matter as the resulting interval will be [-1,1] if at least half a period is in the input interval. For sine and cosine, only the endpoints need full evaluation as the critical points lead to easily pre-calculated values – namely -1, 0 , +1.

Interval extensions of general functions

In general, it may not be easy to find such a simple description of the output interval for many functions. But it may still be possible to extend functions to interval arithmetic. If f:mathbb{R}^n ightarrow mathbb{R} is a function from a real vector to a real number, then [f] : [mathbb{R}] ^n ightarrow [mathbb{R}] is called an "interval extension" of f if: [f] ( [mathbf{x}] ) supseteq {f(mathbf{y}) | mathbf{y} in [mathbf{x}] }.

This definition of the interval extension does not give a precise result. For example, both [f] ( [x_1,x_2] ) = [e^{x_1}, e^{x_2}] and [g] ( [x_1,x_2] ) = [{-infty}, {infty}] are allowable extensions of the exponential function. Extensions as tight as possible are desirable, taking into the relative costs of calculation and imprecision; in this case [f] should be chosen as it give the tightest possible result.

The "natural interval extension" is achieved by combining the function rule f(x_1, cdots, x_n) with the equivalents of the basic arithmetic and elementary functions.

The "Taylor interval extension" (of degree k ) is a k+1 times differentiable function f defined by

: [f] ( [mathbf{x}] ) := f(mathbf{y}) + sum_{i=1}^kfrac{1}{i!}mathrm{D}^i f(mathbf{y}) cdot ( [mathbf{x}] - mathbf{y})^i + [r] ( [mathbf{x}] , [mathbf{x}] , mathbf{y}),for some mathbf{y} in [mathbf{x}] , where mathrm{D}^i f(mathbf{y}) is the ith order differential of f at the point mathbf{y} and [r] is an interval extension of the "Taylor remainder"

:r(mathbf{x}, xi, mathbf{y}) = frac{1}{(k+1)!}mathrm{D}^{k+1} f(xi) cdot (mathbf{x}-mathbf{y})^{k+1}. The vector xi lies between mathbf{x} and mathbf{y} with mathbf{x}, mathbf{y} in [mathbf{x}] , xi is protected by [mathbf{x}] .Usually you choose mathbf{y} to be the midpoint of the interval and use the natural interval extension to assess the remainder.

The special case of the Taylor interval extension of degree k = 0 is also referred to as the "average interval extension".For an interval extension of the Jacobian [J_f] (mathbf{ [x] })you get

: [f] ( [mathbf{x}] ) := f(mathbf{y}) + [J_f] (mathbf{ [x] }) cdot ( [mathbf{x}] - mathbf{y}).

A nonlinear function can be defined by linear features.

Interval methods

The methods of classical numerical analysis can not be transferred one-to-one into interval-valued algorithms, as dependencies between numerical values are usually not taken into account.

Rounded interval arithmetic

To working effectively in a real-life implementation, intervals must be compatible to floating point computing. The earlier operations were based on exact arithmetic, but in general fast numerical solution methods may not be available. The range of values of the function f(x, y) = x + yfor x in [0.1, 0.8] and y in [0.06, 0.08] are for example [0.16, 0.88] . Where the same calculation is done with single digit precision, the result would normally be [0.2, 0.9] . But [0.2, 0.9] otsupseteq [0.16, 0.88] ,so this approach would contradict the basic principles of interval arithmetic contradict, as a part of the domain of f( [0.1, 0.8] , [0.06, 0.08] ) would be lost.Instead, it is the outward rounded solution [0.1, 0.9] which is used.

The standard IEEE 754 for binary floating-point arithmetic also sets out procedures for the implementation of rounding. An IEEE 754 compliant system allows programmers to round to the nearest floating point number; alternatives are rounding towards 0 (truncating), rounding toward positive infinity (i.e. up), or rounding towards negative infinity (i.e. down).

The required "external rounding" for interval arithmetic can thus be achieved by changing the rounding settings of the processor in the calculation of the upper limit (up) and lower limit (down). Alternatively, an appropriate small interval [varepsilon_1, varepsilon_2] can be added.

Dependency problem

The so-called "dependency problem" is a major obstacle to the application of interval arithmetic. Although interval methods can determine the range of elementary arithmetic operations and functions very accurately, this is not always true with more complicated functions. If an interval occurs several times in a calculation using parameters, and each occurrence is taken independently then this can lead to an unwanted expansion of the resulting intervals.

As an illustration, take the function f defined by f(x) = x^2 + x. The values of this function over the interval [-1, 1] are really [-1/4 , 2] . As the natural interval extension, it is calculated as [-1, 1] ^2 + [-1, 1] = [0,1] + [-1,1] = [-1,2] , which is slightly larger; we have instead calculated the infimum and supremum of the function h(x, y)= x^2+y over x,y in [-1,1] . There is a better expression of f in which the variable x only appears once, namely by rewriting f(x) = x^2 + x as addition and squaring in the quadratic f(x) = left(x + frac{1}{2} ight)^2 -frac{1}{4}. So the suitable interval calculation is : left( [-1,1] + frac{1}{2} ight)^2 -frac{1}{4} = left [-frac{1}{2}, frac{3}{2} ight] ^2 -frac{1}{4} = left [0, frac{9}{4} ight] -frac{1}{4} = left [-frac{1}{4},2 ight] and gives the correct values.

In general, it can be shown that the exact range of values can be achieved, if each variable appears only once. However, not every function can be rewritten this way.

The dependency of the problem causing over-estimation of the value range can go as far as covering a large range, preventing more meaningful conclusions.

An additional increase in the range stems from the solution of areas that do not take the form of an interval vector. The solution set of the linear system:egin{matrix}x &=& y\x &=& pend{matrix} for pin [-1,1] is precisely the line between the points (-1,-1) and (1,1). Interval methods deliver the best case, but in the square [-1,1] imes [-1,1] , The real solution is contained in this square (this is known as the "wrapping effect").

Linear interval systems

A linear interval system consists of a matrix interval extension [mathbf{A}] in [mathbb{R}] ^{n imes m} and an interval vector [mathbf{b}] in [mathbb{R}] ^{n}. We want the smallest cuboid [mathbf{x}] in [mathbb{R}] ^{m}, for all vectors mathbf{x} in mathbb{R}^{m} which there is a pair (mathbf{A}, mathbf{b}) with mathbf{A} in [mathbf{A}] and mathbf{b} in [mathbf{b}] satisfying:mathbf{A} cdot mathbf{x} = mathbf{b}.

For quadratic systems - in other words, for n = m - there can be such an interval vector [mathbf{x}] , which covers all possible solutions, found simply with the interval Gauss method. This replaces the numerical operations, in that the linear algebra method known as Gaussian elimination becomes its interval version. However, since this method uses the interval entities [mathbf{A}] and [mathbf{b}] repeatedly in the calculation, it can produce poor results for some problems Hence using the result of the interval-valued Gauss only provides first rough estimates, since although it contains the entire solution set, it also has a large area outside it.

A rough solution [mathbf{x}] can often be improved by an interval version of the Gauss–Seidel method. The motivation for this is that the i-th row of the interval extension of the linear equation:egin{pmatrix} { [a_{11}] } & cdots & { [a_{1n}] } \ vdots & ddots & vdots \ { [a_{n1}] } & cdots & { [a_{nn}] }end{pmatrix}cdot egin{pmatrix}{x_1} \vdots \{x_n}end{pmatrix}=egin{pmatrix}{ [b_1] } \vdots \{ [b_n] }end{pmatrix}can be determined by the variable x_i if the division 1/ [a_{ii}] is allowed. It is therefore simultaneously :x_j in [x_j] and x_j in frac{ [b_i] - sumlimits_{k ot= j} [a_{ik}] cdot [x_k] }{ [a_{ij}] }.So you can now replace [x_j] by : [x_j] cap frac{ [b_i] - sumlimits_{k ot= j} [a_{ik}] cdot [x_k] }{ [a_{ij}] }, and so the vector [mathbf{x}] by each element.Since the procedure is more efficient for a diagonally dominant matrix, instead of the system [mathbf{A}] cdot mathbf{x} = [mathbf{b}] mbox{,} you can often try multiplying it by an appropriate rational matrix mathbf{M} with the resulting matrix equation:(mathbf{M}cdot [mathbf{A}] )cdot mathbf{x} = mathbf{M}cdot [mathbf{b}] left to solve. If you choose, for example, mathbf{M} = mathbf{A}^{-1} for the central matrix mathbf{A} in [mathbf{A}] , then mathbf{M} cdot [mathbf{A}] is outer extension of the identity matrix.

These methods only work well if the widths of the intervals occurring are sufficiently small. For wider intervals it can be useful to use an interval-linear system on finite (albeit large) real number equivalent linear systems. If all the matrices mathbf{A} in [mathbf{A}] are invertible, it is sufficient to consider all possible combinations (upper and lower) of the endpoints occurring in the intervals. The resulting problems can be resolved using conventional numerical methods. Interval arithmetic is still used to determine rounding errors.

This is only suitable for systems of smaller dimension, since with a fully occupied n imes n matrix, 2^{n^2} real matrices need to be inverted, with 2^n vectors for the right hand side. This approach was developed by Jiri Rohn and is still being developed. [ [ Jiri Rohn, List of publications] ]

Interval Newton method

An interval variant of Newton's method for finding the zeros in an interval vector [mathbf{x}] can be derived from the average value extension (Lit.: Hansen, 1992). For an unknown vector mathbf{z}in [mathbf{x}] applied to mathbf{y}in [mathbf{x}] , gives:f(mathbf{z}) in f(mathbf{y}) + [J_f] (mathbf{ [x] }) cdot (mathbf{z} - mathbf{y}).For a zero mathbf{z}, that is f(z)=0, and thus must satisfy: f(mathbf{y}) + [J_f] (mathbf{ [x] }) cdot (mathbf{z} - mathbf{y})=0 .This is equivalent to mathbf{z} in mathbf{y} - [J_f] (mathbf{ [x] })^{-1}cdot f(mathbf{y}).An outer estimate of [J_f] (mathbf{ [x] })^{-1}cdot f(mathbf{y})) can be determined using linear methods.

In each step of the interval Newton method, an approximate starting value [mathbf{x}] in [mathbb{R}] ^n is replaced by [mathbf{x}] cap left(mathbf{y} - [J_f] (mathbf{ [x] })^{-1}cdot f(mathbf{y}) ight) and so the result can be improved iteratively. In contrast to traditional methods, the interval method approaches the result by containing the zeros. This guarantees that the result will produce all the zeros in the initial range. Conversely, it will prove that no zeros of f were in the initial range [mathbf{x}] if a Newton step produces the empty set.

The method converges on all zeros in the starting region. Division by zero can lead to separation of distinct zeros, though the separation may not be complete; it can be complemented by the bisection method.

As an example, consider the function f(x)= x^2-2, the starting range [x] = [-2,2] , and the point y= 0. You then have J_f(x) = 2, x and the first Newton step gives : [-2,2] cap left(0 - frac{1}{2cdot [-2,2] } (0-2) ight) = [-2,2] cap Big( [{-infty}, {-0.5}] cup [{0.5}, {infty}] Big).There is therefore a zero in xin [{-2}, {-0.5}] cup ig [{0.5}, {2}ig] .More Newton steps are used separately on xin [{-2}, {-0.5}] and [{0.5}, {2}] . These converge to arbitrarily small intervals around -sqrt{2} and +sqrt{2}.

The Interval Newton method can also be used with "thick functions" such as g(x)= x^2- [2,3] , which would in any case have interval results. The result then produces intervals containing left [-sqrt{3},-sqrt{2} ight] cup left [sqrt{2},sqrt{3} ight] .

Bisection and covers

The various interval methods deliver conservative results as dependencies between the sizes of different intervals extensions are not taken into account. However the dependency problem becomes less significant for narrower intervals.

Covering an interval vector [mathbf{x}] by smaller boxes [mathbf{x}_1] , dots , [mathbf{x}_k] mbox{,} so that extstyle [mathbf{x}] = igcup_{i=1}^k [mathbf{x}_i] mbox{,} is then valid for the range of values extstyle f( [mathbf{x}] ) = igcup_{i=1}^k f( [mathbf{x}_i] )mbox{.}So for the interval extensions described above, extstyle [f] ( [mathbf{x}] ) supseteq igcup_{i=1}^k [f] ( [mathbf{x}_i] ) is valid.Since [f] ( [mathbf{x}] ) is often a genuine superset of the right-hand side, this usually leads to an improved estimate.

Such a cover can be generated by the bisection method such as thick elements [x_{i1}, x_{i2}] of the interval vector [mathbf{x}] = ( [x_{11}, x_{12}] , dots, [x_{n1}, x_{n2}] ) by splitting in the centre into the two intervals [x_{i1}, (x_{i1}+x_{i2})/2] and [(x_{i1}+x_{i2})/2, x_{i2}] . It the result is still not suitable then further gradual subdivision is possible. Note that a cover of 2^r intervals results from r divisions of vector elements, substantially increasing the computation costs.

With very wide intervals, it can be helpful to split all intervals into several subintervals with a constant (and smaller) width, a method known as "mincing". This then avoids the calculations for intermediate bisection steps. Both methods are only suitable for problems of low dimension.


Interval arithmetic can be use in various areas, in order to be treated estimates for which no exact numerical values can stated (Lit.: Jaulin et al., 2001).

Rounding error analysis

Interval arithmetic is used with error analysis, to control rounding errors arising from each calculation. The advantage of interval arithmetic is that after each operation there is an interval which reliably includes the true result. The distance between the interval boundaries gives the current calculation of rounding errors directly:: Error = mathrm{abs}(a-b) for a given interval [a,b] .Interval analysis adds to rather than substituting for traditional methods for error reduction, such as pivoting.

Tolerance analysis

Parameters for which no exact figures can be allocated often arise during the simulation of technical and physical processes. The production process of technical components allows certain tolerances, so some parameters fluctuate within intervals.In addition, many fundamental constants not are not known precisely (Lit.: Dreyer, 2005).

If the behavior of such a system affected by tolerances satisfies, for example, f(mathbf{x}, mathbf{p}) = 0, for mathbf{p} in [mathbf{p}] and unknown mathbf{x} then the set of possible solutions :{mathbf{x},|, exists mathbf{p} in [mathbf{p}] , f(mathbf{x}, mathbf{p})= 0},can be found by interval methods. This provides an alternative to traditional propagation of error analysis. Unlike point methods, such as Monte Carlo simulation, interval arithmetic methodology ensures that no part of the solution area can be overlooked.However, the result is always a worst case analysis for the distribution of error, as other probability-based distributions are not considered.

Fuzzy interval arithmetic

Interval arithmetic can also be used with affiliation functions for fuzzy quantities as they are used in fuzzy logic. Apart from the strict statements xin [x] and x otin [x] , intermediate values are also possible, to which real numbers mu in [0,1] are assigned. mu = 1 corresponds to definite membership while mu = 0 is non-membership. A distribution function assigns uncertainty which can be understood as a further interval.

For "fuzzy arithmetic" [ [ Application of Fuzzy Arithmetic to Quantifying the Effects of Uncertain Model Parameters, Michael Hanss] , University of Stuttgart] only a finite number of discrete affiliation stages mu_i in [0,1] are considered. The form of such a distribution for an indistinct value can then represented by a sequence of intervals:left [x^{(1)} ight] supset left [x^{(2)} ight] supset cdots supset left [x^{(k)} ight] . The interval [x^{(i)}] corresponds exactly to the fluctuation range for the stage mu_i.

The appropriate distribution for a function f(x_1, cdots, x_n) concerning indistinct valuesx_1, cdots, x_n and the corresponding sequences left [x_1^{(1)} ight] supset cdots supset left [x_1^{(k)} ight] , cdots ,left [x_n^{(1)} ight] supset cdots supset left [x_n^{(k)} ight] can be approximated by the sequence left [y^{(1)} ight] supset cdots supset left [y^{(k)} ight] .The values left [y^{(i)} ight] are given by left [y^{(i)} ight] = f left( left [x_{1}^{(i)} ight] , cdots left [x_{n}^{(i)} ight] ight) and can be calculated by interval methods. The value left [y^{(1)} ight] corresponds to the result of an interval calculation.


Interval arithmetic is not a completely new phenomenon in mathematics; it has appeared several times under different names in the course of history. For example Archimedes calculated lower and upper bounds 223/71 < π < 22/7 in the 3rd century BC.Actual calculations with intervals has neither been as popular as other numerical techniques, nor been completely forgotten.

Rules for calculating with intervals and other subsets of the real numbers were published in a 1931 work by Rosalind Cicely Young, a doctoral candidate at the University of Cambridge. Arithmetic work on range numbers to improve reliability of digital systems were then published in a 1951 textbook on linear algebra by Paul Dwyer (University of Michigan); intervals were used to measure rounding errors associated with floating-point numbers.

The birth of modern interval arithmetic was marked by the appearance of the book "Interval Analysis" by Ramon E. Moore in 1966 (Lit.: Moore). He had the idea in Spring 1958, and a year later he published an article about computer interval arithmetic. [ [ Publications Related to Early Interval Work of R. E. Moore] ] . Its merit was that stating with a simple principle it provided is a general method for automated error analysis, not just errors resulting from rounding.

Independently in 1956, Mieczyslaw Warmus suggested formulae for calculations with intervals [ [ Precursory papers on interval analysis by M. Warmus] ] , though Moore found the first non-trivial applications.

In the following twenty years German groups of researchers carried out pioneering work around Götz Alefeld (Lit.: Alefeld and Herzberger) and Ulrich Kulisch (Lit.: Kulisch) at the University of Karlsruhe and later also at the Bergische University of Wuppertal. For example, Karl Nickel explored more effective implementations, while improved containment procedures for the solution set of systems of equations were due to Arnold Neumaier among others. [ [ Publications by Arnold Neumaier] ] . In the 1960s Eldon R. Hansen dealt with interval extensions for linear equations and then provided crucial contributions to global optimisation (Lit.: Hansen). Classical methods in this often are have the problem of determining the largest (or smallest) global value, but could only find a local optimum and could not find better values; Helmut Ratschek and Jon George Rokne developed branch and bound methods, which till then had only applies to integer values, by using intervals to provide applications for continuous values [ [ Some publications of Jon Rokne] ] .

In 1988 Rudolf Lohner developed Fortran-based software for reliable solutions for initial value problems using ordinary differential equations. [ [ Bounds for ordinary differential equations of Rudolf Lohner] (in German)]

The journal "Reliable Computing" (originally "Interval Computations") has been published since the 1990s , dedicated to the reliability of computer-aided computations. As lead editor, R. Baker Kearfott, in addition to his work on global optimisation, has contributed significantly to the unification of notation and terminology used in interval arithmetic (Web: Kearfott).

In recent years work has concentrated in particular on the estimation of preimages of parameterised functions and to robust control theory by the COPRIN working group of INRIA in Sophia Antipolis in France (Web: INRIA).


One of the main sponsors of the interval arithmetic, G. William Walster of Sun Microsystems, has - in part with Ramon E. Moore and Eldon R. Hansen - lodged several patents in the field of interval arithmetic atthe U.S. Patent and Trademark Office in the years 2002-04 [ [ Patent Issues in Interval Arithmetic] ] . The validity of these patent applications have been disputed in the interval arithmetic research community, since they may possibly only show the past state of the art.


There are many software packages which permit the development of numerical applications using interval arithmetic [ [ Software for Interval Computations collected by Vladik Kreinovich] , University of Texas at El Paso] .These are usually provided in the form of program libraries. [ [ C++ Interval Arithmetic Programming Reference] from Sun Microsystems] There are also C++ and Fortran compilers handle interval data types and suitable operations as a language extension, [ [ C++ and Fortran compilers with Interval data types] from Sun Microsystems] so interval arithmetic is supported directly.

Since 1967 "Extensions for Scientific Computation" (XSC) have been developed in the University of Karlsruhe for various programming languages, such as C++, Fortran and Pascal. [ [ History of XSC-Languages] ] The first platform was a Zuse Z 23, for which a new interval data type with appropriate elementary operators was made available. There followed in 1976 Pascal-SC, a Pascal variant on a Zilog Z80 which it made possible to create fast complicated routines for automated result verification. Then came the Fortran 77-based ACRITH XSC for the System/370 architecture, which was later delivered by IBM. Starting from 1991 one could produce code for C compilers with Pascal XSC; a year later the C++ class library supported C-XSC on many different computer systems. In 1997 all XSC variants were made available under the General Public License. At the beginning of 2000 C-XSC 2.0 was released under the leadership of the working group for scientific computation at the Bergische University of Wuppertal, in order to correspond to the improved C++ standard.

Another C++- class library was created in 1993 at the Hamburg University of Technology called "Profil/BIAS" (Programmer's Runtime Optimized Fast Interval Library, Basic Interval Arithmetic), which made the usual interval operations more user friendly. It emphasised the efficient use of hardware, portability and independence of a particular presentation of intervals.

The Boost collection of C++ libraries contains a template class for intervals. Its authors are aiming to have interval arithmetic in the standard C++ language. [ [ A Proposal to add Interval Arithmetic to the C++ Standard Library] ]

In addition computer algebra systems, such as Mathematica, Maple and MuPAD, can handle intervals. There is a Matlab extension "Intlab" which builds on BLAS routines, as well as the Toolbox b4m which makes a Profil/BIAS interface. [ [ INTerval LABoratory] and [ b4m] ] .

See also

* Automatic differentiation
* Multigrid Method
* Monte-Carlo simulation

Further information


* Götz Alefeld und Jürgen Herzberger: "Einführung in die Intervallrechnung". Bibliographisches Institut, Reihe Informatik, Band 12, B.I.-Wissenschaftsverlag, Mannheim - Wien - Zürich, ISBN 3-411-01466-0
* Alexander Dreyer: "Interval Analysis of Analog Circuits with Component Tolerances". Doctoral thesis, Shaker Verlag, Aachen, 2003, ISBN 3-8322-4555-3.
* Eldon Hansen and G. William Walster: "Global Optimization using Interval Analysis, Second Edition, Revised and Expanded", Marcel Dekker, New York, 2004, ISBN 0-8247-4059-9.
* L. Jaulin, M. Kieffer, O. Didrit, and É.Walter: "Applied Interval Analysis: With examples in parameter estimation robust control and robotics". Springer, London, 2001, ISBN 1-85233-219-0.
* Ulrich Kulisch: "Wissenschaftliches Rechnen mit Ergebnisverifikation. Eine Einführung", Vieweg-Verlag, Wiesbaden 1989, ISBN 3-528-08943-1.
* R. E. Moore: "Interval Analysis". Prentice-Hall, Englewood Cliff, NJ, 1966, ISBN 0-13-476853-1.

External links

* [ Brian Hayes, 'A Lucid Interval', a good introduction (pdf)]
* [ Introductory Film (mpeg)] of the [ COPRIN] teams of INRIA, Sophia Antipolis
* [ Bibliography of R. Baker Kearfott] , University of Louisiana at Lafayette
* [ Interval Methods from Arnold Neumaier] , University of Vienna


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Interval (mathematics) — This article is about intervals of real numbers. For intervals in general mathematics, see Partially ordered set. For other uses, see Interval. In mathematics, a (real) interval is a set of real numbers with the property that any number that lies …   Wikipedia

  • Arithmetic coding — is a method for lossless data compression. Normally, a string of characters such as the words hello there is represented using a fixed number of bits per character, as in the ASCII code. Like Huffman coding, arithmetic coding is a form of… …   Wikipedia

  • Arithmetic mean — In mathematics and statistics, the arithmetic mean, often referred to as simply the mean or average when the context is clear, is a method to derive the central tendency of a sample space. The term arithmetic mean is preferred in mathematics and… …   Wikipedia

  • Interval class — In musical set theory, an interval class (usual abbreviation: ic) is the shortest distance in pitch class space between two unordered pitch classes. For example, the interval class between pitch classes 4 and 9 is 5 because 9 4 = 5 is less than 4 …   Wikipedia

  • Affine arithmetic — (AA) is a model for self validated numerical analysis. In AA, the quantities of interest are represented as affine combinations (affine forms) of certain primitive variables, which stand for sources of uncertainty in the data or approximations… …   Wikipedia

  • Significance arithmetic — is a set of rules (sometimes called significant figure rules) for approximating the propagation of uncertainty in scientific or statistical calculations. These rules can be used to find the appropriate number of significant figures to use to… …   Wikipedia

  • Greek arithmetic, geometry and harmonics: Thales to Plato — Ian Mueller INTRODUCTION: PROCLUS’ HISTORY OF GEOMETRY In a famous passage in Book VII of the Republic starting at Socrates proposes to inquire about the studies (mathēmata) needed to train the young people who will become leaders of the ideal… …   History of philosophy

  • Arbitrary-precision arithmetic — In computer science, arbitrary precision arithmetic indicates that calculations are performed on numbers whose digits of precision are limited only by the available memory of the host system. This contrasts with the faster fixed precision… …   Wikipedia

  • Confidence interval — This article is about the confidence interval. For Confidence distribution, see Confidence Distribution. In statistics, a confidence interval (CI) is a particular kind of interval estimate of a population parameter and is used to indicate the… …   Wikipedia

  • Credible interval — Bayesian statistics Theory Bayesian probability Probability interpretations Bayes theorem Bayes rule · Bayes factor Bayesian inference Bayesian network Prior · Posterior · Likelihood …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”