Interval Matrix Computations
2.5.5 Interval Matrix Computations
In order to treat multidimensional problems we introduce interval vectors and matrices. An interval vector is denoted by [x] and has interval components [x i ] = [x i ,x i ]), i = 1 : n.
Likewise an interval matrix [A] = ([a ij ]) has interval elements , - ,
a ij = a ij ,a ij , i = 1 : m, j = 1 : n. Operations between interval matrices and interval vectors are defined in an obvious manner.
The interval matrix-vector product [A][x] is the smallest interval vector, which contains the set
{Ax | A ∈ [A], x ∈ [x]}
but normally does not coincide with it. By the inclusion property it holds that n , -, -
{Ax | A ∈ [A], x ∈ [x]} ⊆ [A][x] =
a ij x j .
j =1
In general, there will be an overestimation in enclosing the image with an interval vector, caused by the fact that the image of an interval vector under a linear transformation in general is not an interval vector. This phenomenon, intrinsic to interval computations, is similar to the wrapping effect described in Example 2.5.5.
Example 2.5.6.
We have
[−1, 1] Hence b = ( 2 −1 ) T ∈ A[x], but there is no x ∈ [x] such that Ax = b. (The solution to
Ax T = b is x = ( 3/2 1/2 ) .) The magnitude of an interval vector or matrix is interpreted componentwise and
defined by
| [x] | = (| [x T 1 ] |, | [x 2 ] |, . . . , | [x
n ] |) ,
where the magnitude of the components is defined by
| [a, b] | = max{|x| | x ∈ [a, b]}.
154 Chapter 2. How to Obtain and Estimate Accuracy The ∞-norm of an interval vector or matrix is defined as the ∞-norm of its magnitude,
∞ . (2.5.13) In implementing matrix multiplication it is important to avoid case distinctions in the
inner loops, because that would make it impossible to use fast vector and matrix operations. Using interval arithmetic it is possible to compute strict enclosures of the product of two matrices. Note that this is also needed in the case of the product of two point matrices since rounding errors will usually occur.
We assume that the command
setround(i), i = −1, 0, 1,
sets the rounding mode to −∞, to nearest, and to +∞, respectively. (Recall that these rounding modes are supported by the IEEE standard.) Let A and B be point matrices and
suppose we want to compute an interval matrix [C] such that
f l(A · B) ⊂ [C] = [C inf ,C sup ].
Then the following simple code, using two matrix multiplications, does that:
setround(−1); C inf = A · B; setround(1); C sup = A · B;
We next consider the product of a point matrix A and an interval matrix [B] = [B inf ,B sup ]. The following code performs this using four matrix multiplications:
A − = min(A, 0); A + = max(A, 0); setround(−1);
C inf =A + ·B inf +A − ·B sup ; setround(1);
C sup =A − ·B inf +A + ·B sup ;
(Note that the commands A − = min(A, 0) and A + = max(A, 0) act componentwise.) An algorithm for computing the product of two interval matrices using eight matrix multipli- cations is given by Rump [308].
Fast portable codes for interval matrix computations that make use of the Basic Linear Algebra Subroutines (BLAS) and IEEE 754 standard are now available. This makes it possible to efficiently use high-performance computers for interval computation. INTLAB (INTerval LABoratory) by Rump [308, 307] is based on MATLAB, and it is particularly easy to use. It includes many useful subroutines, for example, one to compute an enclosure of the difference between the solution and an approximate solution x m = Cmid [b]. Verified solutions of linear least squares problems can also be computed.
ReviewQuestions
2.5.1 (a) Define the magnitude and mignitude of an interval I = [a, b]. (b) How is the ∞-norm of an interval vector defined?
Notes and References 155
2.5.2 Describe the two different ways of representing intervals used in real and complex interval arithmetic. Mention some of the advantages and drawbacks of each of these.
2.5.3 An important property of interval arithmetic is that the operations are inclusion mono- tonic. Define this term.
2.5.4 What is meant by the “wrapping effect” in interval arithmetic and what are its impli- cations? Give some examples of where it occurs.
2.5.5 Assume that the command
setround(i), i = −1, 0, 1,
sets the rounding mode to −∞, to nearest, and to +∞, respectively. Give a simple code that, using two matrix multiplications, computes an interval matrix [C] such that for point matrices A and B
f l(A · B) ⊂ [C] = [C inf ,C sup ].
Problems and Computer Exercises
2.5.1 Carry out the following calculations in exact interval arithmetic: (a) [0, 1] + [1, 2]; (b) [3, 3.1] − [0, 0, 2]; (c) [−4. − 1] · [−6, 5];
(d) [2, 2] · [−1, 2]; (e) [−1, 1]/[−2, −0.5]; (f) [−3, 2] · [−3.1, 2.1].
2.5.2 Show that using the operational definitions (2.5.5) the product of the disks 2c √ 1 ,r 1 3
and 2c 2 ,r 2 3 contains zero if c 1 =c 2 = 1 and r 1 =r 2 =
2.5.3 (Stoer) Using Horner’s rule and exact interval arithmetic, evaluate the cubic polyno- mial
p(x) = ((x − 3)x + 3)x, [x] = [0.9, 1.1]. Compare the result with the exact range, which can be determined by observing that
p(x) = (x − 1) 3 + 1.
2.5.4 Treat Example 1.2.2 using interval analysis and four decimal digits. Starting with the inclusion interval I 10 = [0, 1/60] = [0, 0.01667] generate successively intervals I k , k = 9 : −1 : 5, using interval arithmetic and the recursion
I n −1 = 1/(5n) − I n / 5.