Interval arithmetic
   HOME

TheInfoList



OR:

Interval arithmetic (also known as interval mathematics, interval analysis, or interval computation) is a mathematical technique used to put bounds on
rounding error A roundoff error, also called rounding error, is the difference between the result produced by a given algorithm using exact arithmetic and the result produced by the same algorithm using finite-precision, rounded arithmetic. Rounding errors are d ...
s and
measurement error Observational error (or measurement error) is the difference between a measured value of a quantity and its true value.Dodge, Y. (2003) ''The Oxford Dictionary of Statistical Terms'', OUP. In statistics, an error is not necessarily a "mistake ...
s in mathematical computation. Numerical methods using interval
arithmetic Arithmetic () is an elementary part of mathematics that consists of the study of the properties of the traditional operations on numbers— addition, subtraction, multiplication, division, exponentiation, and extraction of roots. In the 19th ...
can guarantee reliable and mathematically correct results. Instead of representing a value as a single number, interval arithmetic represents each value as a range of possibilities. For example, instead of saying the height of someone is approximately 2 meters, one could using interval arithmetic, say that the height of the person is definitely between 1.97 meters and 2.03 meters. Mathematically, using interval arithmetic, instead of working with an uncertain real-valued variable x, one works with an interval ,b/math> that defines the range of values that x can have. In other words, any value of the variable x lies in the closed interval between a and b. A function f, when applied to x, yields an inexact value; f instead produces an interval ,d/math> which includes all the possible values for f(x) for all x \in ,b/math>. Interval arithmetic is suitable for a variety of purposes; the most common use is in scientific works, particularly when the calculations are handled by software, where it is used to keep track of
rounding error A roundoff error, also called rounding error, is the difference between the result produced by a given algorithm using exact arithmetic and the result produced by the same algorithm using finite-precision, rounded arithmetic. Rounding errors are d ...
s in calculations 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 or due to limits on computational accuracy. Interval arithmetic also helps find guaranteed solutions to equations (such as
differential equation In mathematics, a differential equation is an equation that relates one or more unknown functions and their derivatives. In applications, the functions generally represent physical quantities, the derivatives represent their rates of change, ...
s) and
optimization problem In mathematics, computer science and economics, an optimization problem is the problem of finding the ''best'' solution from all feasible solutions. Optimization problems can be divided into two categories, depending on whether the variables ...
s.


Introduction

The main objective of the interval
arithmetic Arithmetic () is an elementary part of mathematics that consists of the study of the properties of the traditional operations on numbers— addition, subtraction, multiplication, division, exponentiation, and extraction of roots. In the 19th ...
is a simple way to calculate upper and lower bounds for the range of a function in one or more variables. These endpoints are not necessarily the true
supremum In mathematics, the infimum (abbreviated inf; plural infima) of a subset S of a partially ordered set P is a greatest element in P that is less than or equal to each element of S, if such an element exists. Consequently, the term ''greatest ...
or
infimum In mathematics, the infimum (abbreviated inf; plural infima) of a subset S of a partially ordered set P is a greatest element in P that is less than or equal to each element of S, if such an element exists. Consequently, the term ''greatest lo ...
, since the precise calculation of those values can be difficult or impossible; the bounds only need to contain the function's range as a subset. This treatment is typically limited to real intervals, so quantities in the form : ,b= \, where a = and b = are allowed. With one of a, b infinite, the interval would be an unbounded interval; with both infinite, the interval would be the extended real number line. Since a real number r can be interpreted as the interval ,r intervals and real numbers can be freely combined. As with traditional calculations with real numbers, simple arithmetic operations and functions on elementary intervals must first be defined. More complicated functions can be calculated from these basic elements.


Example

As an example, consider the calculation of
body mass index Body mass index (BMI) is a value derived from the mass ( weight) and height of a person. The BMI is defined as the body mass divided by the square of the body height, and is expressed in units of kg/m2, resulting from mass in kilograms and ...
(BMI) and assess whether a person is overweight. BMI is calculated as a person's body weight in kilograms divided by the square of their height in meters. A weighing machine may have a resolution of one kilogram. Intermediate values cannot be discerned, and the true weight is rounded to the nearest whole number. For example, 79.6 kg and 80.3kg are indistinguishable as the weighing machine gives meaningful (correct) values only unto the accuracy of the nearest kilogram. It is unlikely that when the machine reads 80kg, the person weighs ''exactly'' 80.0kg. In normal rounding to the nearest value, if the weighing machine shows 80kg, it indicates a weight between 79.5kg and 80.5kg. This corresponds with the interval 9.5, 80.5/math>. For a man who weighs 80kg and is 1.80m tall, the BMI is approximately 24.7. A weight of 79.5 kg and the same height yields approx. 24.537, while a weight of 80.5 kg yields approx. 24.846. Since the function is monotonically increasing, we conclude that the true BMI is in the range 4.537, 24.846/math>. Since the entire range is less than 25, which is the cutoff between normal and excessive weight, we conclude that the man is of normal weight. The error in this case does not affect the conclusion (normal weight), but this is not always the case. If the man was slightly heavier, the BMI's range may include the cutoff value of 25. In that case, the scale's precision was insufficient to make a definitive conclusion. Also, note that the range of BMI examples could be reported as 4.5, 24.9/math>, since this interval is a superset of the calculated interval. The range could not, however, be reported as 4.6, 24.8/math>, as now the interval does not contain possible BMI values. Interval arithmetic states the range of possible outcomes explicitly. Results are no longer stated as numbers, but as intervals that represent imprecise values. The size of the intervals are similar to error bars in expressing the extent of uncertainty.


Multiple intervals

Height and body weight both affect the value of the BMI. We have already treated weight as an uncertain measurement, but height is also subject to uncertainty. Height measurements in meters are usually rounded to the nearest centimeter: a recorded measurement of 1.79 meters actually means a height in the interval .785, 1.795/math>. Now, all four combinations of possible height/weight values must be considered. Using the interval methods described below, the BMI lies in the interval :\frac \subseteq 4.673, 25.266 In this case, the man may have normal weight or be overweight; the weight and height measurements were insufficiently precise to make a definitive conclusion. This demonstrates interval arithmetic's ability to correctly track and propagate errors.


Interval operators

A binary operation \star on two intervals, such as addition or multiplication, is defined by :
_1, x_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
_1, y_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
= \. In other words, it is the set of all possible values of x \star y, where x and y are in their corresponding intervals. If \star is
monotone Monotone refers to a sound, for example music or speech, that has a single unvaried tone. See: monophony. Monotone or monotonicity may also refer to: In economics *Monotone preferences, a property of a consumer's preference ordering. *Monotonic ...
in each operand on the intervals, which is the case for the four basic arithmetic operations (except division when the denominator contains 0), the extreme values occur at the endpoints of the operand intervals. Writing out all combinations, one way of stating this is :
_1, x_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
\star
_1, y_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
= \left \min\, \max \ \right provided that x \star y is defined for all x\in
_1, x_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
/math> and y \in
_1, y_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
/math>. For practical applications this can be simplified further: *
Addition Addition (usually signified by the plus symbol ) is one of the four basic operations of arithmetic, the other three being subtraction, multiplication and division. The addition of two whole numbers results in the total amount or '' sum'' ...
:
_1, x_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
+
_1, y_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
= _1+y_1, x_2+y_2/math> *
Subtraction Subtraction is an arithmetic operation that represents the operation of removing objects from a collection. Subtraction is signified by the minus sign, . For example, in the adjacent picture, there are peaches—meaning 5 peaches with 2 taken ...
:
_1, x_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
-
_1, y_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
= _1-y_2, x_2-y_1/math> *
Multiplication Multiplication (often denoted by the Multiplication sign, cross symbol , by the mid-line #Notation and terminology, dot operator , by juxtaposition, or, on computers, by an asterisk ) is one of the four Elementary arithmetic, elementary Op ...
:
_1, x_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
\cdot
_1, y_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
= min \, \max\/math> * Division: \frac =
_1, x_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
\cdot \frac, where \begin \frac &= \left tfrac, \tfrac \right && \textrm\;0 \notin
_1, y_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
\\ \frac &= \left \infty, \tfrac \right \\ \frac &= \left tfrac, \infty \right \\ \frac &= \left \infty, \tfrac \right \cup \left tfrac, \infty \right \subseteq \infty, \infty&& \textrm\;0 \in (y_1, y_2) \end The last case loses useful information about the exclusion of (1/y_1, 1/y_2). Thus, it is common to work with \left \infty, \tfrac \right /math> and \left tfrac, \infty \right /math> as separate intervals. More generally, when working with discontinuous functions, it is sometimes useful to do the calculation with so-called ''multi-intervals'' of the form \bigcup_ \left a_i, b_i \right The corresponding ''multi-interval arithmetic'' maintains a set of (usually disjoint) intervals and also provides for overlapping intervals to unite. Interval multiplication often only requires two multiplications. If x_1, y_1 are nonnegative, :
_1, x_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
\cdot
_1, y_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
= _1 \cdot y_1, x_2 \cdot y_2 \qquad \text x_1, y_1 \geq 0. The multiplication can be interpreted as the area of a rectangle with varying edges. The result interval covers all possible areas, from smallest to the largest. 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. For example, if a = ,2/math>, b = ,7/math> and x = ,3/math>: :f(a,b,x) = ( ,2\cdot ,3 + ,7= \cdot 2, 2\cdot 3+ ,7= ,13


Notation

To make the notation of intervals smaller in formulae, brackets can be used. \equiv
_1, x_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
/math> can be used to represent an interval. Note that in such a compact notation, /math> should not be confused between a single-point interval
_1, x_1 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
/math> and a general interval. For the set of all intervals, we can use : R:= \left \ as an abbreviation. For a vector of intervals \left( 1, \ldots , n \right) \in Rn we can use a bold font: mathbf/math>.


Elementary functions

Interval functions beyond the four basic operators may also be defined. For
monotonic function In mathematics, a monotonic function (or monotone function) is a function between ordered sets that preserves or reverses the given order. This concept first arose in calculus, and was later generalized to the more abstract setting of order ...
s in one variable, the range of values is simple to compute. If f: \R \to \R is monotonically increasing (resp. decreasing) in the interval
_1, x_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
then for all y_1, y_2 \in
_1, x_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
/math> such that y_1 \leq y_2, f(y_1) (resp. f(y_2) < f(y_1)). The range corresponding to the interval
_1, y_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
\subseteq
_1, x_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
/math> can be therefore calculated by applying the function to its endpoints: :f(
_1, y_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
= \left min \left \, \max \left\\right From this, the following basic features for interval functions can easily be defined: *
Exponential function The exponential function is a mathematical function denoted by f(x)=\exp(x) or e^x (where the argument is written as an exponent). Unless otherwise specified, the term generally refers to the positive-valued function of a real variable, ...
: a^ = ^,a^/math> for a > 1, *
Logarithm In mathematics, the logarithm is the inverse function to exponentiation. That means the logarithm of a number  to the base  is the exponent to which must be raised, to produce . For example, since , the ''logarithm base'' 10 ...
: \log_a
_1, x_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
= log_a , \log_a /math> for positive intervals
_1, x_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
/math> and a>1, * Odd powers:
_1, x_2 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from " ...
n = _1^n,x_2^n/math>, for odd n\in \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/math> should produce the interval ,1/math> when n = 2, 4, 6, \ldots. But if 1,1n is taken by repeating interval multiplication of form 1,1\cdot 1,1\cdot \cdots \cdot 1,1/math> then the result is 1,1 wider than necessary. More generally one can say that, for piecewise monotonic functions, it is sufficient to consider the endpoints x_1, x_2of an interval, together with the so-called ''critical points'' within the interval, being those points where the monotonicity of the function changes direction. For the
sine In mathematics, sine and cosine are trigonometric functions of an angle. The sine and cosine of an acute angle are defined in the context of a right triangle: for the specified angle, its sine is the ratio of the length of the side that is opp ...
and cosine functions, the critical points are at \left(\tfrac + n\right)\pi or n\pi for n \in \Z, respectively. Thus, only up to five points within an interval need to be considered, as the resulting interval is 1,1/math> if the interval includes at least two extrema. For sine and cosine, only the endpoints need full evaluation, as the critical points lead to easily pre-calculated values—namely -1, 0, and 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^n \to \mathbb is a function from a real vector to a real number, then mathbbn \to mathbb/math> is called an ''interval extension'' of f if : mathbf \supseteq \. This definition of the interval extension does not give a precise result. For example, both _1,x_2 = ^, e^/math> and _1,x_2 = /math> are allowable extensions of the exponential function. Tighter extensions are desirable, though the relative costs of calculation and imprecision should be considered; in this case, /math> should be chosen as it gives the tightest possible result. Given a real expression, its ''natural interval extension'' is achieved by using the interval extensions of each of its subexpressions, functions and operators. The ''Taylor interval extension'' (of degree k ) is a k+1 times differentiable function f defined by : mathbf := f(\mathbf) + \sum_^k\frac\mathrm^i f(\mathbf) \cdot ( mathbf- \mathbf)^i + mathbf mathbf \mathbf), for some \mathbf \in mathbf/math>, where \mathrm^i f(\mathbf) is the i-th order differential of f at the point \mathbf and /math> is an interval extension of the ''Taylor remainder'' :r(\mathbf, \xi, \mathbf) = \frac\mathrm^ f(\xi) \cdot (\mathbf-\mathbf)^. The vector \xi lies between \mathbf and \mathbf with \mathbf, \mathbf \in mathbf/math>, \xi is protected by mathbf/math>. Usually one chooses \mathbf to be the midpoint of the interval and uses 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 ''mean value form''.


Complex interval arithmetic

An interval can also be defined as a locus of points at a given distance from the center, and this definition can be extended from real numbers to
complex number In mathematics, a complex number is an element of a number system that extends the real numbers with a specific element denoted , called the imaginary unit and satisfying the equation i^= -1; every complex number can be expressed in the fo ...
s. As it is the case with computing with real numbers, computing with complex numbers involves uncertain data. So, given the fact that an interval number is a real closed interval and a complex number is an ordered pair of
real number In mathematics, a real number is a number that can be used to measure a ''continuous'' one-dimensional quantity such as a distance, duration or temperature. Here, ''continuous'' means that values can have arbitrarily small variations. Every ...
s, there is no reason to limit the application of interval arithmetic to the measure of uncertainties in computations with real numbers. Interval arithmetic can thus be extended, via complex interval numbers, to determine regions of uncertainty in computing with complex numbers. The basic algebraic operations for real interval numbers (real closed intervals) can be extended to complex numbers. It is therefore not surprising that complex interval arithmetic is similar to, but not the same as, ordinary complex arithmetic. It can be shown that, as it is the case with real interval arithmetic, there is no distributivity between addition and multiplication of complex interval numbers except for certain special cases, and inverse elements do not always exist for complex interval numbers. Two other useful properties of ordinary complex arithmetic fail to hold in complex interval arithmetic: the additive and multiplicative properties, of ordinary complex conjugates, do not hold for complex interval conjugates. Interval arithmetic can be extended, in an analogous manner, to other multidimensional number systems such as
quaternion In mathematics, the quaternion number system extends the complex numbers. Quaternions were first described by the Irish mathematician William Rowan Hamilton in 1843 and applied to mechanics in three-dimensional space. Hamilton defined a quater ...
s and
octonion In mathematics, the octonions are a normed division algebra over the real numbers, a kind of hypercomplex number system. The octonions are usually represented by the capital letter O, using boldface or blackboard bold \mathbb O. Octonions hav ...
s, but with the expense that we have to sacrifice other useful properties of ordinary arithmetic.


Interval methods

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


Rounded interval arithmetic

To work effectively in a real-life implementation, intervals must be compatible with 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 + y for x \in .1, 0.8/math> and y \in .06, 0.08/math> are for example .16, 0.88/math>. Where the same calculation is done with single digit precision, the result would normally be .2, 0.9/math>. But .2, 0.9\not\supseteq .16, 0.88/math>, so this approach would contradict the basic principles of interval arithmetic, as a part of the domain of f( .1, 0.8 .06, 0.08 would be lost. Instead, the outward rounded solution .1, 0.9/math> is used. The standard
IEEE 754 The IEEE Standard for Floating-Point Arithmetic (IEEE 754) is a technical standard for floating-point arithmetic established in 1985 by the Institute of Electrical and Electronics Engineers (IEEE). The standard addressed many problems found ...
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/math> 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 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from "On ...
/math> are \left \tfrac, 2 \right As the natural interval extension, it is calculated as: :
1, 1 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from "On ...
2 +
1, 1 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from "On ...
= ,1+ 1,1= 1,2 which is slightly larger; we have instead calculated the
infimum and supremum In mathematics, the infimum (abbreviated inf; plural infima) of a subset S of a partially ordered set P is a greatest element in P that is less than or equal to each element of S, if such an element exists. Consequently, the term ''greatest lo ...
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\right)^2 -\frac. So the suitable interval calculation is :\left( 1,1+ \frac\right)^2 -\frac = \left \frac, \frac\right2 -\frac = \left , \frac\right-\frac = \left \frac,2\right/math> 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 and if f is continuous inside the box. 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 :\begin x = p \\ y = p \end \qquad p\in 1,1/math> is precisely the line between the points (-1,-1) and (1,1). Using interval methods results in the unit square, 1,1\times 1,1 This is known as the '' wrapping effect''.


Linear interval systems

A linear interval system consists of a matrix interval extension mathbf\in mathbb and an interval vector mathbf\in mathbb. We want the smallest cuboid mathbf\in mathbb, for all vectors \mathbf \in \mathbb^ which there is a pair (\mathbf, \mathbf) with \mathbf \in mathbf/math> and \mathbf \in mathbf/math> satisfying :\mathbf \cdot \mathbf = \mathbf. For quadratic systems – in other words, for n = m – there can be such an interval vector mathbf/math>, 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/math> and mathbf/math> 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/math> 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 : \begin & \cdots & \\ \vdots & \ddots & \vdots \\ & \cdots & \end \cdot \begin \\ \vdots \\ \end = \begin \\ \vdots \\ \end can be determined by the variable x_i if the division 1/ _/math> is allowed. It is therefore simultaneously :x_j \in _j/math> and x_j \in \frac. So we can now replace _j/math> by : _j\cap \frac, and so the vector mathbf/math> by each element. Since the procedure is more efficient for a diagonally dominant matrix, instead of the system mathbfcdot \mathbf = mathbfmbox one can often try multiplying it by an appropriate rational matrix \mathbf with the resulting matrix equation :(\mathbf\cdot mathbf\cdot \mathbf = \mathbf\cdot mathbf/math> left to solve. If one chooses, for example, \mathbf = \mathbf^ for the central matrix \mathbf \in mathbf/math>, then \mathbf \cdot mathbf/math> 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 \in mathbf/math> 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 \times n matrix, 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.


Interval Newton method

An interval variant of
Newton's method In numerical analysis, Newton's method, also known as the Newton–Raphson method, named after Isaac Newton and Joseph Raphson, is a root-finding algorithm which produces successively better approximations to the roots (or zeroes) of a real- ...
for finding the zeros in an interval vector mathbf/math> can be derived from the average value extension. For an unknown vector \mathbf\in mathbf/math> applied to \mathbf\in mathbf/math>, gives :f(\mathbf) \in f(\mathbf) + _f\mathbf) \cdot (\mathbf - \mathbf). For a zero \mathbf, that is f(z)=0, and thus must satisfy : f(\mathbf) + _f\mathbf) \cdot (\mathbf - \mathbf)=0 . This is equivalent to \mathbf \in \mathbf - _f\mathbf)^\cdot f(\mathbf). An outer estimate of _f\mathbf)^\cdot f(\mathbf)) can be determined using linear methods. In each step of the interval Newton method, an approximate starting value mathbfin mathbbn is replaced by mathbfcap \left(\mathbf - _f\mathbf)^\cdot f(\mathbf)\right) 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 produces all zeros in the initial range. Conversely, it proves that no zeros of f were in the initial range mathbf/math> 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 = 2,2/math>, and the point y= 0. We then have J_f(x) = 2\, x and the first Newton step gives : 2,2cap \left(0 - \frac (0-2)\right) = 2,2cap \Big( cup \Big) = \cup /math>. More Newton steps are used separately on x\in /math> and /math>. These converge to arbitrarily small intervals around -\sqrt and +\sqrt. The Interval Newton method can also be used with ''thick functions'' such as g(x)= x^2- ,3/math>, which would in any case have interval results. The result then produces intervals containing \left \sqrt,-\sqrt \right\cup \left sqrt,\sqrt \right/math>.


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/math> by smaller boxes mathbf_1 \ldots , mathbf_k so that : mathbf= \bigcup_^k mathbf_i is then valid for the range of values :f( mathbf = \bigcup_^k f( mathbf_i. So for the interval extensions described above the following holds: : mathbf \supseteq \bigcup_^k mathbf_i. Since mathbf is often a genuine
superset In mathematics, set ''A'' is a subset of a set ''B'' if all elements of ''A'' are also elements of ''B''; ''B'' is then a superset of ''A''. It is possible for ''A'' and ''B'' to be equal; if they are unequal, then ''A'' is a proper subset of ...
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_/math> of the interval vector mathbf= ( _, x_ \ldots, _, x_ by splitting in the centre into the two intervals \left _, \tfrac(x_+x_)\right /math> and \left \tfrac(x_+x_), x_ \right If the result is still not suitable then further gradual subdivision is possible. 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.


Application

Interval arithmetic can be used in various areas (such as set inversion,
motion planning Motion planning, also path planning (also known as the navigation problem or the piano mover's problem) is a computational problem to find a sequence of valid configurations that moves the object from the source to destination. The term is use ...
, set estimation or stability analysis) to treat estimates with no exact numerical value.


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 that reliably includes the true result. The distance between the interval boundaries gives the current calculation of rounding errors directly: : Error = \mathrm(a-b) for a given interval ,b/math>. 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 are not known precisely. If the behavior of such a system affected by tolerances satisfies, for example, f(\mathbf, \mathbf) = 0, for \mathbf \in mathbf/math> and unknown \mathbf then the set of possible solutions :\, can be found by interval methods. This provides an alternative to traditional
propagation of error In statistics, propagation of uncertainty (or propagation of error) is the effect of variables' uncertainties (or errors, more specifically random errors) on the uncertainty of a function based on them. When the variables are the values of exp ...
analysis. Unlike point methods, such as
Monte Carlo simulation Monte Carlo methods, or Monte Carlo experiments, are a broad class of computational algorithms that rely on repeated random sampling to obtain numerical results. The underlying concept is to use randomness to solve problems that might be determi ...
, 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 Fuzzy logic is a form of many-valued logic in which the truth value of variables may be any real number between 0 and 1. It is employed to handle the concept of partial truth, where the truth value may range between completely true and completel ...
. Apart from the strict statements x\in /math> and x \not\in /math>, intermediate values are also possible, to which real numbers \mu \in ,1/math> 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'' only a finite number of discrete affiliation stages \mu_i \in ,1/math> are considered. The form of such a distribution for an indistinct value can then represented by a sequence of intervals :\left ^\right\supset \left ^\right\supset \cdots \supset \left ^ \right The interval \left ^ \right /math> corresponds exactly to the fluctuation range for the stage \mu_i. The appropriate distribution for a function f(x_1, \ldots, x_n) concerning indistinct values x_1, \ldots, x_n and the corresponding sequences :\left _1^ \right\supset \cdots \supset \left _1^ \right \ldots, \left _n^ \right\supset \cdots \supset \left _n^ \right/math> can be approximated by the sequence :\left ^\right\supset \cdots \supset \left ^\right where :\left ^\right= f \left( \left _^\right \ldots \left _^\rightright) and can be calculated by interval methods. The value \left ^\right/math> corresponds to the result of an interval calculation.


Computer-assisted proof

Warwick Tucker used interval arithmetic in order to solve the 14th of Smale's problems, that is, to show that the
Lorenz attractor The Lorenz system is a system of ordinary differential equations first studied by mathematician and meteorologist Edward Lorenz. It is notable for having chaotic solutions for certain parameter values and initial conditions. In particular, the L ...
is a strange attractor. Thomas Hales used interval arithmetic in order to solve the
Kepler conjecture The Kepler conjecture, named after the 17th-century mathematician and astronomer Johannes Kepler, is a mathematical theorem about sphere packing in three-dimensional Euclidean space. It states that no arrangement of equally sized spheres filling s ...
.


History

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 Archimedes of Syracuse (;; ) was a Greek mathematician, physicist, engineer, astronomer, and inventor from the ancient city of Syracuse in Sicily. Although few details of his life are known, he is regarded as one of the leading scientis ...
calculated lower and upper bounds 223/71 < π < 22/7 in the 3rd century BC. Actual calculation 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. Arithmetic work on range numbers to improve the reliability of digital systems were then published in a 1951 textbook on linear algebra by ; intervals were used to measure rounding errors associated with floating-point numbers. A comprehensive paper on interval algebra in numerical analysis was published by Teruo Sunaga (1958). The birth of modern interval arithmetic was marked by the appearance of the book ''Interval Analysis'' by Ramon E. Moore in 1966. He had the idea in spring 1958, and a year later he published an article about computer interval arithmetic. Its merit was that starting with a simple principle, it provided a general method for automated error analysis, not just errors resulting from rounding. Independently in 1956, Mieczyslaw Warmus suggested formulae for calculations with intervals, though Moore found the first non-trivial applications. In the following twenty years, German groups of researchers carried out pioneering work around Ulrich W. Kulisch and at the
University of Karlsruhe The Karlsruhe Institute of Technology (KIT; german: Karlsruher Institut für Technologie) is a public university, public research university in Karlsruhe, Germany. The institute is a national research center of the Helmholtz Association. KIT wa ...
and later also at the Bergische University of Wuppertal. For example, explored more effective implementations, while improved containment procedures for the solution set of systems of equations were due to Arnold Neumaier among others. In the 1960s, Eldon R. Hansen dealt with interval extensions for linear equations and then provided crucial contributions to global optimisation, including what is now known as Hansen's method, perhaps the most widely used interval algorithm. Classical methods in this often 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 Branch and bound (BB, B&B, or BnB) is an algorithm design paradigm for discrete and combinatorial optimization problems, as well as mathematical optimization. A branch-and-bound algorithm consists of a systematic enumeration of candidate solut ...
methods, which until then had only applied to integer values, by using intervals to provide applications for continuous values. In 1988, Rudolf Lohner developed Fortran-based software for reliable solutions for initial value problems using
ordinary differential equations In mathematics, an ordinary differential equation (ODE) is a differential equation whose unknown(s) consists of one (or more) function(s) of one variable and involves the derivatives of those functions. The term ''ordinary'' is used in contrast ...
. 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. In recent years work has concentrated in particular on the estimation of
preimage In mathematics, the image of a function is the set of all output values it may produce. More generally, evaluating a given function f at each element of a given subset A of its domain produces a set, called the "image of A under (or through) ...
s of parameterised functions and to robust control theory by the COPRIN working group of
INRIA The National Institute for Research in Digital Science and Technology (Inria) () is a French national research institution focusing on computer science and applied mathematics. It was created under the name ''Institut de recherche en informatiq ...
in
Sophia Antipolis (wisdom), gr, (Ἀντίπολις, antipolis) ("opposite city" from its position on the opposite side of the Var estuary from Nice, also former name of Antibes, part of the technology park) , postal_code = 06220 (Vallauris), 06250 (Mo ...
in France.


Implementations

There are many software packages that permit the development of numerical applications using interval arithmetic. These are usually provided in the form of program libraries. There are also C++ and Fortran
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs tha ...
s that handle interval data types and suitable operations as a language extension, so interval arithmetic is supported directly. Since 1967, ''Extensions for Scientific Computation'' (XSC) have been developed in the
University of Karlsruhe The Karlsruhe Institute of Technology (KIT; german: Karlsruher Institut für Technologie) is a public university, public research university in Karlsruhe, Germany. The institute is a national research center of the Helmholtz Association. KIT wa ...
for various
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
s, such as C++, Fortran and
Pascal Pascal, Pascal's or PASCAL may refer to: People and fictional characters * Pascal (given name), including a list of people with the name * Pascal (surname), including a list of people and fictional characters with the name ** Blaise Pascal, Frenc ...
. The first platform was a Zuse Z23, for which a new interval data type with appropriate elementary operators was made available. There followed in 1976,
Pascal-SC Pascal is an Imperative programming, imperative and Procedural programming, procedural programming language, designed by Niklaus Wirth as a small, efficient language intended to encourage good programming practices using structured programming an ...
, a Pascal variant on a
Zilog Z80 The Z80 is an 8-bit microprocessor introduced by Zilog as the startup company's first product. The Z80 was conceived by Federico Faggin in late 1974 and developed by him and his 11 employees starting in early 1975. The first working samples were ...
that it made possible to create fast, complicated routines for automated result verification. Then came the Fortran 77-based ACRITH-XSC for the
System/370 The IBM System/370 (S/370) is a model range of IBM mainframe computers announced on June 30, 1970, as the successors to the System/360 family. The series mostly maintains backward compatibility with the S/360, allowing an easy migration path ...
architecture (FORTRAN-SC), 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
GNU General Public License The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general ...
. 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 to correspond to the improved C++ standard. Another C++-class library was created in 1993 at the
Hamburg University of Technology The Hamburg University of Technology (in German Technische Universität Hamburg, abbreviated TUHH (HH as acronym of Hamburg state) or TU Hamburg) is a research university in Germany. The university was founded in 1978 and in 1982/83 lecturing f ...
called ''Profil/BIAS'' (Programmer's Runtime Optimized Fast Interval Library, Basic Interval Arithmetic), which made the usual interval operations more user friendly. It emphasized 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. The Frink programming language has an implementation of interval arithmetic that handles arbitrary-precision numbers. Programs written in Frink can use intervals without rewriting or recompilation. Gaol is another C++ interval arithmetic library that is unique in that it offers the relational interval operators used in interval constraint programming. The Moore library is an efficient implementation of interval arithmetic in C++. It provides intervals with endpoints of arbitrary precision and is based on the ``concepts´´ feature of C++. The Julia programming language has an implementation of interval arithmetics along with high-level features, such as root-finding (for both real and complex-valued functions) and interval constraint programming, via the ValidatedNumerics.jl package. In addition computer algebra systems, such as
FriCAS FriCAS is a general purpose computer algebra system with a strong focus on mathematical research and development of new algorithms. It comprises an interpreter, a compiler and a still-growing library of more than 1,000 domains and categories. Fr ...
,
Mathematica Wolfram Mathematica is a software system with built-in libraries for several areas of technical computing that allow machine learning, statistics, symbolic computation, data manipulation, network analysis, time series analysis, NLP, optimiza ...
,
Maple ''Acer'' () is a genus of trees and shrubs commonly known as maples. The genus is placed in the family Sapindaceae.Stevens, P. F. (2001 onwards). Angiosperm Phylogeny Website. Version 9, June 2008 nd more or less continuously updated since h ...
, Maxima (software) and MuPAD, can handle intervals. A
Matlab MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementat ...
extension ''Intlab'' builds on
BLAS Basic Linear Algebra Subprograms (BLAS) is a specification that prescribes a set of low-level routines for performing common linear algebra operations such as vector addition, scalar multiplication, dot products, linear combinations, and mat ...
routines, and the Toolbox b4m makes a Profil/BIAS interface. Moreover, the Software Euler Math Toolbox includes an interval arithmetic. A library for the functional language OCaml was written in assembly language and C.


IEEE 1788 standard

A standard for interval arithmetic, IEEE Std 1788-2015, has been approved in June 2015. Two reference implementations are freely available. These have been developed by members of the standard's working group: The libieeep1788 library for C++, and the interval package for
GNU Octave GNU Octave is a high-level programming language primarily intended for scientific computing and numerical computation. Octave helps in solving linear and nonlinear problems numerically, and for performing other numerical experiments using a lan ...
. A minimal subset of the standard, IEEE Std 1788.1-2017, has been approved in December 2017 and published in February 2018. It should be easier to implement and may speed production of implementations.


Conferences and workshops

Several international conferences or workshop take place every year in the world. The main conference is probably SCAN (International Symposium on Scientific Computing, Computer Arithmetic, and Verified Numerical Computation), but there is also SWIM (Small Workshop on Interval Methods), PPAM (International Conference on Parallel Processing and Applied Mathematics), REC (International Workshop on Reliable Engineering Computing).


See also

* Affine arithmetic *
INTLAB INTLAB (INTerval LABoratory) is an interval arithmetic libraryS.M. Rump: INTLAB – INTerval LABoratory. In Tibor Csendes, editor, Developments in Reliable Computing, pages 77–104. Kluwer Academic Publishers, Dordrecht, 1999.Moore, R. E., Kearfott ...
(Interval Laboratory) * Automatic differentiation *
Multigrid method In numerical analysis, a multigrid method (MG method) is an algorithm for solving differential equations using a hierarchy of discretizations. They are an example of a class of techniques called multiresolution methods, very useful in problems exhi ...
* Monte-Carlo simulation *
Interval finite element In numerical analysis, the interval finite element method (interval FEM) is a finite element method that uses interval parameters. Interval FEM can be applied in situations where it is not possible to get reliable probabilistic characteristics of ...
* Fuzzy number *
Significant figures Significant figures (also known as the significant digits, ''precision'' or ''resolution'') of a number in positional notation are digits in the number that are reliable and necessary to indicate the quantity of something. If a number expres ...
*
Karlsruhe Accurate Arithmetic Karlsruhe Accurate Arithmetic (KAA) or Karlsruhe Accurate Arithmetic Approach (KAAA), augments conventional floating-point arithmetic with good error behaviour with new operations to calculate scalar products with a single rounding error. The fo ...
(KAA) * Unum


References


Further reading

* * * (11 pages) (NB. About Triplex-ALGOL Karlsruhe, an ALGOL 60 (1963) implementation with support for triplex numbers.)


External links


Interval arithmetic (Wolfram Mathworld)

Validated Numerics for Pedestrians


University of Vienna The University of Vienna (german: Universität Wien) is a public research university located in Vienna, Austria. It was founded by Duke Rudolph IV in 1365 and is the oldest university in the German-speaking world. With its long and rich hi ...

SWIM (Summer Workshop on Interval Methods)

International Conference on Parallel Processing and Applied Mathematics

INTLAB, Institute for Reliable Computing
Hamburg University of Technology The Hamburg University of Technology (in German Technische Universität Hamburg, abbreviated TUHH (HH as acronym of Hamburg state) or TU Hamburg) is a research university in Germany. The university was founded in 1978 and in 1982/83 lecturing f ...

Ball arithmetic by Joris van der Hoeven


**
Arb - a C library for arbitrary-precision ball arithmetic
** * {{DEFAULTSORT:Interval Arithmetic Arithmetic Computer arithmetic Numerical analysis Data types