Complete Interval Arith
Complete Interval Arith
Ulrich W. Kulisch
Institut für Angewandte und Numerische Mathematik
Universität Karlsruhe
Abstract: Let IIR be the set of closed and bounded intervals of real numbers. Arithmetic
in IIR can be defined via the power set IPIR (the set of all subsets) of real numbers. If
divisors containing zero are excluded, arithmetic in IIR is an algebraically closed subset
of the arithmetic in IPIR, i.e., an operation in IIR performed in IPIR gives a result that
is in IIR. Arithmetic in IPIR also allows division by an interval that contains zero. Such
division results in closed intervals of real numbers which, however, are no longer bounded.
The union of the set IIR with these new intervals is denoted by (IIR).
The paper shows that arithmetic operations can be extended to all elements of the set
(IIR). On the computer, arithmetic in (IIR) is approximated by arithmetic in the subset
(IF ) of closed intervals over the floating-point numbers F ⊂ IR. The usual exceptions of
floating-point arithmetic like underflow, overflow, division by zero, or invalid operation do
not occur in (IF ).
1
computer arithmetic should require that the basic components of modern computing
(floating-point arithmetic, interval arithmetic, and an exact dot product) should be
provided by the computer’s hardware. See [5].
2
extended interval arithmetic by defining division by an interval that contains zero.
The set IIR is a subset of the power set IPIR (which is the set of all subsets) of
real numbers. For A, B ∈ IPIR arithmetic operations are defined by
^
A ◦ B := {a ◦ b | a ∈ A ∧ b ∈ B}, for all ◦ ∈ {+, −, ·, /}. (3.1)
A,B∈IPIR
The following properties are obvious and immediate consequences of this defini-
tion:
A ⊆ B ∧ C ⊆ D ⇒ A ◦ C ⊆ B ◦ D, for all A, B, C, D ∈ IPIR, (3.2)
and in particular
The quotient a/b is defined as the inverse operation of multiplication, i.e., as the
solution of the equation b · x = a. Thus (3.4) can be written in the form
^
A/B := {x | bx = a ∧ a ∈ A ∧ b ∈ B}. (3.5)
A,B∈IIR
For 0 ∈/ B (3.4) and (3.5) are equivalent. While in IR division by zero is not
defined, the representation of A/B by (3.5) allows definition of the operation and
also interpretation of the result for 0 ∈ B.
By way of interpreting (3.5) for A = [a1 , a2 ] and B = [b1 , b2 ] ∈ IIR with 0 ∈ B
the following eight distinct cases can be set out:
1 0 ∈ A, 0 ∈ B.
2 0∈/ A, B = [0, 0].
3 a1 ≤ a2 < 0, b1 < b2 = 0.
4 a1 ≤ a2 < 0, b1 < 0 < b2 .
5 a1 ≤ a2 < 0, 0 = b1 < b2 .
6 0 < a1 ≤ a2 , b1 < b2 = 0.
7 0 < a1 ≤ a2 , b1 < 0 < b2 .
8 0 < a1 ≤ a2 , 0 = b1 < b2 .
The list distinguishes the cases 0 ∈ A (case 1) and 0 ∈/ A (cases 2 to 8). Since
it is generally assumed that 0 ∈ B, these eight cases indeed cover all possibilities.
2 as the integers are of the real numbers.
3
Since every x ∈ IR fulfills the equation 0 · x = 0 we obtain in case 1: A/B =
IR = (−∞, +∞). Here the parentheses indicate that the bounds are not included
in the set. In case 2 the set defined by (3.5) consists of all elements which fulfill the
equation 0 · x = a for a ∈ A. Since 0 ∈/ A, there is no real number which fulfills this
equation. Thus A/B is the empty set, i.e., A/B = ∅.
Table 1: The eight cases of interval division A/B, with A, B ∈ IIR, and 0 ∈ B.
In all other cases 0 ∈ / A also. We have already observed under case 2 that
the element 0 in B does not contribute to the solution set. So it can be excluded
without changing the set A/B.
So the general rule for computing the set A/B by (3.5) is to remove its zero from
the interval B and replace it by a small positive or negative number ǫ as the case
may be. The resulting set is denoted by B ′ and represented in column 4 of Table 1.
With this B ′ the solution set A/B ′ can now easily be computed by applying the
rules for closed and bounded real intervals. The results are shown in column 5 of
Table 1. Now the desired result A/B as defined by (3.5) is obtained if in column 5
ǫ tends to zero.
Thus in the cases 3 to 8 the results are obtained by the limit process A/B =
lim A/B ′ . The solution set A/B is shown in the last column of Table 1 for all the
ǫ→0
eight cases. There, as usual in mathematics, parentheses indicate that the bound
is not included in the set. In contrast to this, brackets denote closed interval ends,
i.e., the bound is included.
The operands A and B of the division A/B in Table 1 are intervals of IIR. The
results of the division shown in the last column, however, are no longer intervals
of IIR. The result is now an element of the power set IPIR. With the exception of
case 2 the result is now a set which stretches continuously to −∞ or +∞ or both.
In two cases (rows 4 and 7 in Table 1) the result consists of the union of two
distinct sets of the form (−∞, c2 ] ∪ [c1 , +∞). These cases can easily be identified by
the signs of the bounds of the divisor before the division is executed. (For interval
multiplication and division a case selection has to be done before the operations
are performed). With existing processors only one interval can be delivered as the
result of an interval operation. In the cases 4 and 7 of Table 1 the result, however,
can be returned as an improper interval [c1 , c2 ] where the left hand bound is higher
4
than the right hand bound. Motivated by the extended interval Newton method3
it is reasonable to separate these results into the two distinct sets: (−∞, c2 ] and
[c1 , +∞). The fact that an arithmetic operation delivers two distinct results might
seem to be a totally new situation in computing. Evaluation of the square root,
however, also delivers two results and we have learned to live with it. Computing
certainly is able to deal with this situation.
In principle, a solution to the problem would be for the computer to provide a
flag for distinct intervals. The situation occurs if the divisor is an interval that
contains zero as an interior point. In cases 4 and 7 of Table 1 the flag would be
raised and signaled to the user. The user may then apply a routine of his choice to
deal with the situation as is appropriate for his application.4
If during a computation in the real number field zero appears as a divisor the
computation should be stopped immediately. In floating-point arithmetic the sit-
uation is different. Zero may be the result of an underflow. In such a case a cor-
responding interval computation would not deliver zero but a small interval with
zero as one bound and a tiny positive or negative number as the other bound. In
this case division is well defined by Table 1. The result is a closed interval which
stretches continuously to −∞ or +∞ as the case may be.
In the real number field zero as a divisor is an accident. So in interval arithmetic
division by an interval that contains zero as an interior point certainly will be a very
rare appearance. An exception is the interval Newton method. Here, however, it is
clear how the situation has to be handled. See, for instance, [4].
In the literature an improper interval [c1 , c2 ] with c1 > c2 occasionally is called
an ’exterior interval’. On the number circle an ’exterior interval’ is interpreted as an
interval with infinity as an interior point. We do not follow this line here. Interval
arithmetic is defined as an arithmetic for sets of real numbers. Operations for real
numbers which deliver ∞ as their result do not exist. Here and in the following the
symbols −∞ and +∞ are only used to describe sets of real numbers.
After the splitting of improper intervals into two distinct sets only four kinds of
result come from division by an interval of IIR which contains zero:
method. If division by an interval that contains zero delivers two distinct sets the computation
is continued along two separate paths, one for each interval. This is how the extended interval
Newton method separates different zeros from each other and finally computes all zeros in a given
domain. If the interval Newton method delivers the empty set, the method has proved that there
is no zero in the initial interval.
4 This routine could be: modify the operands and recompute, or continue the computation
with one of the sets and ignore the other one, or put one of the sets on a list and continue the
computation with the other one, or return the entire set of real numbers (−∞, +∞) as result and
continue the computation, or stop computing, or ignore the flag, or any other action.
5
To transform the eight cases of division by an interval of IIR which contains
zero into computer executable operations we assume now that the operands A and
B are floating-point intervals of IF . To obtain a computer representable result
we round the result shown in the last column of Table 1 into the least computer
representable superset. That is, the lower bound of the result has to be computed
with rounding downwards and the upper bound with rounding upwards. Thus on
the computer the eight cases of division by an interval of IF which contains zero
have to be performed as shown in Table 2.
Table 2 and Table 3 display the eight distinct cases of interval division A ♦
/ B
6
is the set of closed intervals of real numbers where all finite bounds are elements of
F.
7
5 Complete Arithmetic for Intervals of (IF )
8
[b1 , b2 ] [b1 , b2 ] [b1 , b2 ] (−∞, b2 ] (−∞, b2 ] [b1 , +∞) [b1 , +∞)
Multiplication b2 ≤ 0 b1 < 0 < b 2 b1 ≥ 0 [0, 0] b2 ≤ 0 b2 ≥ 0 b1 ≤ 0 b1 ≥ 0 (−∞, +∞)
[a1 , a2 ], a2 ≤ 0 · b2, a 1 △
[a 2 ▽ · b1] [a 1 ▽· b2, a 1 △ · b1] · b2, a 2 △
[a 1 ▽ · b1] [0, 0] · b2 , +∞)
[a2 ▽ · b2 , +∞)
[a1 ▽ (−∞, a1 △ · b1 ] (−∞, a2 △ · b1 ] (−∞, +∞)
a1 < 0 < a 2 · b1, a 1 △
[a 2 ▽ · b1] [min(a 1 ▽ · b2, a 2 ▽ · b 1 ), · b2, a 2 △
[a 1 ▽ · b2] [0, 0] (−∞, +∞) (−∞, +∞) (−∞, +∞) (−∞, +∞) (−∞, +∞)
max(a 1 △· b1, a 2 △
· b 2 )]
[a1 , a2 ], a1 ≥ 0 [a 2 ▽· b1, a 1 △ · b2] · b1, a 2 △
[a 2 ▽ · b2] · b1, a 2 △
[a 1 ▽ · b2] [0, 0] (−∞, a1 △ · b2 ] (−∞, a2 △ · b2 ] · b1 , +∞)
[a2 ▽ · b1 , +∞)
[a1 ▽ (−∞, +∞)
[0, 0] [0, 0] [0, 0] [0, 0] [0, 0] [0, 0] [0, 0] [0, 0] [0, 0] [0, 0]
9
(−∞, a2 ], a2 ≤ 0 ▽
[a2 b1 , +∞)
/
(−∞, a2 △ / b ]
2 [0, +∞) (−∞, 0]
(−∞, a2 ], a2 ≥ 0 [a2 ▽ b2 , +∞)
/
(−∞, a2 △ / b ]
1 [a2 ▽/
b2 , +∞) (−∞, a2 △ / b ]
1
[a1 , +∞), a1 ≤ 0 (−∞, a1 △ / b ]
2 [a1 ▽
/
b1 , +∞) (−∞, a1 △ / b ]
2 ▽
[a1 b1 , +∞)
/
∪ [a2 ▽
/
b1 , +∞) ∪ [0, +∞) ∪ [a2 ▽
/
b1 , +∞)
(−∞, a2 ], a2 > 0 (−∞, +∞) (−∞, +∞) (−∞, +∞) (−∞, +∞) (−∞, +∞) (−∞, +∞) (−∞, +∞) (−∞, +∞) (−∞, +∞)
[a1 , +∞), a1 < 0 (−∞, +∞) (−∞, +∞) (−∞, +∞) (−∞, +∞) (−∞, +∞) (−∞, +∞) (−∞, +∞) (−∞, +∞) (−∞, +∞)
[a1 , +∞), a1 > 0 ∅ (−∞, a1 △
/ b1 ] (−∞, a1 △ / b1 ] [a1 ▽
/
b2 , +∞) (−∞, 0] (−∞, 0] (−∞, a1 △ / b1 ] [0, +∞) (−∞, +∞)
∪ [a1 ▽
/
b2 , +∞) ∪ [a1 ▽
/
b2 , +∞) ∪ [0, +∞)
(−∞, +∞) (−∞, +∞) (−∞, +∞) (−∞, +∞) (−∞, +∞) (−∞, +∞) (−∞, +∞) (−∞, +∞) (−∞, +∞) (−∞, +∞)
∞ + x = ∞, −∞ + x = −∞,
−∞ + (−∞) = (−∞) · ∞ = −∞, ∞ + ∞ = ∞ · ∞ = ∞,
∞ · x = ∞ for x > 0, ∞ · x = −∞ for x < 0,
x x
∞ = −∞ = 0,
together with variants obtained by applying the sign rules and the law of commu-
tativity. If in an interval operand a bound is −∞ or +∞ the multiplication with 0
is performed as if the following rules would hold
0 · (−∞) = 0 · (+∞) = (−∞) · 0 = (+∞) · 0 = 0.
These rules have no meaning otherwise.
12
The intersection of an interval with the empty set is the empty set. The interval
hull with the empty set is the other operand.
If in the formulas for glb(A, B), lub(A, B), inf (A, B), sup(A, B), a bound is −∞
or +∞ a parenthesis should be used at this interval bound to denote the resulting
interval. This bound is not an element of the interval.
If in any of the comparison relations defined here both operands are the empty
set, the result is true. If in (6.2) A is the empty set the result is true. Otherwise
the result is false if in any of the three comparison relations only one operand is the
empty set.5
A particular case of inclusion is the relation element of. It is defined by
a ∈ B :⇔ b1 ≤ a ∧ a ≤ b2 . (6.3)
Another useful check is for whether an interval [a1 , a2 ] is a proper interval, that
is, if a1 ≤ a2 .
7 Evaluation of Functions
Interval evaluation of real functions fits smoothly into complete interval arithmetic
as developed in the previous sections. Let f be a function and Df its domain of
definition. For an interval X ⊆ Df , the range f (X) of f is defined as the set of the
function’s values for all x ∈ X:
It has been suggested in the literature that the entire set of real numbers (−∞, +∞)
be returned as result in this case. However, this may be a large overestimation of the
true result and there are applications (Newton’s method) which need the accurate
answer. To return the entire set of real numbers is also against a basic principle
of interval arithmetic—to keep the sets as small as possible. So a standard should
have the most accurate answer returned.
5 A convenient encoding of the empty set may be ∅ = [+N aN, −N aN ]. Then most comparison
relations and lattice operations considered in this section would deliver the correct answer if
conventional rules for N aN are applied. However, if A = ∅ then set inclusion (6.2) and computing
the interval hull do not follow this rule. So in these two cases whether A = ∅ must be checked
before the operations can be executed.
13
A somewhat natural solution would be to continue the computation on different
processors, one for each interval. But the situation can occur repeatedly. How many
processors would we need? Future multicore units will provide a large number of
processors. They will suffice for a quite while. A similar situation occurs in global
optimization using subdivision. After a certain test several candidates may be left
for further investigation.
On the computer, interval evaluation of a real function f (x) for X ⊆ Df should
deliver a highly accurate enclosure of the range f (X) of the function.
Evaluation of a function f (x) for an interval X with X ∩ Df = ∅, of course,
does not make sense, since f (x) is not defined for values outside of its domain Df .
The computation should be terminated and an error message given to the user.
There are, however, applications in interval arithmetic where information about
a function f is useful when X exceeds the domain Df of f . The interval X may
also be the result of overestimation during an earlier interval computation.
In such cases the range of f can only be computed for the intersection
X ′ := X ∩ Df :
f (X ′ ) := f (X ∩ Df ) := {f (x)|x ∈ X ∩ Df }. (7.2)
To prevent the wrong conclusions being drawn, the user must be informed that the
interval X had to be reduced to X ′ := X ∩ Df to compute the delivered range. A
particular flag for domain overflow may serve this purpose. An appropriate routine
can be chosen and applied if this flag is raised.
We give a few examples:
References
[1] Alefeld, G., Herzberger, J.: Introduction to Interval Computations. Academic
Press, New York, 1983.
[2] Kahan, W.: A More Complete Interval Arithmetic. Lecture Notes prepared for
a summer course at the University of Michigan, June 17-21, 1968.
14
[3] Kirchner, R., Kulisch, U.: Hardware support for interval arithmetic. Reliable
Computing 12:3, 225–237, 2006.
[5] IFIPWG-IEEE754R: Letter of the IFIP WG 2.5 to the IEEE Computer Arith-
metic Revision Group, 2007.6
[6] Moore, R. E.: Interval Analysis. Prentice Hall Inc., Englewood Cliffs, New
Jersey, 1966.
[7] Moore, R. E.: Methods and Applications of Interval Analysis. SIAM, Philadel-
phia, Pennsylvania, 1979.
[8] Ratz, D.: On Extended Interval Arithmetic and Inclusion Isotony. Preprint,
Institut für Angewandte Mathematik, Universität Karlsruhe, 1999.
15