Moore 1966
Moore 1966
INTERVAL ANALYSIS
Ramon E. Moore
Worthington, Ohio
R. Baker Kearfott
University of Louisiana at Lafayette
Lafayette, Louisiana
Michael J. Cloud
Lawrence Technological University
Southfield, Michigan
10 9 8 7 6 5 4 3 2 1
All rights reserved. Printed in the United States of America. No part of this book may be reproduced, stored,
or transmitted in any manner without the written permission of the publisher. For information, write to
the Society for Industrial and Applied Mathematics, 3600 Market Street, 6th Floor, Philadelphia, PA,
19104-2688 USA.
Trademarked names may be used in this book without the inclusion of a trademark symbol. These names are
used in an editorial context only; no infringement of trademark is intended.
COSY INFINITY is copyrighted by the Board of Trustees of Michigan State University.
GlobSol is covered by the Boost Software License Version 1.0, August 17th, 2003. Permission is hereby
granted, free of charge, to any person or organization obtaining a copy of the software and accompanying
documentation covered by this license (the “Software”) to use, reproduce, display, distribute, execute, and
transmit the Software, and to prepare derivative works of the software, and to permit third-parties to whom
the Software is furnished to do so, all subject to the following:
The copyright notices in the Software and this entire statement, including he above license grant, this
restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part,
and all derivative works of the Software, unless such copies or derivative works are solely in the form of
machine-executable object code generated by a source language processor.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE
BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
INTLAB is copyrighted © 1998-2008 by Siegfried M. Rump @ TUHH, Institute for Reliable Computing.
Linux is a registered trademark of Linus Torvalds.
Mac OS is a trademark of Apple Computer, Inc., registered in the United States and other countries.
Introduction to Interval Analysis is an independent publication and has not been authorized, sponsored,
or otherwise approved by Apple Computer, Inc.
Maple is a registered trademark of Waterloo Maple, Inc.
Mathematica is a registered trademark of Wolfram Research, Inc.
MATLAB is a registered trademark of The MathWorks, Inc. For MATLAB product information, please contact
The MathWorks, Inc., 3 Apple Hill Drive, Natick, MA 01760-2098 USA, 508-647-7000, Fax: 508-647-7001,
[email protected], www.mathworks.com.
Windows is a registered trademark of Microsoft Corporation in the United States and/or other countries.
Moore, Ramon E.
Introduction to interval analysis / Ramon E. Moore, R. Baker Kearfott, Michael J. Cloud.
p. cm.
Includes bibliographical references and index.
ISBN 978-0-898716-69-6
1. Interval analysis (Mathematics) I. Kearfott, R. Baker. II. Cloud, Michael J. III. Title.
QA297.75.M656 2009
511’.42—dc22
2008042348
is a registered trademark.
interval
i i
2008/11/18
page v
i i
Contents
Preface ix
1 Introduction 1
1.1 Enclosing a Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Bounding Roundoff Error . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Number Pair Extensions . . . . . . . . . . . . . . . . . . . . . . . . . 5
6 Interval Sequences 51
6.1 A Metric for the Set of Intervals . . . . . . . . . . . . . . . . . . . . . 51
6.2 Refinement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
i i
i i
interval
i i
2008/11/18
page vi
i i
vi Contents
7 Interval Matrices 85
7.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.2 Interval Matrices and Dependency . . . . . . . . . . . . . . . . . . . 86
7.3 INTLAB Support for Matrix Operations . . . . . . . . . . . . . . . . 87
7.4 Systems of Linear Equations . . . . . . . . . . . . . . . . . . . . . . 88
7.5 Linear Systems with Inexact Data . . . . . . . . . . . . . . . . . . . . 92
7.6 More on Gaussian Elimination . . . . . . . . . . . . . . . . . . . . . 100
7.7 Sparse Linear Systems Within INTLAB . . . . . . . . . . . . . . . . 101
7.8 Final Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
11 Applications 157
11.1 Computer-Assisted Proofs . . . . . . . . . . . . . . . . . . . . . . . . 157
11.2 Global Optimization and Constraint Satisfaction . . . . . . . . . . . . 159
11.2.1 A Prototypical Algorithm . . . . . . . . . . . . . . . . . 159
11.2.2 Parameter Estimation . . . . . . . . . . . . . . . . . . . 161
11.2.3 Robotics Applications . . . . . . . . . . . . . . . . . . . 162
11.2.4 Chemical Engineering Applications . . . . . . . . . . . . 163
11.2.5 Water Distribution Network Design . . . . . . . . . . . . 164
11.2.6 Pitfalls and Clarifications . . . . . . . . . . . . . . . . . 164
11.2.7 Additional Centers of Study . . . . . . . . . . . . . . . . 167
11.2.8 Summary of Links for Further Study . . . . . . . . . . . 168
i i
i i
interval
i i
2008/11/18
page vii
i i
Contents vii
B Formulary 177
References 201
Index 219
i i
i i
interval
i i
2008/11/18
page viii
i i
i i
i i
interval
i i
2008/11/18
page ix
i i
Preface
This book is intended primarily for those not yet familiar with methods for computing
with intervals of real numbers and what can be done with these methods.
Using a pair [a, b] of computer numbers to represent an interval of real numbers
a ≤ x ≤ b, we define an arithmetic for intervals and interval valued extensions of functions
commonly used in computing. In this way, an interval [a, b] has a dual nature. It is a new kind
of number pair, and it represents a set [a, b] = {x : a ≤ x ≤ b}. We combine set operations
on intervals with interval function evaluations to get algorithms for computing enclosures
of sets of solutions to computational problems. A procedure known as outward rounding
guarantees that these enclosures are rigorous, despite the roundoff errors that are inherent
in finite machine arithmetic. With interval computation we can program a computer to find
intervals that contain—with absolute certainty—the exact answers to various mathematical
problems. In effect, interval analysis allows us to compute with sets on the real line.
Interval vectors give us sets in higher-dimensional spaces. Using multinomials with interval
coefficients, we can compute with sets in function spaces.
In applications, interval analysis provides rigorous enclosures of solutions to model
equations. In this way we can at least know for sure what a mathematical model tells
us, and, from that, we might determine whether it adequately represents reality. Without
rigorous bounds on computational errors, a comparison of numerical results with physical
measurements does not tell us how realistic a mathematical model is.
Methods of computational error control, based on order estimates for approximation
errors, are not rigorous—nor do they take into account rounding error accumulation. Linear
sensitivity analysis is not a rigorous way to determine the effects of uncertainty in initial
parameters. Nor are Monte Carlo methods, based on repetitive computation, sampling
assumed density distributions for uncertain inputs. We will not go into interval statistics
here or into the use of interval arithmetic in fuzzy set theory.
By contrast, interval algorithms are designed to automatically provide rigorous bounds
on accumulated rounding errors, approximation errors, and propagated uncertainties in
initial data during the course of the computation.
Practical application areas include chemical and structural engineering, economics,
control circuitry design, beam physics, global optimization, constraint satisfaction, asteroid
orbits, robotics, signal processing, computer graphics, and behavioral ecology.
Interval analysis has been used in rigorous computer-assisted proofs, for example,
Hales’ proof of the Kepler conjecture.
An interval Newton method has been developed for solving systems of nonlinear equa-
tions. While inheriting the local quadratic convergence properties of the ordinary Newton
ix
i i
i i
interval
i i
2008/11/18
page x
i i
x Preface
method, the interval Newton method can be used in an algorithm that is mathematically
guaranteed to find all roots within a given starting interval.
Interval analysis permits us to compute interval enclosures for the exact values of
integrals. Interval methods can bound the solutions of linear systems with inexact data.
There are rigorous interval branch-and-bound methods for global optimization, constraint
satisfaction, and parameter estimation problems.
The book opens with a brief chapter intended to get the reader into a proper mindset
for learning interval analysis. Hence its main purpose is to provide a bit of motivation and
perspective. Chapter 2 introduces the interval number system and defines the set operations
(intersection and union) and arithmetic operations (addition, subtraction, multiplication,
and division) needed to work within this system.
The first applications of interval arithmetic appear in Chapter 3. Here we introduce
outward rounding and demonstrate how interval computation can automatically handle
the propagation of uncertainties all the way through a lengthy numerical calculation. We
also introduce INTLAB, a powerful and flexible MATLAB toolbox capable of performing
interval calculations.
In Chapter 4, some further properties of interval arithmetic are covered. Here the
reader becomes aware that not all the familiar algebraic properties of real arithmetic carry
over to interval arithmetic. Interval functions—residing at the heart of interval analysis—are
introduced in Chapter 5. Chapter 6 deals with sequences of intervals and interval functions,
material needed as preparation for the iterative methods to be treated in Chapter 7 (on
matrices) and Chapter 8 (on root finding). Chapter 9 is devoted to integration of interval
functions, with an introduction to automatic differentiation, an important tool in its own
right. Chapter 10 treats integral and differential equations. Finally, Chapter 11 introduces
an array of applications including several of those (optimization, etc.) mentioned above.
Various appendices serve to round out the book. Appendix A offers a brief review
of set and function terminology that may prove useful for students of engineering and the
sciences. Appendix B, the quick-reference Formulary, provides a convenient handbook-
style listing of major definitions, formulas, and results covered in the text. In Appendix C
we include hints and answers for most of the exercises that appear throughout the book.
Appendix D discusses Internet resources (such as additional reading material and software
packages—most of them freely available for download) relevant to interval computation.
Finally, Appendix E offers a list of INTLAB commands.
Research, development, and application of interval methods is now taking place in
many countries around the world, especially in Germany, but also in Austria, Belgium,
Brazil, Bulgaria, Canada, China, Denmark, Finland, France, Hungary, India, Japan, Mexico,
Norway, Poland, Spain, Sweden, Russia, the UK, and the USA. There are published works
in many languages. However, our references are largely to those in English and German,
with which the authors are most familiar. We cannot provide a comprehensive bibliography
of publications, but we have attempted to include at least a sampling of works in a broad
range of topics.
The assumed background for the first 10 chapters is basic calculus plus some famil-
iarity with the elements of scientific computing. The application topics of Chapter 11 may
require a bit more background, but an attempt has been made to keep much of the presentation
accessible to the nonspecialist, including senior undergraduates or beginning graduate stu-
dents in engineering, the sciences (physical, biological, economic, etc.), and mathematics.
i i
i i
interval
i i
2008/11/18
page xi
i i
Preface xi
Of the various interval-based software packages that are available, we chose INTLAB
for several reasons. It is fully integrated into the interactive, programmable, and highly
popular MATLAB system. It is carefully written, with all basic interval computations
represented. Finally, both MATLAB and INTLAB code can be written in a fashion that is
clear and easy to debug.
We wish to cordially thank George Corliss, Andreas Frommer, and Siegfried Rump,
as well as the anonymous reviewers, for their many constructive comments. We owe
Siegfried Rump additional thanks for developing INTLAB and granting us permission to
use it in this book. Edward Rothwell and Mark Thompson provided useful feedback on
the manuscript. We are deeply grateful to the staff of SIAM, including Senior Acquisitions
Editor Elizabeth Greenspan, Developmental Editor Sara J. Murphy, Managing Editor Kelly
Thomas, Production Manager Donna Witzleben, Production Editor Ann Manning Allen,
Copy Editor Susan Fleshman, and Graphic Designer Lois Sellers.
The book is dedicated to our wives: Adena, Ruth, and Beth.
Ramon E. Moore
R. Baker Kearfott
Michael J. Cloud
i i
i i
interval
i i
2008/11/18
page xii
i i
i i
i i
interval
i i
2008/11/18
page 1
i i
Chapter 1
Introduction
x2 − 2 = 0
√
has the positive solution 2. We understand that there is more to this symbol than meets
the eye; the number it designates cannot be represented exactly with a finite number of
digits. Indeed, the notion of irrational number entails some process of approximation from
above and below. Archimedes (287–212 BCE) was able to bracket π by taking a circle and
considering inscribed and circumscribed polygons. Increasing the numbers of polygonal
sides, he obtained both an increasing sequence of lower bounds and a decreasing sequence
of upper bounds for this irrational number.
Exercise 1.1. Carry out the details of Archimedes’ method for a square and a hexagon.
(Note: Hints and answers to many of the exercises can be found in Appendix C.)
Aside from irrational numbers, many situations involve quantities that are not exactly
representable. In machine computation, representable lower and upper bounds are required
to describe a solution rigorously. This statement deserves much elaboration; we shall return
to it later on.
The need to enclose a number also arises in the physical sciences. Since an exper-
imentally measured quantity will be known with only limited accuracy, any calculation
i i
i i
interval
i i
2008/11/18
page 2
i i
2 Chapter 1. Introduction
involving this quantity must begin with inexact initial data. Newton’s law
F = ma (1.1)
permits us to solve for the acceleration a of a body exactly only when the force F and mass
m are known exactly (i.e., to unlimited decimal precision). If the latter quantities are known
only to lie in certain ranges, say,
F0 − F ≤ F ≤ F0 + F and
m0 − m ≤ m ≤ m0 + m,
then a can only be bounded above and below:
al ≤ a ≤ au . (1.2)
For a relation as simple as (1.1), it is easy to determine how al and au depend on F0 , m0 ,
F , and m.
Exercise 1.2. Carry out this derivation to find explicit bounds on a.
For more complicated relations, however, ordinary algebra can be cumbersome. The
techniques of interval analysis will render the computation of bounds routine. In fact,
interval computation was designed for machine implementation! Examples involving hand
computation will appear throughout the book, but the reader should bear in mind that this
is only for learning purposes.
In interval analysis, we phrase inequality statements in terms of closed intervals on
the real line. We think of an interval as a set of numbers, which we commonly1 represent
as an ordered pair. Instead of (1.2), for instance, we write
a ∈ [al , au ] . (1.3)
We call the interval [al , au ] an enclosure of a. The use of simple set notation will repay us
many times over in the book; the reader can find a review and summary of this notation in
Appendix A. Henceforth, we will prefer notation of the form (1.3) to that of (1.2). However,
it is important to keep in mind that placing a number within a closed interval is the same as
bounding it above and below.
Let us return to our discussion of scientific calculations. We noted above that mea-
surement error can give rise to uncertainty in “initial data” such as F and m in (1.1). The
general sense is that we would like to know F and m exactly so that we can get a exactly.
In other circumstances, however, we might wish to treat F and m as parameters and inten-
tionally vary them to see how a varies. Mathematically, this problem is still treated as in
Exercise 1.2, but the shift in viewpoint is evident.
We have one more comment before we end this section. The act of merely enclosing
a solution might seem rather weak. After all, it fails to yield the solution itself. While this
is true, the degree of satisfaction involved in enclosing a solution can depend strongly on
the tightness of the enclosure obtained. The hypothetical math teacher of the first paragraph
might be much happier with answers of the form
x1 ∈ [−3.001, −2.999], x2 ∈ [1.999, 2.001].
1 Other representations are discussed in Chapter 3.
i i
i i
interval
i i
2008/11/18
page 3
i i
x ∈ [0.66666, 0.66667],
then we do know x to four places. Moreover, there are times when we can and should be
satisfied with rather loose bounds on a solution. It might be better to know that y ∈ [59, 62]
rigorously than to have an “answer” of the form y ≈ 60 with no idea of how much error
might be present. If we can compute an interval [a, b] containing an exact solution x to some
problem, then we can take the midpoint m = (a + b)/2 of the interval as an approximation
to x and have |x − m| ≤ w/2, where w = b − a is the width of the interval. Hence we
obtain both an approximate solution and error bounds on the approximation.
Exercise 1.3. A computation shows that the mass M of a certain body lies in the
interval [3.7, 3.8] kg. State an approximation for M along with error bounds on this
approximation.
and suppose that x0 = 1 − 10−21 . We seek x75 . Performing the computation with 10-place
arithmetic, we obtain the approximate values
x0 = 1, x1 = 1, ..., x75 = 1.
Using 20-place arithmetic, we obtain the same sequence of values; hence the two values of
x75 agree to all 10 places carried in the first computation. However, the exact value satisfies
x75 < 10−10 .
Exercise 1.4. Verify this.
Example 1.1 illustrates that repeating a calculation with higher-precision arithmetic
and obtaining the same answer does not show that the answer is correct. The reason
was simply that x1 is not representable exactly in either 10- or 20-place arithmetic. The
next example, first given by Rump in [220], shows that the problem can occur in a more
subtle way.
i i
i i
interval
i i
2008/11/18
page 4
i i
4 Chapter 1. Introduction
Computing powers by successive multiplications on an IBM 370 system using single, dou-
ble, and extended precision (approximately 7, 16, and 33 decimal digits, respectively),
Rump obtained the following results:
The underlining indicates agreement in digits from one computation to the next. We might
be tempted to conclude that f is close to 1.172603. However, the exact result is f =
−0.827396 . . . .
Exercise 1.5. How many digits of precision are required to find the value of f in Exam-
ple 1.2 correct to six decimal digits? Can we know when we have these six digits correct?
Preliminary hint: We will discuss INTLAB in Chapter 3, after explaining machine imple-
mentations of interval arithmetic. Example 3.6 gives an INTLAB program that can compute
rigorous bounds for f to a specified accuracy.
These examples make it clear that repeating a calculation with more precision does
not necessarily provide a basis for determining the accuracy of the results. In many cases2
it is true that by carrying enough places a result of arbitrarily high accuracy can be found in
any computation involving only a finite number of real arithmetic operations beginning with
exactly known real numbers. However, it is often prohibitively difficult to tell in advance of
a computation how many places must be carried to guarantee results of required accuracy.
If instead of simply computing a numerical approximation using limited-precision
arithmetic and then worrying later about the accuracy of the results, we proceed in the spirit
of the method of Archimedes to construct intervals known in advance to contain the desired
exact result, then our main concerns will be the narrowness of the intervals we obtain and
the amount of computation required to get them. The methods treated in this book will
yield for Example 1.1, for instance, an interval close to [0, 1] using only 10-place interval
arithmetic. However, they will yield an interval of arbitrarily small width containing the
exact result by carrying enough places. In this case, obviously, more than 20 places are
needed to avoid getting 1 for the value of x0 .
We have chosen just two examples for illustration. There are many others in which
the results of single, double, and quadruple precision arithmetic all agree to the number of
places carried but are all wrong—even in the first digit.
2 There are cases in which no amount of precision can rectify a problem, such as when a final result depends on
testing exact equality between the result of a floating point computation and another floating point number. The
code “IF sin(2 · arccos(0)) == 0 THEN f = 0 ELSE f = 1” should return f = 0, but it may always return
f = 1 regardless of the precision used.
i i
i i
interval
i i
2008/11/18
page 5
i i
to add complex numbers. Pairs of special form are equivalent to numbers of the original
type: for example, each complex number of the form (x, 0) is equivalent to a real number x.
In Chapter 2 we will consider another such extension of the real numbers—this time,
to the system of closed intervals.
i i
i i
interval
i i
2008/11/18
page 6
i i
i i
i i
interval
i i
2008/11/18
page 7
i i
Chapter 2
[a, b] = {x ∈ R : a ≤ x ≤ b}.
Although various other types of intervals (open, half-open) appear throughout mathematics,
our work will center primarily on closed intervals. In this book, the term interval will mean
closed interval.
Two intervals X and Y are said to be equal if they are the same sets. Operationally, this
happens if their corresponding endpoints are equal:
Degenerate Intervals
We say that X is degenerate if X = X. Such an interval contains a single real number x.
By convention, we agree to identify a degenerate interval [x, x] with the real number x. In
this sense, we may write such equations as
i i
i i
interval
i i
2008/11/18
page 8
i i
X ∩ Y = ∅,
indicating that X and Y have no points in common. Otherwise, we may define the intersec-
tion X ∩ Y as the interval
X ∩ Y = {z : z ∈ X and z ∈ Y }
= max{X, Y } , min{X, Y } . (2.4)
X ∪ Y = {z : z ∈ X or z ∈ Y }
= min{X, Y } , max{X, Y } . (2.5)
In general, the union of two intervals is not an interval. However, the interval hull of two
intervals, defined by
X ∪ Y = min{X, Y } , max{X, Y } , (2.6)
is always an interval and can be used in interval computations. We have
X ∪ Y ⊆ X∪Y (2.7)
Importance of Intersection
Intersection plays a key role in interval analysis. If we have two intervals containing a
result of interest—regardless of how they were obtained—then the intersection, which may
be narrower, also contains the result.
Example 2.2. Suppose two people make independent measurements of the same physical
quantity q. One finds that q = 10.3 with a measurement error less than 0.2. The other
finds that q = 10.4 with an error less than 0.2. We can represent these measurements as the
intervals X = [10.1, 10.5] and Y = [10.2, 10.6], respectively. Since q lies in both, it also
lies in X ∩ Y = [10.2, 10.5]. An empty intersection would imply that at least one of the
measurements is wrong.
i i
i i
interval
i i
2008/11/18
page 9
i i
w(X) = X − X. (2.8)
2. The absolute value of X, denoted |X|, is the maximum of the absolute values of its
endpoints:
|X| = max{|X|, |X|}. (2.9)
Note that |x| ≤ |X| for every x ∈ X.
3. The midpoint of X is given by
|X| = max{0, 2} = 2.
i i
i i
interval
i i
2008/11/18
page 10
i i
Recalling the notation of (2.3), we can call X positive if X > 0 or negative if X < 0. That
is, we have X > 0 if x > 0 for all x ∈ X.
Another transitive order relation for intervals is set inclusion:
For example, we have [1, 3] ⊆ [0, 3]. This is a partial ordering: not every pair of intervals
is comparable under set inclusion. For example, if X and Y are overlapping intervals such
as X = [2, 5] and Y = [4, 20], then X is not contained in Y , nor is Y contained in X.
However, X ∩ Y = [4, 5], contained in both X and Y .
[x, x] ↔ x (2.14)
between the elements of the two systems. Let us take the next step in regarding an interval
as a new type of numerical quantity.
X − Y = {x − y : x ∈ X, y ∈ Y }. (2.16)
X · Y = {xy : x ∈ X, y ∈ Y }. (2.17)
i i
i i
interval
i i
2008/11/18
page 11
i i
provided3 that 0 ∈
/ Y . Since all these definitions have the same general form, we can
summarize them by writing
X Y = {x y : x ∈ X, y ∈ Y }, (2.19)
where stands for any of the four binary operations introduced above. We could, in fact,
go further and define functions of interval variables by treating these, in a similar fashion,
as “unary operations.” That is, we can define
where, say, f (x) = x 2 or f (x) = sin x. However, we shall postpone further discussion of
interval functions until Chapter 5.
and
y∈Y means that Y ≤ y ≤ Y,
we see by addition of inequalities that the numerical sums x + y ∈ X + Y must satisfy
X + Y ≤ x + y ≤ X + Y.
Subtraction
The operational formula (2.21) expresses X + Y conveniently in terms of the endpoints of
X and Y . Similar expressions can be derived for the remaining arithmetic operations. For
subtraction we add the inequalities
X≤x≤X and − Y ≤ −y ≤ −Y
3 We remove this restriction with extended arithmetic, described in section 8.1.
i i
i i
interval
i i
2008/11/18
page 12
i i
to get
X − Y ≤ x − y ≤ X − Y.
It follows that
X−Y = X−Y , X−Y . (2.22)
Note that
X − Y = X + (−Y ),
where
−Y = −Y , −Y = {y : − y ∈ Y }.
Observe the reversal of endpoints that occurs when we find the negative of an interval.
−Y = [−2, −1]
Multiplication
S = {−1 · 1 , −1 · 2 , 0 · 1 , 0 · 2} = {−1 , −2 , 0}
and X · Y = [min S, max S] = [−2, 0]. We also have, for instance, 2Y = [2, 2] · [1, 2] =
[2, 4].
i i
i i
interval
i i
2008/11/18
page 13
i i
Division
As with real numbers, division can be accomplished via multiplication by the reciprocal of
the second operand. That is, we can implement equation (2.18) using
X/Y = X · (1/Y ), (2.24)
where
1/Y = {y : 1/y ∈ Y } = 1/Y , 1/Y . (2.25)
Again, this assumes 0 ∈
/ Y.
Example 2.7. We can use division to solve the equation ax = b, where the coefficients a
and b are only known to lie in certain intervals A and B, respectively. We find that x must
lie in B/A. However, this is not to say that A · (B/A) = B.
Exercise 2.4. Compute the following interval products and quotients:
(a) [−2, −1] · [−1, 1], (b) [−2, 4] · [−3, 1],
(c) [1, 2]/[−5, −3], (d) [−1, 2]/[5, 7].
A Useful Formula
Any interval X can be expressed as
X = m(X) + − 12 w(X), 12 w(X)
= m(X) + 12 w(X)[−1, 1]. (2.26)
i i
i i
interval
i i
2008/11/18
page 14
i i
Example 2.8. If X = [0, 2], then by (2.26) we can write X = 1 + [−1, 1].
This idea is useful when we employ an interval to describe a quantity in terms of its
measured value m and a measurement uncertainty of no more than ±w/2:
m ± w2 = m − w2 , m + w2 . (2.27)
(X1 , . . . , Xn ).
can be represented as a rectangle in the x1 x2 -plane: it is the set of all points (x1 , x2 ) such
that
X1 ≤ x1 ≤ X1 and X 2 ≤ x2 ≤ X 2 .
With suitable modifications, many of the notions for ordinary intervals can be extended
to interval vectors.
1. If x = (x1 , . . . , xn ) is a real vector and X = (X1 , . . . , Xn ) is an interval vector, then
we write
x ∈ X if xi ∈ Xi for i = 1, . . . , n.
2. The intersection of two interval vectors is empty if the intersection of any of their
corresponding components is empty; that is, if Xi ∩Yi = ∅ for some i, then X∩Y = ∅.
Otherwise, for X = (X1 , . . . , Xn ) and Y = (Y1 , . . . , Yn ) we have
X ∩ Y = (X1 ∩ Y1 , . . . , Xn ∩ Yn ).
X⊆Y if Xi ⊆ Yi for i = 1, . . . , n.
4. The width of an interval vector X = (X1 , . . . , Xn ) is the largest of the widths of any
of its component intervals:
i i
i i
interval
i i
2008/11/18
page 15
i i
X = max |Xi |.
i
X = (X1 , X2 ),
w(X) = max{2 − 1, 7 − 4} = 3,
3 11
m(X) = 1+2
2
, 4+7
2
= 2, 2 ,
and
X = max { max{|1|, |2|} , max{|4|, |7|} } = max{2, 7} = 7.
These concepts are illustrated in Figure 2.2.
Example 2.10 suggests that an interval vector can be thought of as an n-dimensional
“box.” We will see applications of this idea. Any bounded set of points in n-space can be
enclosed by a union of such boxes. Furthermore, we can come arbitrarily close to a given
set of points, regardless of its geometric shape. All this leads toward the idea of computing
with sets, which can be much more general and powerful than computing with single points
(i.e., with numbers or vectors of numbers).
We can also define an inner product
P = U 1 V 1 + · · · + U n Vn
between two interval vectors (U1 , . . . , Un ) and (V1 , . . . , Vn ). The interval P contains all
the real numbers defined by values of the inner product of real vectors u and v with real
components taken from the given intervals U1 , . . . , Un and V1 , . . . , Vn .
i i
i i
interval
i i
2008/11/18
page 16
i i
By an interval matrix we mean a mean a matrix whose elements are interval numbers.
Such matrices are covered further in Chapter 7. In particular, there are some pitfalls,
subtleties, and interesting properties of interval matrix-vector multiplication that we will
discuss there.
• Eldon Hansen investigated reliable solution of linear systems and other topics; see
[58, 59, 60, 61, 62, 67, 68], etc. A decade or so later, he began a lasting collaboration
with Bill Walster, including [69, 247]. A notable recent reference is [57].
• William Kahan, known for his work in standardization of floating point arithmetic, had
several publications on interval computations, including [87, 88, 89, 90, 91] within
several years of Moore’s dissertation. Often cited is [89] on extended arithmetic.
Kahan devised a closed system in which an interval divided by an interval containing
0 is well defined. Kahan arithmetic was originally meant for dealing with continued
fractions, a task for which it is particularly suited. It is also consistent with Kahan’s
philosophy of nonstop exception-free arithmetic, embodied in the IEEE 754 standard
for binary floating point arithmetic. In fact, some properties of the binary floating point
standard, most notably directed roundings, are important for interval computations;
others, such as operations with ∞, facilitate extended arithmetic. The details of
both the operations with ∞ in the floating point standard, as well as the details and
mathematical underpinnings of extended interval arithmetic, continue to be debated
and revised.
i i
i i
interval
i i
2008/11/18
page 17
i i
We will draw upon these and more recent references throughout the book.
i i
i i
interval
i i
2008/11/18
page 18
i i
i i
i i
interval
i i
2008/11/18
page 19
i i
Chapter 3
First Applications of
Interval Arithmetic
3.1 Examples
Almost any scientific computation begins with inexact initial data. Interval arithmetic pro-
vides a natural way of incorporating measurement uncertainties directly into a calculation.
Example 3.1. Suppose we wish to calculate the area a of a rectangle from direct measure-
ments of its side lengths l and w. Use of a standard meter stick shows that l equals 1 m
to within an uncertainty of 0.0005 m (i.e., to within half the “least count measurement” of
1 mm). Since
0.9995 ≤ l ≤ 1.0005,
we construct an interval L = [0.9995, 1.0005] to represent this side length. Measuring
again, we find that w = 2 (nominally). Hence, the remaining side should be represented by
the interval W = [1.9995, 2.0005]. Now
A=L·W
= [0.9995, 1.0005] · [1.9995, 2.0005]
= [0.9995 · 1.9995 , 1.0005 · 2.0005]
= [1.99850025 , 2.00150025] m2 , (3.1)
which means, of course, that
1.99850025 m2 ≤ a ≤ 2.00150025 m2 .
If we want to know a more accurately, we must measure l and w more accurately. The
midpoint of A is 2.00000025. The intervals L, W , and A all carry physical units.
Let us take this example a bit further. Suppose it is not necessary to know the final
answer to eight places. We are therefore tempted to round off the endpoints of A. This is
indeed possible, but we must be careful because the true value a of the product lw can fall
anywhere within the interval that is specified exactly by (3.1). Suppose the true value of
a is
a = 1.99850026 m2 . (3.2)
19
i i
i i
interval
i i
2008/11/18
page 20
i i
Clearly, if we were to round the endpoints of A both upward by one digit to obtain
A = [1.9985003 , 2.0015003] m2 ,
this new interval A would not contain the value (3.2). Such an event would defeat the
entire purpose of rigorous computation! Instead, we will always implement a procedure
called outward rounding: we will round in such a way that the left endpoint moves to the
left (on the number line) and the right endpoint moves to the right. The resulting interval
contains the one we started with and hence still has a as a member. In the present example,
we could round outwardly to the nearest square millimeter and obtain the interval
The statement
1.998 m2 ≤ a ≤ 2.002 m2
is definitely true, and the ability to depend on this is essential as we proceed.
Exercise 3.1. Perform outward rounding, at the third decimal place, on the interval [1.23456,
1.45678].
Exercise 3.2. The dimensions of a rectangular box are measured as w = 7.2 ± 0.1, l =
14.9 ± 0.1, and h = 405.6 ± 0.2. Find several intervals containing the volume of the
box.
Interval arithmetic also makes it easy to track the propagation of initial uncertainties
through a series of calculations.
g ∈ [1.32710, 1.32715](1020 ),
V0 ∈ [2.929, 3.029](104 ),
M ∈ [2.066, 2.493](1011 ),
E ∈ [1.470, 1.521](1011 ),
and we seek an interval containing V . The necessary calculations are laborious if done by
hand, and in Example 3.3 we will show how they can be easily done with INTLAB. It is
worth examining the final results at this time, however. We will discuss functions such as
i i
i i
interval
i i
2008/11/18
page 21
i i
3.1. Examples 21
square roots systemically in Chapter 5, but for now it will suffice to note that if x ∈ [a, b]
with a and b positive numbers such that a < b, then
√ √ √
x∈ a, b .
This is equivalent in ordinary arithmetic, but gives the sharper (i.e., narrower) result
V ∈ [1411.7, 4413.5]. (3.5)
So two expressions that are equivalent in ordinary arithmetic can fail to be equivalent in
interval arithmetic. This is a very important issue that we will continue to discuss.
Let us pursue the phenomenon of the previous example using the simpler formula
M 1
= .
1+M 1 + M1
For the interval data M = [14, 15], the first expression yields
[14, 15] [14, 15] 14 15
= = 16 , 15 = [0.875, 1.0]
1 + [14, 15] [15, 16]
because we divide by the largest number in the denominator to get the left endpoint of the
result. The second expression yields the sharper result
1 1 1
= 1 = 16 = 14 , 15 ∈ [0.933, 0.938].
1+ 1
[14,15]
1+ 15
, 1
14
, 15
15 14
15 16
i i
i i
i i interval
2008/11/18
page 22
i i
Definition 3.1. By outwardly rounded interval arithmetic (IA), we mean interval arithmetic,
implemented on a computer, with outward rounding at the last digit carried.
3.3 INTLAB
Software packages that implement interval arithmetic use outward rounding and implement
elementary functions of interval arguments (which we will see in Chapter 5). Particularly
convenient is INTLAB, available free of charge for noncommercial use. INTLAB provides
an interactive environment within MATLAB, a commonly used interactive and program-
ming system both for academic and commercial purposes. One who has MATLAB and has
installed INTLAB can easily experiment with interval arithmetic.4
Example 3.3. We can use INTLAB to perform the calculations for Example 3.2. At the
MATLAB prompt (>>), we begin by issuing the command
intvalinit(’DisplayInfsup’)
which directs INTLAB to display intervals using its infimum-supremum notation (or lower
bound–upper bound representation, i.e., our usual endpoint notation). After providing con-
firmation5 of this default display setting, INTLAB returns to the MATLAB prompt and
awaits further instruction. We now type
>> g = infsup(1.32710e20,1.32715e20)
which merely confirms the value of g that we entered. We can suppress this echoing feature
by appending a semicolon to the end of our variable assignment:
g = infsup(1.32710e20,1.32715e20);
Similarly, we can continue to enter the remaining values needed in Example 3.2. Our
interactive session appears on screen as
4 Many books on MATLAB are available (e.g., [79, 145, 214]). The interested reader may wish to consult one
space.
i i
i i
i i interval
2008/11/18
page 23
i i
3.3. INTLAB 23
>> V0 = infsup(2.929e4,3.029e4);
>> M = infsup(2.066e11,2.493e11);
>> E = infsup(1.470e11,1.521e11);
Having entered g, V0 , M, and E, we can use INTLAB to calculate expressions given in
terms of these. To request the value of 2gM, we issue the command
2 * g * M
and get back
intval ans = 1.0e+031 * [ 5.4835 , 6.6172 ]
Now we ask INTLAB for M + E and E(M + E):
>> M + E
intval ans = 1.0e+011 * [ 3.5360 , 4.0140 ]
>> E * (M+E)
intval ans = 1.0e+022 * [ 5.1979 , 6.1053 ]
We continue, deciding to assign a variable name wide_result:
>> wide_result = 2*g*M / (E*(M+E))
intval wide_result = 1.0e+009 * [ 0.8981 , 1.2731 ]
Corresponding to equation (3.4), we compute wide_V:
>> wide_V = sqrt(wide_result) - V0
intval wide_V = 1.0e+003 * [ -0.3206 , 6.3898 ]
Finally, we assign the name narrow_V to the sharper result of equation (3.5):
>> narrow_V = sqrt(2*g/(E*(1+E/M))) - V0
intval narrow_V = 1.0e+003 * [ 1.4130 , 4.4128 ]
To see more digits of this answer, we can issue the command
format long
and then ask for the value of narrow_V again:
>> narrow_V
intval narrow_V = 1.0e+003 * [ 1.41309671989000,4.41275778813371 ]
INTLAB is a powerful and convenient numerical tool. We will use it freely in subsequent
examples. The reader is encouraged to apply it to as many of the exercises as possible.
Exercise 3.4. Rework Exercises 3.2 and 3.3 using INTLAB.
INTLAB uses MATLAB’s arithmetic, which in turn, generally, uses the IEEE 754
binary standard arithmetic defined partially within the computer’s hardware (chips) and
partially within software. This means that roughly 16 decimal digits (53 binary digits) are
carried. Internally, INTLAB rounds out in the last digit; however, when INTLAB displays
results, it rounds the internal representations out so that the displayed result contains the
actual result. The number of digits displayed in INTLAB corresponds to the “short” format
or the “long” format of MATLAB. The difference between the computational results of
Example 3.2 and those using INTLAB directly above is due to the fact that in Example 3.2,
only a few decimal digits were carried, with rounding out after each operation, whereas in
the INTLAB results, approximately 16 decimal digits were carried.
i i
i i
i i interv
2008/11/
page 24
i i
and radius.
8An m-file is essentially a MATLAB program. Appendix D contains instructions on how to obtain the m-files
i i
i i
interval
i i
2008/11/18
page 25
i i
3.3. INTLAB 25
Above, the output of rigorinfsup is given in short format. This is the default format
when MATLAB starts, unless the format long command has previously been issued in
the startup.m script or elsewhere in the session.
Caution There is a reason for this special syntax with quotation marks.9 In particu-
lar, we should mention a subtle aspect of INTLAB and other languages implementing
interval arithmetic in a similar way.10 The problem is that when one enters a constant
in decimal form, such as 1.32710e20, the system needs to convert this constant into
its internal binary format for further use. However, unless the constant is representable
as a fraction whose denominator is a power of 2, there is no internal binary number
that corresponds exactly to the decimal number that was entered. The conversion is
to a binary number that is near to the decimal number but is not guaranteed to be less
than or greater than the corresponding decimal number. Thus, issuing the command g =
infsup(1.32710e20,1.32715e20) in MATLAB results in an internally stored binary in-
terval for g that may not contain the decimal interval [1.32710×1020 , 1.32715×1020 ]. This
discrepancy usually is not noticed but occasionally causes unexpected results. In contrast,
when one uses infsup(’1.32710e20’,’1.32715e20’), INTLAB provides a conver-
sion with rigorous rounding. For example, the internal representation for intval(0.1) or
infsup(0.1,0.1) does not necessarily include the exact value 0.1, but intval(’0.1’)
does.11
Three representations for intervals can appear in INTLAB computations: the infimum-
supremum representation, which we have already discussed, the midpoint-radius represen-
tation, mentioned in Example 3.4, and the significant digits representation. The midpoint-
radius representation is analogous to the specification of tolerances familiar to engineers.
For example, if an electrical resistor is given by R = 10 ± 1 , then the midpoint-radius
representation of the set of values for R would be 10, 1, whereas the infimum-supremum
representation of the interval for R would be [9, 11]. (In the midpoint-radius represen-
tation, the radius is rounded up for display, to ensure that the displayed interval contains
9 The quotation marks tell MATLAB that the argument is a string of characters, not a usual number.
This allows
INTLAB to use a special routine to process this string.
10 With “operator overloading.”
11 infsup(’0.1’,’0.1’) does not give the expected results in INTLAB version 5.4 or earlier.
i i
i i
i i interval
2008/11/18
page 26
i i
the actual interval.) There are certain advantages and disadvantages to the midpoint-radius
representation, both in the display of intervals and in internal computations with intervals.
Example 3.5. Suppose an electrical resistor has a nominal value of 100 and a manufac-
turing tolerance of 10%. INTLAB permits us to enter this information as follows:
>> Ohms = 100;
>> R = midrad(Ohms,0.1*Ohms)
intval R = [ 90.0000 , 110.0000 ]
Note, however, that R is still displayed in the current default mode, which is Infsup. The
command
intvalinit(’DisplayMidrad’)
Note that we can input a “thin” interval by specifying its radius as zero or by simply not
specifying the radius:
>> thin = midrad(1,0)
intval thin = < 1.0000 , 0.0000 >
We can always switch back to Infsup mode and see thin in that notation:
>> intvalinit(’DisplayInfsup’)
>> thin
intval thin = [ 1.0000 , 1.0000 ]
i i
i i
interval
i i
2008/11/18
page 27
i i
3.3. INTLAB 27
In Example 6.4, the INTLAB Display_ setting will be used to illustrate a convergent
interval sequence.
Example 3.6. The following INTLAB program uses the long precision toolbox that comes
with INTLAB to find an interval enclosure for f in Example 1.2:
function [Intf]= Rump_example(ndigits)
% This evaluates f for Example 1.2 (Rump’s counterexample)
% ndigits is the number of digits precision to be used.
% The output Intf is an interval obtained using that many
% digits of precision.
longinit(’WithErrorTerm’);
longprecision(ndigits);
a = long(77617.0);
b = long(33096.0);
b2 = b*b;
b4 = b2*b2;
b6 = b2*b4;
b8 = b4*b4;
a2=a*a;
f = long(333.75)* b6 + a2*(long(11)* a2*b2 - b6...
- long(121)*b4 - 2) + long(5.5)*b8 + a/(long(2)* b);
Intf = long2intval(f);
end
This is the contents of a MATLAB m-file called Rump_example.m. With this file in
MATLAB’s search path, one can carry on the following MATLAB dialogue:
>> Rump_example(10)
intval ans = 1.0e+014 * [ -6.72351402328065 , 5.31613913972737 ]
>> Rump_example(20)
intval ans = 1.0e+014 * [ -6.72351402328065 , 5.31613913972737 ]
>> Rump_example(30)
intval ans = 1.0e+007 * [ -0.04587540000001 , 1.72359720000001 ]
>> Rump_example(100)
intval ans = [ -0.82739605994683 , -0.82739605994682 ]
Exercise 3.5. Experiment with Rump_example for different values of ndigits. What
is the minimum number of digits necessary such that the lower and upper bounds of the
interval have the same sign? What is the minimum number of digits necessary to ensure
that all digits of the answer are correct?
Siegfried Rump, the author of INTLAB, encourages INTLAB users to contribute their
own software and extensions.
INTLAB References
In his master’s thesis [70], Gareth Hargreaves gives a short tutorial of INTLAB with exam-
ples and summarizes many topics covered in this book. He also supplies a number of m-files,
partially overlapping with ones we present. Rump describes the INTLAB system in [224],
i i
i i
interval
i i
2008/11/18
page 28
i i
while extensive documentation for INTLAB is integrated into MATLAB’s “demo” system,
starting with INTLAB version 5.4. Rump describes the way interval arithmetic is imple-
mented within INTLAB in [223]. The INTLAB toolbox features prominently in the solution
of 5 of the 10 problems posed in the SIAM 100-digit challenge;12 this is described in [27].
goal was to supply 10 correct digits. A nominal prize was given for the best answers, and the contestants took it
upon themselves to rigorously verify the correctness of the digits supplied.
i i
i i
interval
i i
2008/11/18
page 29
i i
controversial. Ogita et al. have proposed and analyzed methods for computing sums and
dot products accurately and quickly using standard hardware, without a long accumulator
[185]. Such algorithms do not always give a result that rounds to the nearest number to the
correct result, but, with quadruple precision13 give results that are within one or two units
of the correct result except in certain cases; Rump et al. have a formalized analysis of this.
This group has used these techniques in algorithms for verification of solutions of linear
systems [186, 189, 226].
Accurate dot products in general will not help when there is interval uncertainty
in the coefficients of the original linear system and the coefficients are assumed to vary
independently.
Interval arithmetic is also available in the Mathematica [109] and Maple [37, 116]
computer algebra systems. Finally, other and older implementations of interval arithmetic
are described in [97, pp. 102–112].
13 Now common and perhaps specified in the revision of the IEEE binary floating point standard.
i i
i i
interval
i i
2008/11/18
page 30
i i
i i
i i
interval
i i
2008/11/18
page 31
i i
Chapter 4
Further Properties of
Interval Arithmetic
In Chapter 2 we introduced the definitions of the basic interval arithmetic operations. With
proper understanding of the notation, it is possible to summarize them neatly in one line:
X Y = {x y : x ∈ X, y ∈ Y }, where can be + , − , · , or / . (4.1)
(Until Chapter 8, the quotient X/Y is defined only if 0 ∈ / Y .) These definitions lead to a
number of familiar looking algebraic properties. In addition, however, their set-theoretic
character implies certain important relationships involving set containment. The material
of the present chapter constitutes essential preparation for the study of interval functions in
Chapter 5 and beyond.
31
i i
i i
interval
i i
2008/11/18
page 32
i i
and this equals [0, 0] only if X = X. If X does not have zero width, then
We do not have additive or multiplicative inverses except for degenerate intervals. However,
we always have the inclusions 0 ∈ X − X and 1 ∈ X/X.
Subdistributivity
The distributive law
x(y + z) = xy + xz
of ordinary arithmetic also fails to hold for intervals. An easy counterexample can be
obtained by taking X = [1, 2], Y = [1, 1], and Z = −[1, 1]:
i i
i i
interval
i i
2008/11/18
page 33
i i
We can see this in the example above. Full distributivity does hold in certain special cases.
In particular, for any real number x we have
Interval multiplication can be distributed over a sum of intervals as long as those intervals
have the same sign:
[1, 2] ([−3, −2] + [−5, −1]) = [−16, −3] = [1, 2][−3, −2] + [1, 2][−5, −1]
as an example of (4.6).
Exercise 4.3. Prove properties (4.4)–(4.6).
Cancellation
The cancellation law
X + Z = Y + Z =⇒ X = Y (4.7)
holds for interval addition.
Exercise 4.4. Prove (4.7).
Exercise 4.5. Show that multiplicative cancellation does not hold in interval arithmetic;
that is, ZX = ZY does not imply X = Y .
We should emphasize that, with the identification of degenerate intervals and real
numbers, interval arithmetic is an extension of real arithmetic. It reduces to ordinary real
arithmetic for intervals of zero width.
X = −X. (4.8)
Hence, [−5, 5] and [−π, π ] are symmetric intervals. Any symmetric interval has midpoint
0. If X is symmetric, then according to (2.8) and (2.9),
Exercise 4.6. Show that any interval X can be expressed as the sum of a real number (i.e.,
degenerate interval) and a symmetric interval:
i i
i i
interval
i i
2008/11/18
page 34
i i
The rules of interval arithmetic are slightly simpler when symmetric intervals are
involved. If X, Y , and Z are all symmetric, then
XY = |X|Y.
X(Y + Z) = XY + XZ
for any interval X. Compare this with the subdistributive property (4.4).
i i
i i
interval
i i
2008/11/18
page 35
i i
interval arithmetic. Interval arithmetic is said to be inclusion isotonic. We will see important
applications of this idea later on.
In the next chapter, we extend the concept of interval expressions to include functions,
such as sin x and ex .
i i
i i
interval
i i
2008/11/18
page 36
i i
i i
i i
interval
i i
2008/11/18
page 37
i i
Chapter 5
Introduction to Interval
Functions
A=L·W
to bound the area of a rectangle in terms of given bounds on its side lengths. Such a formula
can be used to define an interval-valued function A of two interval variables L and W .
This chapter treats the basics of interval-valued functions. Standard functions such
as exponentials can be applied directly to interval arguments, with interval results. More
importantly, we will need the general notion of an interval-valued mapping to progress
beyond interval arithmetic and into the realm of interval analysis. The reader can find a
brief review of function terminology in Appendix A.
where X1 , . . . , Xn are specified intervals. Much of the present chapter will be devoted to
this goal.
The set images described above can be characterized in a slightly different manner.
We state the next definition mainly for completeness and for the convenient terminology
that it provides.
37
i i
i i
i i interv
2008/11/
page 38
i i
i.e., that ḡ(X) contains precisely the same elements as the set image g(X). For this reason,
and because the usage is common, we shall apply the term united extension to set images
such as those described in (5.1) and (5.2).
f (x) = x 2 , x ∈ R.
If X = X, X , it is evident that the set
f (X) = {x 2 : x ∈ X} (5.4)
can be expressed as
2
X2 , X , 0 ≤ X ≤ X,
2
f (X) = X , X2 , X ≤ X ≤ 0, (5.5)
0, max X2 , X 2 , X < 0 < X.
We will use (5.4) as the definition of X 2 . This is not the same as X · X. For instance,
However, [−1, 1] does contain [0, 1]. The overestimation when we compute a bound on
the range of X 2 as X · X is due to the phenomenon of interval dependency. Namely, if we
assume x is an unknown number known to lie in the interval X, then, when we form the
product x · x, the x in the second factor, although known only to lie in X must be the same as
the x in the first factor, whereas, in the definition of the interval product X · X, it is assumed
that the values in the first factor and the values in the second factor vary independently.
Interval dependency is a crucial consideration when using interval computations. It is
a major reason why simply replacing floating point computations by intervals in an existing
algorithm is not likely to lead to satisfactory results.
16 This accounts for the term united. The united extension ḡ is an extension of g in the sense that we can identify
i i
i i
interval
i i
2008/11/18
page 39
i i
Exercise 5.1. Within a MATLAB command window and with INTLAB running, issue the
sequence of commands:
intvalinit(’DisplayInfSup’)
x = infsup(-1,1)
xˆ2
x*x
What does INTLAB return? Does it account for interval dependency in computing bounds
on the range of f (x) = x 2 ?
Let us take an example. As x varies through an interval X = [X, X], the exponential
function
f (x) = exp(x) = ex (x ∈ R)
takes values from exp(X) to exp(X). That is, we can define
exp(X) = exp(X) , exp(X) . (5.6)
i i
i i
interval
i i
2008/11/18
page 40
i i
we have
log X = log X , log X for X > 0. (5.7)
Exercise 5.2. The capacity of a binary communication channel is given by the Hartley–
Shannon equation C = B log2 (1 + S/N ) (bits/s), where B is the channel bandwidth, and
S/N is the signal-to-noise ratio. The formula (S/N )dB = 10 log10 (S/N ) defines the signal-
to-noise ratio in decibels (dB). Find the possible range of C for a set of channels that may
range in bandwidth from 4–8 kHz and in S/N from 20–25 dB.
We could give many examples in this same vein. The square root of an interval is
given by
√
X= X, X for X ≥ 0. (5.8)
Exercise 5.3. Find the diagonal of the rectangle discussed in Example 3.1.
Exercise 5.4. For an antenna located h feet√above the ground, the distance in miles to the
line-of-sight radio horizon is given by d = 2h. Hence, if a transmitting antenna sits atop
a tower of height h1 ft, and a receiving antenna sits atop a building √
at height√h2 ft, their
maximum allowed separation for line-of-sight communication is s = 2h1 + 2h2 miles.
Evaluate the possible range of s values for towers ranging in height from 1000 to 1500 ft
and buildings ranging in height from 20 to 50 ft.
The more general exponential function f (x) = x y with x > 0 and y > 0 leads us to
write
y
Xy = Xy , X for X > 0 and y > 0. (5.9)
All these functions have been increasing. With decreasing functions, we must be careful
to order the endpoints correctly. For example, as x increases from X to X, the values of
exp(−x) decrease from exp(−X) to exp(−X). Therefore,
exp(−X) = exp(−X) , exp(−X) . (5.10)
We should also note that some restrictions of a nonmonotonic function could be monotonic.
The function f given by
f (x) = sin x, x ∈ R,
is not monotonic, but its restriction fA to the set A = [− π2 , π2 ] is increasing. Hence,
sin X = sin X , sin X for X ⊆ [− π2 , π2 ]. (5.11)
We can make use of known properties of the sine function to find interval extensions for
any interval argument. We know, for instance, that sin(kπ + x) = (−1)k sin x and sin x is
in [−1, 1] for all real x.
i i
i i
interval
i i
2008/11/18
page 41
i i
INTLAB Applications
INTLAB’s computation of tight bounds on the ranges of elementary functions (sin, exp, etc.)
is described in [225]. Within GlobSol, a system for global optimization we will reference
later, the implementation of computation of bounds on the ranges of the elementary functions
is explained in [82, 101].
Exercise 5.5. A prism has angle α. The index of refraction n of the glass can be determined
experimentally by measuring the minimum deviation angle δ and using the formula
sin 12 (δ + α)
n= .
sin 12 α
If measurements indicate that α = 60◦ ± 0.5◦ and δ = 45◦ ± 0.5◦ , find an interval enclosing
n.
Exercises 5.3, 5.4, and 5.5 can be done easily in INTLAB, since INTLAB has pre-
programmed bounds on the ranges for many commonly used functions. See Appendix E.
The way that INTLAB computes bounds on the range of a function can be examined
by looking at√the corresponding m-file. For instance, the INTLAB program that computes
the range of x over an interval X is found in
<intlabdir>/intval/@intval/sqrt.m
where <intlabdir> is the directory (or folder) in which INTLAB is installed. This m-file
is somewhat more complicated than the explanation here might suggest, because it handles
cases where the output is complex,17 it handles cases where the argument passed to sqrt
is an array or a sparse matrix, and it catches cases where difficulties are encountered. For
example, in using sqrt.m, we see the following in a MATLAB command window:
>> x = infsup(-1,-1)
intval x = [ -1.0000 , -1.0000 ]
>> sqrt(x)
Warning: SQRT: Real interval input out of range changed to be
complex
> In intval.sqrt at 140
intval ans = [ -0.0001 + 0.9999i , 0.0001 + 1.0001i ]
However, for nonnegative purely real arguments, the INTLAB routine sqrt.m calls a
routine sqrt_rnd.m, found in
<intlabdir>/intval/@intval/private/sqrt_rnd.m
twice, once for the lower endpoint and once for the upper endpoint; the function sqrt_rnd.m
simply evaluates the square root using MATLAB’s sqrt function for noninterval arguments
then adjusts the value downward or upward to make sure the machine-representable number
returned is a lower bound or upper bound (as requested) on the actual value.
Exercise 5.6. For the function f (x) = x 2 , INTLAB uses the program in the m-file
<intlabdir>/intval/@intval/sqr.m
17 In fact, consistent with the standard functions in MATLAB, INTLAB implements complex extensions of the
i i
i i
interval
i i
2008/11/18
page 42
i i
Print out this file and annotate it, identifying where the lower and upper bounds on X 2 are
computed.
Looking back, we see that equations (5.6)–(5.11) define interval-valued functions of
interval variables. We stress that evaluation of one of these functions F , as indicated, at
a given interval X, yields precisely the set f (X) described by equation (5.1). The serious
issue of interval dependency is lurking, however, as we are about to see.
i i
i i
interval
i i
2008/11/18
page 43
i i
On the other hand, as x increases through the interval X, X , the values f (x) given by
(5.12) clearly decrease from 1 − X to 1 − X; by definition then,
f (X) = 1 − X, 1 − X .
In this example, we have F (X) = f (X): this particular extension of f , obtained by applying
formula (5.13) directly to interval arguments, yields the desired set image (5.1). In other
words, we have found the united extension of f :
f (X) = 1 − X.
For reasons that will become apparent, we use this to write two real-valued functions:
and
g(x) = x − x 2 , x ∈ [0, 1]. (5.18)
These are mathematically equal, because in ordinary real arithmetic we have
x(1 − x) = x − x 2 .
As x increases from 0 to 1, the values f (x) and g(x) both increase from 0 to 14 then decrease
back to 0. Therefore,
f ([0, 1]) = g([0, 1]) = 0, 14 . (5.19)
Let us form interval-valued extensions of f and g:
F (X) = X · (1 − X), X = X, X , (5.20)
and
G(X) = X − X2 , X = X, X . (5.21)
Remembering that X2 = X · X in interval arithmetic, we work out the details of each
extension separately for an interval X = [X, X] ⊆ [0, 1]:
F (X) = X, X · [1, 1] − [X, X]
= X, X · [1, 1] + −X, −X
= X, X · 1 − X, 1 − X
= [min S, max S],
i i
i i
interval
i i
2008/11/18
page 44
i i
where
S = { X(1 − X), X(1 − X), X(1 − X), X(1 − X)},
while
2
G(X) = X, X − X, X
2
= X, X − X 2 , X
2
= X, X + −X , −X2
2
= X − X , X − X2 .
Putting, say, X = [0, 1], we see that G(X) = F (X); the two formulas involved in (5.17)
and (5.18)—again, identical in ordinary arithmetic—give rise to different extensions, and
neither of these maps the interval [0, 1] into the interval 0, 14 . We have F ([0, 1]) = [0, 1]
and G([0, 1]) = [−1, 1].
We stress that two expressions can be equivalent in real arithmetic but not equivalent
in interval arithmetic. This is due to the lack of distributivity and additive and multiplicative
inverses in interval arithmetic.
It turns out that the united extension of the original function f arises from use of a
third equivalent formula:
2
h(x) = 14 − x − 12 .
We get
2
H (X) = 1
4
− X − 12
2
= 14 , 14 − X, X − 12 , 12
2
= 14 , 14 − X − 12 , X − 12
(X − 12 )2 , (X − 12 )2 , X ≥ 12 ,
= 14 , 14 − (X − 12 )2 , (X − 12 )2 , X ≤ 12 ,
0, max{(X − 12 )2 , (X − 21 )2 } , X< 1
2
< X,
so that
1
− (X − 12 )2 , 41 − (X − 21 )2 , X ≥ 12 ,
4
H (X) = 1
− (X − 12 )2 , 41 − (X − 21 )2 , X ≤ 12 ,
4
1
4
− max{(X − 12 )2 , (X − 12 )2 }, 14 , X < 12 < X.
It is easily verified that this is f (X). We have H ([0, 1]) = 0, 14 .
Exercise 5.7. Let A1 = [0, 1], A2 = [1, 2], and A3 = [−2, 1]. Evaluate the two expressions
(A1 − A2 ) · (A3 /A2 ) and (A1 /A2 − 1) · A3
and compare the results. Note that these expressions would be equivalent in ordinary
arithmetic.
i i
i i
interval
i i
2008/11/18
page 45
i i
Exercise 5.8. Show that there is never a unique interval extension of a given real
function.
Exercise 5.9. Evaluation of (x − 1)6 for values near x = 1 is sometimes used in traditional
numerical analysis courses to illustrate the effects of roundoff error. In particular, if we
define
f (x) = x 6 − 6x 5 + 15x 4 − 20x 3 + 15x 2 − 6x + 1,
g(x) = 1 + x(−6 + x(15 + x(−20 + x(15 + x(−6 + x))))),
h(x) = (x − 1)6 ,
then f , g, and h define the same real-valued function. However, if one evaluates f , g, and
h using floating point arithmetic at points near x = 1 and plots the results, one obtains very
different graphs. A related phenomenon occurs with interval values.
1. Use floating point evaluation within MATLAB to make approximate plots of f , g,
and h at 100 points in [0.999, 1.001].
2. Using INTLAB, set X = infsup(0.999,1.001) and evaluate f, g, h over X.
3. Compare parts 1 and 2. Observe the effects of roundoff error in the floating point
plots of f , g, and h. Which expression is most prone to roundoff “noise”? Does the
susceptibility to roundoff noise correlate with the width of the corresponding interval
extension?
i i
i i
interval
i i
2008/11/18
page 46
i i
f (X1 , X2 ) = X1 + X2 = {x1 + x2 : x1 ∈ X1 , x2 ∈ X2 }.
The notation is consistent with our previous usage: indeed, it follows from the set definition
on the right that interval addition is the united extension of the function
f (x1 , x2 ) = x1 + x2
that describes ordinary numerical addition. The operations of interval arithmetic are all
defined in this way—recall (4.1). The essential observation is that the interval arithmetic
functions are united extensions of the corresponding real arithmetic functions.
Inclusion Isotonicity
Definition 5.4. We say that F = F (X1 , . . . , Xn ) is inclusion isotonic if
Observe carefully that united extensions, which all have the subset property, are
inclusion isotonic. In particular, then, the operations of interval arithmetic must satisfy
Y1 ⊆ X1 , Y2 ⊆ X2 =⇒ Y1 Y2 ⊆ X1 X2 . (5.24)
The computation of F (X1 , X2 ) can be broken down into the finite sequence of interval
arithmetic operations described by
i i
i i
interval
i i
2008/11/18
page 47
i i
is not a rational interval function (even though its computation entails only a finite number
of operations) because m(X) = (X + X)/2 is not an interval arithmetic operation.
Proof. The lemma follows by finite induction from (5.24) and the transitivity of the relation
⊆.
f (X1 , . . . , Xn ) ⊆ F (X1 , . . . , Xn ).
Two rational expressions which are equivalent in real arithmetic may not be
equivalent in interval arithmetic.
However, since rational interval functions are inclusion isotonic, we have the following
corollary to Theorem 5.1.
f (X1 , . . . , Xn ) ⊆ F (X1 , . . . , Xn ).
That is, an interval value of F contains the range of values of the corresponding real function
f when the real arguments of f lie in the intervals shown.
Therefore, we have a means for the finite evaluation of upper and lower bounds on
the ranges of values of real rational functions.
i i
i i
interval
i i
2008/11/18
page 48
i i
p(x) = 1 − 5x + 13 x 3 . (5.25)
Suppose we wish to know the range of values of p(x) when 2 ≤ x ≤ 3. Since the interval
polynomial
P (X) = 1 − 5X + 13 X · X · X (5.26)
is a natural interval extension of p(x), the actual range of p(x) values is contained in the
interval
P ([2, 3]) = 1 − 5[2, 3] + 13 [8, 27] = − 34
3
,0 .
A different extension can be obtained by first rewriting p(x) as
This narrower interval provides a better estimate for the desired range of values of
p(x).
Using ordinary calculus, it is easy to verify that the exact range of values for p(x) in
the preceding example is
√
p(x) ∈ − 103
5 + 1 , −5 = [−6.453559 . . . , −5] for x ∈ [2, 3]. (5.28)
usually gives better (and never gives worse) results than the sum-of-powers form
A0 + A1 X + A2 X · X + · · · + An X · X · · · · · X.
i i
i i
interval
i i
2008/11/18
page 49
i i
Exercise 5.12. The resistance of a parallel combination of two electrical resistors is given
by the formula R −1 = R1−1 + R2−1 . If R1 and R2 have nominal values of 47 and 10 ,
respectively, and manufacturing tolerances of 10%, find an interval enclosure for R. Repeat
using the formula R = (R1 R2 )/(R1 + R2 ), which is equivalent in real arithmetic.
Exercise 5.13. Find f ([0, 3]) if f (x) = 13 x 3 − 2x. Compare with enclosures found by
evaluating some interval extensions of f .
Hence, f (x) cannot have any poles in X0 . Furthermore, by the inclusion isotonicity of the
interval arithmetic operations (and hence of F (X)), no division by an interval containing
zero will occur during the evaluation of the same expression for F (X) for any X ⊆ X0 . In
other words, if F (X0 ) is defined, then F (X) also is for every X ⊆ X0 .
i i
i i
interval
i i
2008/11/18
page 50
i i
Explain where (5.29) is implemented. What other necessary complication exists in this
function?
These united extension values are, of course, inaccessible in practice because the required
endpoints cannot be computed exactly. However, we can extend the machine-computed
endpoints outward in each case by an amount just great enough to include the approximation
error for each such function. This is done automatically by interval software packages such
as INTLAB. In this way we can compute, on the machine, intervals containing the exact
ranges of values. The resulting functions are inclusion isotonic.
Using similar approaches, we can construct inclusion isotonic interval extensions of
all functions commonly used in computing.
In the next chapter, we introduce theory and practice for computing refinements of
interval extensions, such that we enclose the corresponding united extensions arbitrarily
closely.
i i
i i
interval
i i
2008/11/18
page 51
i i
Chapter 6
and refer to x ∗ as the limit of {xk }. The quantity |xk −x ∗ | in (6.1) is just the distance between
xk and x ∗ as measured along the real line.
The notion of sequence convergence appears throughout mathematics. One can con-
sider convergent sequences of complex numbers, real-valued functions of a real variable,
etc. All that is needed is a suitable measure of “distance” between the objects of interest.
Let us also recall the definition of ordinary function continuity. We say that f (x) is
continuous at a point x0 if for every ε > 0 there is a positive number δ = δ(ε) such that
|f (x) − f (x0 )| < ε (6.2)
whenever |x − x0 | < δ. In this case, |f (x) − f (x0 )| is the distance between the y-axis
points f (x) and f (x0 ), corresponding to the distance |x − x0 | along the x-axis.
It is said that convergence and continuity are the two central concepts of analysis. We
see, in turn, how they both hinge on having a suitable way to express distance. The need to
discuss convergence and continuity outside of ordinary real analysis has led to a powerful
generalization of the distance idea.
Notion of Metric
Let S be any set, and suppose that a real-valued function d is defined such that for any two
elements x, y ∈ S the following statements hold:
51
i i
i i
interval
i i
2008/11/18
page 52
i i
Isometric Embedding
We know that the interval number system represents an extension of the real number system.
In fact, the correspondence [x, x] ↔ x of (2.14) can be regarded as a function or mapping
between the two systems. This mapping preserves distances between corresponding objects:
we have
d( [x, x] , [y, y] ) = max{|x − y|, |x − y|} = |x − y|
for any x and y. For this reason, it is called an isometry, and we say that the real line is
“isometrically embedded” in the metric space of intervals.
i i
i i
interval
i i
2008/11/18
page 53
i i
6.2. Refinement 53
Exercise 6.4. Show that (6.3) has the following additional properties: (a) d(X+Z, Y +Z) =
d(X, Y ); (b) d(X, Y ) ≤ w(Y ) when X ⊆ Y ; (c) d(X, 0) = |X|.
>> X = infsup(-1,1);
>> Y = infsup(1/2,5/2);
>> qdist(X,Y)
ans = 1.5000
Similarly, the width of an interval X is implemented with the function diam(X). (For a list
of these and other INTLAB functions, see Appendix E. Help for a specific function listed
there can be obtained in the command window with the “help” command. For example,
issuing help diam gives a summary of how to use the INTLAB diam function.18 ) Illustrate
Exercise 6.4 by using the INTLAB functions qdist and diam.
6.2 Refinement
According to the fundamental theorem of interval analysis, we have
for any inclusion isotonic interval extension F of a real function f . This means that an
interval value of F contains the range of values of the corresponding real function f when
the real arguments of f lie in the intervals X1 , . . . , Xn . In Chapter 5, we saw an example in
which equality held in (6.4), but we also saw examples in which the width of the right-hand
side substantially exceeded that of the left-hand side.
Hence, the width of F (X) approaches zero at least linearly with the width of X. Here
X may be an interval or an interval vector X = (X1 , . . . , Xn ).
Lemma 6.1. If F is a natural interval extension of a real rational function with F (X)
defined for X ⊆ X0 , where X and X0 are intervals or n-dimensional interval vectors, then
F is Lipschitz in X0 .
18 Issuing the help command for a particular function will also list, in blue, different versions of the function,
for different data types. Clicking on one of these links gives information about the function when used with that
data type.
i i
i i
interval
i i
2008/11/18
page 54
i i
Proof. For any real numbers a and b and any intervals Xi and Yi , we have the following
relations (which are not hard to prove):
Since the natural interval extension has interval values F (X) obtained by a fixed finite
sequence of interval arithmetic operations on real constants (from a given finite set of
coefficients) and on the components of X (if X is an interval vector) and since X ⊆ X0
implies that |Xi | ≤ X0 for every component of X, it follows that a finite number of
applications of (6.5) will produce a constant L such that w(F (X)) ≤ Lw(X) for all X ⊆
X0 .
By the following result, certain interval extensions of irrational functions are also
Lipschitz.
Lemma 6.2. If a real-valued function f (x) satisfies an ordinary Lipschitz condition in X0 ,
2. eX = [eX , eX ];
1/2
3. X 1/2 = [X1/2 , X ] for 0 < X0 ;
4. ln X = ln X , ln X for 0 < X0 ;
5. sin X = sin X , sin X for X0 ⊆ − π2 , π2 ;
6. sin X = [minx∈X (sin x) , maxx∈X (sin x)] for arbitrary X0 .
Lemma 6.3. Let F and G be inclusion isotonic interval extensions with F Lipschitz in Y0 ,
G Lipschitz in X0 , and G(X0 ) ⊆ Y0 . Then the composition H (X) = F (G(X)) is Lipschitz
in X0 and is inclusion isotonic.
Proof. The inequality
i i
i i
interval
i i
2008/11/18
page 55
i i
6.2. Refinement 55
Example 6.2. If G(X) is rational in X and G(X0 ) is defined, then sin G(X) is Lipschitz
and inclusion isotonic for X ⊆ X0 . Ordinary monotonicity is not required for inclusion
isotonicity.
Thus, an inclusion isotonic interval extension whose values F (X) are defined by a
fixed finite sequence of rational (interval arithmetic) operations or compositions of Lipschitz
extensions is a Lipschitz extension in some suitably chosen region.
X = ∪N
ji =1 (X1,j1 , . . . , Xn,jn ), (6.6)
with w(X1,j1 , . . . , Xn,jn ) = w(X)/N .
Definition 6.3. Let F (X) be an inclusion isotonic, Lipschitz, interval extension for X ⊆ X0 .
The interval quantity
F(N ) (X) = N ji =1 F (X1,j1 , . . . , Xn,jn ) (6.7)
is called a refinement of F over X.
A refinement F(N ) (X) of F (X) is the union of the interval values of F over the
elements of a uniform subdivision of X.
If X and Y are intervals such that X ⊆ Y , then there is an interval E with E ≤ 0 ≤ E
such that Y = X + E and w(Y ) = w(X) + w(E). If F is an inclusion isotonic interval
extension of f with F (X) defined for X ⊆ X0 , then f (X) ⊆ F (X) for X ⊆ X0 . We
have F (X) = f (X) + E(X) for some interval-valued function E(X) with w(F (X)) =
w(f (X)) + w(E(X)).
Definition 6.4. We call
w(E(X)) = w(F (X)) − w(f (X)) (6.8)
the excess width of F (X).
The united extension itself has zero excess width; f (X) gives the exact range of values
of a continuous function f (x) for x ∈ X. We can compute f (X) as closely as desired by
computing refinements of an extension F (X).
Theorem 6.1. If F (X) is an inclusion isotonic, Lipschitz, interval extension for X ⊆ X0 ,
then the excess width of a refinement F(N ) (X) is of order 1/N . We have
F(N ) (X) = f (X1 , . . . , Xn ) + EN , (6.9)
where w(EN ) ≤ Kw(X)/N for some constant K.
i i
i i
i i interv
2008/11/
page 56
i i
Proof. Relation (6.9) follows from the fact that f (X) = ∪s f (Xs ), where the Xs are the
elements of the uniform subdivision. We have F (Xs ) = f (Xs ) + Es for some Es and
for each Xs . The inequality for w(EN ) holds with K = 2L since, in the worst case,
the maximum excess width may have to be added to both upper and lower bounds in the
union.
We can compute arbitrarily sharp lower and upper bounds on the exact range of values
of a wide variety of real-valued functions of n variables by subdividing the domain of
arguments and taking the union of interval evaluations over the elements of the subdivision.
This technique, also known as splitting, converges at least linearly in the width of the pieces
in the subdivision.
Example 6.3. Consider
the function f (x) = x − x 2 for x ∈ [0, 1]. It is easily verified that
f ([0, 1]) = 0, 4 . The interval extension
1
F (X) = X − X · X
has F ([0, 1]) = [−1, 1]. Hence, its excess width is 2 − 14 = 74 . Let us split [0, 1] into n
subintervals Xi = [(i − 1)/n, i/n], 1 ≤ i ≤ n. We now compute the range of values of
F (X) over each of these subintervals and then take the union of the resulting intervals to
find a narrower interval still containing the range of values of F (X). The table below gives
numerical results for a few values of n:
n F(n) (X)
1 [−1, 1]
2 [−0.5, 0.75]
10 [−0.1, 0.35]
100 [−0.01, 0.26]
1000 [−0.001, 0.251]
10000 [−0.0001, 0.2501]
These
1 strongly suggest convergence, and every F(n) (X) contains the exact range of values
0, 4 .
Exercise 6.6. The computations in Example 6.3 can be done neatly in MATLAB using the
INTLAB toolbox. In particular, F (X) can be programmed:
function Y = example6p3(X)
Y = X - X*X;
(The above MATLAB code should be put into a file named example6p3.m. This happens
automatically if MATLAB’s editor is used and the default “save file” is done the first time
the file is saved.) Computation of a row of the table in Example 6.3 can be done with the
following function:
function Y = refinement(X,f,N)
% Y = refinement(X,f,N)
i i
i i
interval
i i
2008/11/18
page 57
i i
i i
i i
i i interv
2008/11/
page 58
i i
Lemma 6.5. Suppose {Xk } is such that there is a real number x ∈ Xk for all k. Define {Yk }
by Y1 = X1 and Yk+1 = Xk+1 ∩ Yk for k = 1, 2, . . .. Then Yk is nested with limit Y , and
Proof. By induction, the intersection defining Yk+1 is nonempty so {Yk } is well defined. It
is nested by construction. Relation (6.10) follows from Lemma 6.4.
Finite Convergence
Definition 6.6. By the finite convergence of a sequence {Xk }, we mean there is a positive
integer K such that Xk = XK for k ≥ K. Such a sequence converges in K steps.
Example 6.4. It is not hard to see that
generates a nested sequence {Xk }. The rational interval function F(X) = 1 + X/3 is
inclusion isotonic. Therefore, X1 = F (X0 ) = 1 + [1, 2]/3 = 43 , 53 ⊆ X0 = [1, 2]. It
follows that Xk+1 = F (Xk ) ⊆ Xk for all k by finite induction. By Lemma 6.4, the sequence
has a limit X. If we compute {Xk } using IA, we will obtain a sequence {Xk∗ } with Xk ⊆ Xk∗
for all k. More precisely, let Xk∗ be defined by X0∗ = X0 = [1, 2], and
∗
Xk+1 = {1 + Xk∗ /3 : computed in IA} ∩ Xk∗
for k = 0, 1, 2, . . . (which we can apply, since X ⊆ Xk for all k). It follows from Lemma 6.5
that Xk∗ is nested and that the limit of {Xk } is contained in the limit X ∗ of {Xk∗ }. The sequence
{Xk∗ } will converge in a finite number of steps. For instance, with three-digit IA we find
and Xk∗ = X ∗ for all k ≥ 4. We have finite convergence in four steps. The real sequence
xk+1 = 1 + xk /3 converges to 1.50 (after infinitely many steps) from any x0 .
We can also illustrate the finite convergence of the sequence in Example 6.4, as well as
illustrate use of the uncertainty representation within INTLAB, with the following INTLAB
function:
function [X] = finite_convergence_example()
% Implements the computations for the finite convergence
% example in Chapter 6 of Moore / Kearfott / Cloud
format long;
intvalinit(’Display_’);
i i
i i
interval
i i
2008/11/18
page 59
i i
X = infsup(1,2);
X_new = infsup(-Inf,Inf);
i=0;
while (X_new ˜= X)
i=i+1;
X = intersect(X,X_new);
i,X
X_new = 1+ X/3;
end
When finite_convergence_example is issued from the MATLAB command prompt,
the following output (edited for brevity) ensues:
finite_convergence_example
===> Default display of intervals with uncertainty (e.g. 3.14_),
inf/sup or mid/rad if input too wide
i = 1, intval X = [ 1.00000000000000 , 2.00000000000000 ]
i = 2, intval X = [ 1.33333333333333 , 1.66666666666667 ]
i = 3, intval X = [ 1.44444444444444 , 1.55555555555556 ]
i = 4, intval X = 1.5_____________
i = 5, intval X = 1.50____________
i = 6, intval X = 1.50____________
i = 7, intval X = 1.500___________
i = 8, intval X = 1.500___________
.
.
.
i = 28, intval X = 1.5000000000000_
i = 29, intval X = 1.5000000000000_
i = 30, intval X = 1.50000000000000
i = 31, intval X = 1.50000000000000
i = 32, intval X = 1.50000000000000
i = 33, intval X = 1.50000000000000
i = 34, intval X = 1.50000000000000
diary off
This illustrates that approximately half a decimal point of accuracy is gained on each iteration
and that, indeed, the convergence ends after a finite number of steps (34 steps) when using
standard binary arithmetic.
Next we examine a sequence of refinements computed in IA and intersected to yield
a nested sequence that converges in a finite number of steps.
Example 6.5. Consider the interval polynomial F (X) = X(1 − X) and its refinements
F(N ) (X). Let X = [0, 1] and take the sequence
Y1 = F(1) ([0, 1]) = F ([0, 1]), Yk+1 = F(k+1) ([0, 1]) ∩ Yk (k = 1, 2, . . .).
The intersections are nonempty because each refinement contains the range of values of
f (x) = x(1 − x) for x ∈ [0, 1], namely [0, 14 ]. By construction, {Yk } is nested. By
Theorem 6.1 and Lemma 6.5,
f (X) = ∞ k=1 F(k) (X) = lim Yk . (6.11)
k→∞
i i
i i
interval
i i
2008/11/18
page 60
i i
We have
0, 14 + 1/(2k) + 1/(4k 2 ) , k odd,
F(k) ([0, 1]) = 1
0, 4 + 1/(2k) , k even.
We can compute a subsequence of {Yk }, for example, for k of the form k = 2t , t = 1, 2, . . ..
If we compute the nested sequence of intervals Y1∗ = [0, 1], and for t = 1, 2, . . .,
∗
Yt+1 = F(2∗ t ) ([0, 1]) ∩ Yi∗ ,
∗
where F(k) ([0, 1]) is F(k) ([0, 1]) computed in three-place IA, we obtain again a nested
sequence {Yt∗ }. This converges in nine steps to the interval [0, 0.251]. We have Yt∗ =
[0, 0.251] for all t ≥ 9.
With IA, it may happen that X1 = F (X0 ) ⊆ X0 but that Xk+1 Xk for some k. If
instead of (6.14), we compute
Xk+1 = F (Xk ) ∩ Xk (6.15)
and stop when (6.12) is satisfied (which will happen always for some k using fixed finite
precision IA), we have the narrowest possible interval containing X∗ = F (X ∗ ). A narrower
interval would require using higher-precision arithmetic.
Furthermore, if for a chosen X0 , the interval F (X0 ) ∩ X0 is empty, then X0 contains
no fixed points of F (i.e., there is no X ∈ X0 such that F (X) = X). This follows from the
inclusion isotonicity of F , for if F (X) = X and X ⊆ X0 , then X = F (X) ⊆ F (X0 ) and so
X ⊆ F (X0 ) ∩ X0 ; therefore, if F (X0 ) ∩ X0 is empty, there is no such X.
i i
i i
interval
i i
2008/11/18
page 61
i i
Since F (X0 ) ∩ X0 = ∅, there is no fixed point of F in [1, 2]. If we take X0 = 2, 72 instead,
then
F (X0 ) = 12 2, 72 + 2 = 3, 15 4
.
Here F (X0 ) ∩ X0 = 3, 72 ; we cannot conclude anything since F (X0 ) X0 . Finally, with
X0 = [2, 5], we have F (X0 ) = F ([2, 5]) = 3, 92 . This time, F (X0 ) ⊆ X0 , so F has a
fixed point X in X0 . The iterations
Xk+1 = F (k, Xk ),
then we might have Xk+1 = Xk for some k and yet Xk+2 = Xk even though {Xk } is nested.
An example is
Xk+1 = ([0, 2]/k) ∩ Xk , X1 = [0, 1]. (6.17)
i i
i i
i i interv
2008/11/
page 62
i i
Here
X1 = [0, 1],
X2 = [0, 1],
X3 = [0, 1],
X4 = [0, 23 ],
X5 = [0, 12 ],
..
.
Xk+1 = [0, 2/k], k > 2.
Hence, (6.12) is a valid stopping criterion if and only if {Xk } is nested and generated by
(6.16) with F (Xk ) depending only on Xk .
Remarks on Branching
Let us close this section with some comments about branching in computer programs. For
real numbers x and y, the relation x ≤ y is either true or false. If it is false, then we have
x > y. If all we know about x and y is that they lie in intervals x ∈ X and y ∈ Y , then we
can only deduce one of three possibilities:
(1) If X ≤ Y , then x ≤ y.
(2) If X > Y , then x > y.
(3) Otherwise, we don’t know whether x ≤ y or x > y.
We can modify any computer program by using IA instead of ordinary machine arithmetic
whenever rounding error is possible in an arithmetic operation and by using the above three-
valued logic for all branch tests involving computed quantities which are only known to
lie in certain computed intervals. If we stop the computation whenever a “don’t know”
logical value is obtained, then all intervals computed up to that point by the modified
problem contain the exact result of the corresponding finite sequence of operations using
exact (infinite precision) real arithmetic for all arithmetic operations.
Note Although we may, in principle, apply this to all computer programs originally written
with floating point arithmetic, it is unlikely to lead to good results without additional careful
analysis and redesign. For example, if we “don’t know” whether x ≤ y or x > y, we must
take the union of the values of the separate branches, resulting in more computation and
wider intervals. This is often impractical, especially if there are many such branches, and
can lead to unusefully wide enclosures.
Exercise 6.7. The following MATLAB function (which uses INTLAB) performs a single
step of the iteration (6.15):
function new_X = interval_fixed_point_step(f,X)
% X_star = interval_fixed_point_step(f,X)
i i
i i
i i interv
2008/11/
page 63
i i
new_X = intersect(X,feval(f,X));
For example, with the function
function Y = example6p4(X)
Y = 1 + X/3;
we can reproduce an analogue of the sequence in Example 6.4, but with correctly outwardly
rounded intervals displayed roughly to machine precision, with the following MATLAB
dialogue:
>> format long
>> intvalinit(’DisplayInfsup’)
>> X = infsup(1,2)
intval X = [ 1.00000000000000 , 2.00000000000000 ]
>> X = interval_fixed_point_step(’example6p4’,X)
intval X = [ 1.33333333333333 , 1.66666666666667 ]
>> X = interval_fixed_point_step(’example6p4’,X)
intval X = [ 1.44444444444444 , 1.55555555555556 ]
>> X = interval_fixed_point_step(’example6p4’,X)
intval X = [ 1.48148148148148 , 1.51851851851852 ]
>> X = interval_fixed_point_step(’example6p4’,X)
intval X = [ 1.49382716049382 , 1.50617283950618 ]
>> X = interval_fixed_point_step(’example6p4’,X)
intval X = [ 1.49794238683127 , 1.50205761316873 ]
i i
i i
interval
i i
2008/11/18
page 64
i i
>> X = infsup(1,2)
intval X = [ 1.00000000000000 , 2.00000000000000 ]
>> [Y,N] = interval_fixed_point_limit(’example6p4’,X)
intval Y = [ 1.49999999999999 , 1.50000000000001 ]
N = 34
(The displayed interval [1.49999999999999, 1.50000000000001] represents an out-
wardly rounded binary-to-decimal conversion of the actual binary representation of the
interval.)
1. Does interval_fixed_point_limit work for Examples 6.5 and 6.6?
2. Can interval_fixed_point_limit fail? If so, how?
3. Do you think an upper bound on the number of iterations allowed in the loop in
interval_fixed_point_limit should be given? If not, then, assuming IEEE
double precision arithmetic, can you compute an upper bound on the number of
iterations actually needed?
i i
i i
interval
i i
2008/11/18
page 65
i i
can be expressed as the sequence (commonly called a code list or computational graph)
T1 = x22 ,
T2 = x1 + T1 ,
T3 = eT2 ,
T4 = T3 x1 ,
f (x1 , x2 ) = T4 − T1 .
T1 = H1 (Y1 , Z1 ),
T2 = H2 (Y2 , Z2 ),
..
. (6.19)
F (x) = TM = HM (Ym , Zm ),
An evaluation of F requires one pass through the finite sequence of operations (6.19), just
as an evaluation of f requires one pass through (6.18). An evaluation of F(N ) (X), given
by (6.9), requires N n evaluations of F (X). If n is at all large, this involves a prohibitive
amount of computation to achieve the result (6.20) for large N . Even for n = 2 we have,
for N = 1000 (perhaps to reduce the excess width to 0.001), 10002 = 106 evaluations to
carry out.
Fortunately, by using more information about a particular function f , we can compute
an interval containing the exact range of values and having arbitrarily small excess width
i i
i i
interval
i i
2008/11/18
page 66
i i
with far less work. In some cases, we can even compute an interval with zero excess width
in one evaluation of F (X). In the remainder of this section, we assume that f ∈ FCn (X0 )
with F (X) defined for X ⊆ X0 by (6.19).
Theorem 6.2. If each of the variables x1 , . . . , xn occurs at most once in the list y1 , z1 , . . . , yn ,
zn of arguments in the sequence (6.18) defining f (x), then the interval extension F (X) de-
fined by (6.19) is the united extension of f for all X ⊆ X0 .
Proof. We have F (X) = f (X) if and only if f (X) ⊆ F (X) and F (X) ⊆ f (X). The
first inclusion holds under our assumptions on F (X). Under the further hypothesis of the
theorem, every real number r ∈ F (X) is expressible as r = f (x) for some x = (x1 , . . . , xn )
with xi ∈ Xi for i = 1, . . . , n. In fact, each Hi is the united extension of hi . Therefore
F (X) ⊆ f (X).
Hence, for a function f satisfying the hypotheses of Theorem 6.2, we can compute
the exact range of values of f (x) for x ∈ X ⊆ X0 with one evaluation of F (X) using (6.19).
If some xi occurs more than once in the list of arguments in (6.18), then the corre-
sponding Xi occurs more than once in the list of arguments in (6.19). In this case, there
may be real numbers in F (X) which are not expressible as f (x) for any x ∈ X.
Example 6.8. Consider f ∈ FC1 ([0, 1]) defined by
T1 = 1 − x1 , f (x1 ) = T2 = T1 x1 .
The variable x1 occurs twice as an argument. The corresponding list for F (X) is
T1 = 1 − X 1 , F (X1 ) = T2 = T1 X1 .
Now F ([0, 1]) = [0, 1], but there is no x1 ∈ [0, 1] such that f (x1 ) = (1−x1 )x1 = 1 ∈ [0, 1].
On the other hand, the interval function
T1 = 1 − X1 , F (X1 , X2 ) = T2 = T1 X2 ,
T1 = 1 − x1 , f (x1 , x2 ) = T2 = T1 x2 .
In particular, F ([0, 1], [0, 1]) = [0, 1] is the exact range of values of f (x1 , x2 ) = (1−x1 )x2
for x1 ∈ [0, 1] and x2 ∈ [0, 1].
Another explanation for the difference between these two results is the following. In
both cases, we first compute 1 − [0, 1] = [0, 1]. This is the exact range of values of 1 − x1
for x1 ∈ [0, 1]. The discrepancy comes at the next step. When we compute T1 X1 with
T1 = [0, 1] and X1 = [0, 1], we obtain [0, 1]. We obtain the same result for T1 X2 with
T1 = [0, 1] and X2 = [0, 1].
In the second case, this is the desired exact range of values of f (x1 , x2 ). In the first
case, we get an overestimation of the range of values of f (x1 ) = (1 − x1 )x1 because, during
the numerical evaluation of T1 X1 , we have not made use of the information that T1 = [0, 1]
represents the range of values of 1 − x1 for x1 ∈ X1 . We have not distinguished between
this and T1 = [0, 1] as the range of values of 1 − x2 for a variable x2 independent of x1 .
i i
i i
interval
i i
2008/11/18
page 67
i i
Example 6.8 shows that it is better to use the interval extension X n defined by (5.29)
for integer powers x n than to use X · X · · · · · X. For X = [−1, 2] we obtain X · X = [−2, 4],
whereas X2 using (5.29) yields the correct result, [−1, 2]2 = [0, 4] = {x 2 : x ∈ [−1, 2]}.
Exercise 6.9. Find the range of values of
g(x, y, z, u, v, w) = (33 − 2x + yz)/(10 − uvw)
over the unit 6-cube x, y, z, u, v, w ∈ [0, 1].
Sometimes we can reduce the number of occurrences of a variable in a real rational
expression by algebraic manipulation.
Example 6.9. Let f (x1 , x2 , x3 ) be defined by
x1 + x2
f (x1 , x2 , x3 ) = x3 , (6.21)
x1 − x 2
which we can rewrite as
2
f (x1 , x2 , x3 ) = x3 1 + . (6.22)
(x1 /x2 ) − 1
For x1 ∈ [1, 2], x2 ∈ [5, 10], and x3 ∈ [2,3], the natural interval extension of (6.22)
produces the correct range of values −7, − 22 since each variable occurs only once. How-
9
ever, the natural interval extension of (6.21) produces −12, − 12 9
with an excess width
of 55
9
.
Given a function f ∈ FCn (X0 ) defined by a finite sequence of the form (6.18), we
can construct interval extensions of f other than the natural extension given by (6.19). We
will discuss four: the centered form, the mean value form, a variant of the mean value form
we call the slope form, and the monotonicity-test form.
i i
i i
interval
i i
2008/11/18
page 68
i i
From (6.20) it follows (with N = 1) that the excess width of the natural interval ex-
tension of a rational function is of order w(X). Hansen [63] has shown that the excess width
of the centered form is of order w(X)2 . Thus, using the centered form in the computation
of F(N ) (X) defined in (6.7), we have
instead of (6.20). Using the centered form instead of the natural interval extension for
rational functions, we can reduce the excess width of refinements to a prescribed amount
with about the square root of the number of function evaluations required for the natural
extensions. This often remains prohibitively large, and we will discuss methods for further
reduction. Nonetheless, for a single evaluation of an interval extension on an interval vector
of small width, the centered form can give very small excess width compared to the natural
extension for rational functions. Ratschek [209] has found higher-order centered forms.
Exercise 6.10. Apply the centered form technique to the expression f (x) = 13 x 3 − 2x and
the interval [1.2, 1.6].
i i
i i
interval
i i
2008/11/18
page 69
i i
extension of ∂f/∂xi ; we will show how to obtain these presently. By the mean value theorem
we have, for all X ⊆ X0 ,
n
f (X) ⊆ Fmv (X) = f (m) + Di F (X)(Xi − mi ). (6.25)
i=1
T1 = x22 ,
T2 = x1 + T1 ,
T3 = eT2 ,
T4 = T3 x1 ,
f (x) = T4 − T1 . (6.26)
D1 T1 = 0, D2 T1 = 2X2 ,
D1 T2 = 1, D2 T2 = D2 T1 ,
D1 T3 = 0, D2 T3 = T3 (D2 T2 ),
D1 T4 = T3 + X1 (D1 T3 ), D2 T4 = (D2 T3 )X1 ,
D1 F (X) = D1 T4 , D2 F (X) = D2 T4 − D2 T1 . (6.27)
For X1 = [1, 2] and X2 = [0, 1], we find m = ( 32 , 12 ), and from (6.26), f (m) = (3/2)e7/4 −
1
4
= 8.3819040 . . .. In (6.27), the quantities T1 , T2 , T3 , T4 must first be computed in interval
arithmetic using the natural extensions (or united extensions) of the operations in (6.26)
beginning with the given interval values for X1 and X2 . We find
T1 = [0, 1],
T2 = [1, 3],
T3 = [e1 , e3 ] = [2.7182818 . . . , 20.0855369 . . .],
T4 ⊆ [2.7182818, 40.171074].
i i
i i
i i interv
2008/11/
page 70
i i
We next compute
D1 T1 = 0,
D1 T2 = 1,
D1 T3 = [2.7182818 . . . , 20.0855369 . . .],
D1 T4 ⊆ [5.4365636 . . . , 60.256611],
D1 F (X) ⊆ [5.4365636, 60.256611],
D2 T1 = [0, 2],
D2 T2 = [0, 2],
D2 T3 ⊆ [0, 40.171074],
D2 T4 ⊆ [0, 80.342148],
D2 F (X) ⊆ [−2, 80.342148].
Finally,
Fmv ([1, 2], [0, 1]) ⊆ [−61.917477, 78.681284]
by (6.25).
Exercise 6.11. Repeat Exercise 6.10 using the mean value form.
help system. In earlier releases of INTLAB, typing help in the MATLAB command window gives a list of
toolbox help files, including those for INTLAB, upon which one can click.
i i
i i
interval
i i
2008/11/18
page 71
i i
In fact, using the gradient toolbox, we can write the following m-file to compute the mean
value form of a general function:
m = mid(X);
Xg = gradientinit(X);
fm = feval(f,m);
DFX = feval(f,Xg);
Xminusm = X-m;
Fmv = fm + DFX.dx * Xminusm’;
function f = example6p11(x)
f = x(1) * exp(x(1)+x(2)ˆ2) - x(2)ˆ2;
then the following MATLAB command window dialogue computes the mean value form
corresponding to Example 6.11:
i i
i i
interval
i i
2008/11/18
page 72
i i
Exercise 6.13. The code list such as (6.27) for Example 6.11 is not unique for a given
expression. For example, if f (x) = x 4 + x 2 + 1, one sequence might be
T1 = x 2 ,
T2 = T12 ,
T3 = T1 + T2 ,
f (x) = T3 + 1,
T1 = x 4 ,
T2 = x 2 ,
T3 = T2 + 1,
f (x) = T3 + T1 .
Thus, when operator overloading is used in a compiled language (such as one of the newer
Fortran standards or C++) or an interpreted language (such as MATLAB), different code
lists might be produced for f with different compilers or different versions of the interpreter.
This is usually not of much consequence, unless the compiler also rearranges the expression
for “optimization” (typically to reduce the number of operations or to make it possible to
evaluate the expression more quickly on particular computer circuitry); as we have seen,
rearrangement can result in a different interval enclosure.
(b) Write down a third code list for f , assuming the expression has been rearranged, such
as by factoring out an ex2 from both terms.
(c) Evaluate your three code lists step by step using INTLAB. Try different intervals,
such as (X1 , X2 ) = ([−1, 1], [−1, 1]), (X1 , X2 ) = ([−1, 1], [1, 2]), etc. What do
you observe?
Slope Form
It is possible to replace the interval extensions Di F (X) in the mean value form (6.25) by
intervals Si (F, X, m) that are often narrower than Di F (X) but that still result in an enclosure
for f (X). The Si (F, X, m) are interval enclosures for the slope of f at m over X.
i i
i i
i i interval
2008/11/18
page 73
i i
Note that s(f, x, y) exists for particular f , x, and y under various assumptions. For
instance, if f has a continuous first derivative, then the mean value theorem states that
s(f, x, y) = f (ξ ) for some ξ between x and y.
The power of slopes lies in the fact that interval extensions of them can be computed
that are narrower than corresponding interval extensions of derivatives. That is, thinking
of x as the variable and y as fixed, we can compute an interval extension S(f, X, y) of
s(f, x, y) that is narrower than a corresponding interval extension F (X).
Example 6.12. If f (x) = x 2 , then s(f, x, y) = x + y. Thus, an interval enclosure
S(f, X, y) is X + y. For instance, if X = [1, 3] and y = 2, then X + y = [3, 5]. However,
f (x) = 2x, so the range of f over X = [1, 3] is 2[1, 3] = [2, 6], a wider interval
than [3, 5].
For multivariate functions, interval bounds on slopes with respect to particular vari-
ables, analogous to interval enclosures for partial derivatives, can be included. We will
denote such a bound for the ith variable by Si (f, X, y). Assuming we have such slope
enclosures, we obtain, for x ∈ X and Yi = Xi − yi ,
n
f (x) ∈ Fs (X, y) = f (y) + Yi Si (f, X, y). (6.28)
i=1
i i
i i
i i interv
2008/11/
page 74
i i
2.5
1.5
f(x) = x2
0.5
X y
Figure 6.1. Slope extensions versus mean value extension (Example 6.13).
Xs = slopeinit(y,X);
fy = feval(f,y);
S = feval(f,Xs);
Y = X-y;
Fs = fy + S.s * Y’;
With this function, the following MATLAB command window dialogue computes the slope
form corresponding to Example 6.11:
>> X = [infsup(1,2), infsup(0,1)];
>> y = [1.5 0.5];
i i
i i
interval
i i
2008/11/18
page 75
i i
>> Fs = slope_form(’example6p11’,X,y)
intval Fs = [ -22.9073 , 39.6711 ]
Exercise 6.14. On an abstract level, slopes and centered forms are related. Explain the
relationship of the centered form (6.24) to Definition 6.7 and to the slope form (6.28).
(Note that people who use the term “centered form” have developed somewhat different
computational techniques than the people who use the term “slope.”)
Exercise 6.15. Repeat Exercise 6.12 using the slope form.
Exercise 6.16. In Example 6.13, we saw that different center points y in the slope or centered
form (6.28) lead to different but valid enclosures and that it is not even necessary that y ∈ X.
(However, y must be contained in X for the mean value form.) We also saw that the different
enclosures can be intersected to obtain an even tighter enclosure; optimal choice of centers
to maximize the left endpoint or minimize the right endpoint of the enclosure is studied in
[20]. Redo Exercise 6.12, experimenting with different points y.
Notes
1. From Definition 6.7, one sees that s(f, x, y) is the first-order divided difference of f
between x and y. Reps and Rall [216] discuss automatically computing such slopes,
including higher-order divided differences.
2. More recently, Schnurr [229] has carefully described a second-order version of slopes
in an interval context, as well as use of this in global optimization.
i i
i i
interval
i i
2008/11/18
page 76
i i
By (6.31), we see that f (x1 , x2 ) is also monotonic increasing with x2 for all (x1 , x2 ) ∈ X,
so the exact range of values can be bounded sharply by computing
It follows from a theorem of Alefeld and Herzberger [13] that the mean value extension, like
the centered form or slope form, has excess width of order w(X)2 . When w(X) is small, both
forms yield tight enclosures. For wider intervals, they may actually give wider enclosures
than the natural extension, as in the example just discussed. However, we obtain, for the
same function (6.26) with the narrower arguments X1 = [1, 1.01] and X2 = [.4, .401] from
(6.25) and (6.27),
Fmv (X) = [3.029529, 3.096156],
whereas the natural extension
yields
F (X) = [3.029132, 3.096821].
The excess width of F (X) is 0.001602, while that of Fmv (X) is only 0.000539.
We can modify (6.25) to obtain the monotonicity test form Fmt (X) as follows. Let S
be the set of integers i (indices) such that
Then, we define
Fmt (X) = [f (u), f (v)] + Di F (X)(Xi − m(Xi )), (6.33)
i∈S
Theorem 6.3. For f ∈ FCn (X0 ) with F (X) and Di F (X) (i = 1, . . . , n) expressible in the
form (6.19) and extensions of its partial derivatives (e.g., (6.27)), we have f (X) ⊆ Fmt (X)
for all X ⊆ X0 .
i i
i i
interval
i i
2008/11/18
page 77
i i
for all xi ∈ Xi , i = 1, . . . , n. Adding (6.35) and (6.36), we get f (x) ∈ Fmt (X) for all
x ∈ X.
As the previous example shows, the better the extensions Di F (X) of the partial
derivatives, the better the results for the form Fmv (X). (Compare (6.32) using (6.30) with
(6.29) using (6.27).)
Skelboe’s Algorithm
Skelboe [232] introduced a much more efficient algorithm for computing refinements. We
first seek a lower bound on the range of values of f , then repeat the process for the lower
bound of −f which is the upper bound of f . During the sequence of bisections, we evaluate
f only on a finite subsequence of regions producing the smallest lower bounds. While the
interval extensions used for the evaluations can be any of the forms discussed here (or
others), there is an advantage in using forms such as the centered form or the mean value
form (or the monotonicity test modification of it) because of the more rapid convergence of
the excess width to zero as the size of the regions grows small.
Skelboe [232] shows that, in computing refinements, no subdivision is necessary of
argument intervals for arguments which occur only once in the expression used for the
interval extension. We present next a simplification of Skelboe’s algorithm, known as the
Skelboe–Moore algorithm.
Suppose we are given an interval extension F (X) of f ∈ FCn (X0 ), and we want to
bound the range of values of f in X0 using refinements of F . We first find a lower bound
and then, replacing F (X) by −F (X), repeat the procedure to be described to find an upper
bound. If the evaluations are done in IA, the procedure will converge in a finite number of
steps. To find a lower bound, we create a list of pairs (Y, F (Y )), ordered so that (Y, F (Y ))
comes before (Z, F (Z)) in the list only if F (Y ) ≤ F (Z). The interval extension used could
be the mean value form, the centered form, the monotonicity test form, or any other form
having inclusion isotonicity. The better the extension, the fewer the steps to convergence.
The Skelboe–Moore algorithm is as follows.
(1) Set20 fub ← f (m(X0 )), where f (m(X0 )) is computed with either upward rounding
or interval arithmetic21 as F (m(X0 ));
20 We use ← to denote the operation of setting a value equal to another value, while we reserve = to assert that
i i
i i
i i interv
2008/11/
page 78
i i
(2) set X ← X0 ;
(3) initially, the lists L and C are empty;
(4) bisect X in coordinate direction i such that w(Xi ) = w(X) = max1≤i≤n w(Xi ):
X = X(1) ∪ X (2) ;
(5) fub ← min fub , F (m(X (1) )), F (m(X (2) )) ;
where
Xi(1) = [Xi , 12 (Xi + Xi )], Xi(2) = [ 12 (Xi + Xi ) , Xi ].
Straightforward refinement with uniform subdivision into N subintervals in each of
n coordinates requires N n evaluations of F (X). On the other hand, for most functions with
only a finite number of isolated extrema in X0 , the algorithm above produces bounds on the
range of values, of comparable excess width, in about Cn(log2 N ) evaluations of F (X) for
some constant C independent of n and N .
We have implemented Algorithm 6.1 using INTLAB. Its header is as follows.
i i
i i
interval
i i
2008/11/18
page 79
i i
To simplify programming Skelboe_Moore, we have written some simple linked list pro-
cessing functions new_linked_list.m, insert.m, is_empty.m, and remove_first.m,
as well as bisect.m and a plotting function plot.m, which uses plotpts.m from our
GlobSol package.
To compare this algorithm with uniform refinement to obtain good lower and upper
bounds, we have run Algorithm 6.1, using the interval extension of f (x) = x − x 2 as in
Example 6.3, using the following MATLAB dialogue:22
>> [LB, X_lb, N_iter, completed_list] ...
= Skelboe_Moore(’example6p3’,[infsup(-1,1)],1e-4)
intval LB = [ -2.0000 , -2.0000 ]
intval X_lb = [ -1.0000 , -0.9999 ]
N_iter = 18
>> plot_list(completed_list,1,0,’Example 6.3’)
>> [LB, X_lb, N_iter, completed_list]...
= Skelboe_Moore(’minus_example6p3’,[infsup(-1,1)],1e-4)
intval LB = [ -0.2501 , -0.2500 ]
intval X_lb = [ 0.5000 , 0.5001 ]
N_iter = 875
>> plot_list(completed_list,1,0,’Minus Example 6.3’,1)
Observe that more work is required (875 bisections) to get the upper bound of 0.2500 than
to get the lower bound (only 18 boxes) of −2.000 to within 10−4 . However, this total is
much less than the comparable amount of work that would be required (about 10,000 boxes;
see the table on p. 56) if a uniform subdivision were used. The reason it takes more work
to obtain an upper bound that is sharp to within 10−4 is related to the fact that the upper
bound occurs at a critical point. The basic problem is that the expression for the function
22 Somewhat abridged. Also, note that the lower bound is output as an interval, so INTLAB will display the
i i
i i
interval
i i
2008/11/18
page 80
i i
exhibits more interval dependency due to lack of monotonicity when it is evaluated over
boxes containing this critical point, so the refinement must be finer there.
In addition to the output seen in the preceding MATLAB dialogue, the routine
plot_list, as seen in the dialogue, produces a one-dimensional graph with the intervals
in the list plotted in cyclically varying colors.
Example 6.14. We will use Skelboe_Moore.m to find rigorous lower and upper bounds
on the range of
f (x, y) = x 2 − 2y 2 + 5
over the box X = ([−1, 1], [−1, 1]). We programmed f in the m-files simple_2d.m and
minus_simple_2d.m, and we proceed with the following dialogue:23
This computation shows that 4417 bisections were required to get the lower bound to within
10−4 and 856 bisections were required to get the upper bound to within 10−4 . The boxes
produced during the process appear in Figures 6.2 and 6.3, respectively, while a contoured
surface plot of f is in Figure 6.4. (Figures 6.2 and 6.3 were produced with the calls to
plot_list shown.) Examining the map of f in Figure 6.4, we see that the boxes are
neatly clustered about the points where the lower bound and upper bound are achieved.
Since Algorithm 6.1 uses a range tolerance, and since uniform subdivision uses a
domain tolerance, it is unclear how many subdivisions would be required to achieve a range
tolerance of 10−4 . However, if it is assumed the function values vary proportionally to the
increments in the variables24 with constant of proportionality 1, then 2/10−4 subdivisions
would be required in each direction, to reduce the box diameters to 10−4 . That is, 4 × 108
boxes would be required.
Greater efficiency can be gained by incorporating acceleration devices into the Skelboe–
Moore algorithm. For example, our GlobSol software, using interval Newton methods (see
Chapter 8) and other techniques, obtains the lower bound by considering just two intervals
and also obtains the upper bound by considering just two intervals.25 Furthermore, other
software has compared favorably to GlobSol in the literature. We comment more on this
23Abbreviated.
24 Not true at critical points.
25 However, more work is required per interval.
i i
i i
interval
i i
2008/11/18
page 81
i i
0.8
0.6
0.4
0.2
−0.2
−0.4
−0.6
−0.8
−1
−1 −0.5 0 0.5 1
0.8
0.6
0.4
0.2
−0.2
−0.4
−0.6
−0.8
−1
−1 −0.5 0 0.5 1
in the next section and in Chapters 8 and 11. However, such acceleration techniques may
require the function to have additional properties, such as smoothness, to work well.
i i
i i
interval
i i
2008/11/18
page 82
i i
5.5
4.5
3.5
3
1
0.5 1
0 0.5
0
−0.5 −0.5
−1 −1
of f over X. This is a difficult problem for general f but is important nonetheless. Theoret-
ical relationships between this global optimization problem and other problems in interval
computations, mathematics, and computer science are given in [121] and elsewhere.
Finding the absolute minimum of a multivariate function f over a region in Rn is
termed global optimization, and f is called the objective function. The Skelboe–Moore
algorithm is a prototypical branch-and-bound algorithm. Here, we “bound” the value of
the objective function over a region. If the bounds are not sufficiently accurate, then we
“branch,” that is, we cut the region into two or more smaller regions to obtain more accurate
bounds.
As a branch-and-bound algorithm, Skelboe–Moore shares much with many algorithms
in commercial software for global optimization. Commercial packages for particular global
optimization problems, such as mixed integer programming problems, use branch-and-
bound methods. Furthermore, BARON (branch and reduce optimization navigator) is a
general global optimization package that has won a number of prizes for software. Al-
though BARON does not compute rigorous bounds on its answers as true interval software
constructed for rigor does, BARON uses interval arithmetic in places to bound ranges. See
[227, 241] for an introduction to BARON.
Interval computation researchers working in global optimization have provided many
sophisticated improvements and extensions to the Skelboe–Moore algorithm while main-
taining full mathematical rigor in the results. For instance, methods have been developed
and improved to handle inequality and equality constraints and to speed up the process.
Books and dissertations on the subject include Hansen’s 1992 book [65], Hansen and Wal-
ster’s 2003 update [57], [97], [213], other books, many scholarly research articles, and web
resources. This is an active research area and will probably remain so for some time.
Although the Skelboe–Moore algorithm is simple and is still to be recommended in
certain contexts, it is mainly of didactic and historical significance today in the context of
i i
i i
interval
i i
2008/11/18
page 83
i i
6.5. Summary 83
global optimization. Algorithms in the above books, and algorithms tailored to specific
applications, described in various scholarly articles, generally are more practical today.
In the remainder of this section, we describe a few improvements to the Skelboe–Moore
algorithm.
For functions f having only one (or perhaps a few) isolated simple maximum or
minimum point(s) in X, we can use interval versions of Newton’s method to further reduce
the number of evaluations required to obtain sharp bounds on the range of values of f in
X. See also [210].
A clustering problem, perhaps first described in [44] and [102, 43], is the accumulation
of a large number of tiny boxes near a global minimum point of f (x1 , . . . , xn ). This
phenomenon occurs, especially for large n. If interval Newton methods are used with
methods for finding local optimizers, the cluster problem can be avoided with a process
called epsilon inflation;26 see [97, section 4.2]. Also, the cluster problem can be avoided,
even for singular Hessian matrices, by astute selection of tolerances and construction of
boxes about approximate optimizers. A very early example of such an algorithm is Step 4 in
Algorithm 2.6 in [93]. Neumaier has further clarified the clustering problem mathematically,
and gives additional insight into how to avoid it; see [170].
We will give a few more details concerning global optimization in section 11.2.
6.5 Summary
Algorithms based on refinements, discussed in this chapter, are used in interval software
to reduce overestimation, often in combination with other methods we will discuss in the
remaining chapters.
In the next chapter, we introduce interval computations in the context of numerical
linear algebra.
26 The first use of the term “epsilon inflation” of which we are aware occurs in [218] as “ -Aufblähung,” near
i i
i i
interval
i i
2008/11/18
page 84
i i
i i
i i
interval
i i
2008/11/18
page 85
i i
Chapter 7
Interval Matrices
7.1 Definitions
By an interval matrix, we mean a mean a matrix whose elements are interval numbers. For
example, we might have
A11 A12 [1, 2] [−1, 1]
A= = . (7.1)
A21 A22 [0, 4] [6, 8]
If A is an interval matrix with elements Aij and B is a matrix with real elements Bij such
that Bij ∈ Aij for all i and j , then we write B ∈ A.
The midpoint of A is the real matrix m(A) whose elements are the midpoints of the corre-
sponding elements of A:
(m(A))ij = m(Aij ).
Clearly, m(A) ∈ A.
Example 7.1. For the interval matrix (7.1), we have
A = max{|[1, 2]| + |[−1, 1]| , |[0, 4]| + |[6, 8]|}
= max{2 + 1 , 4 + 8}
= 12,
85
i i
i i
interval
i i
2008/11/18
page 86
i i
and
m([1, 2]) m([−1, 1]) 0.5 0
m(A) = = .
m([0, 4]) m([6, 8]) 2 7
Exercise 7.1. Show that the product of two interval matrices using interval arithmetic is
again an interval matrix consisting of interval elements each of which is exactly the range of
values of the corresponding element of the product of a pair of real matrices whose elements
are chosen independently from the corresponding elements of the interval matrices.
for each i, 1 ≤ i ≤ m, and each j , 1 ≤ j ≤ n, the resulting interval matrix C may contain
point matrices D that are not the result of the multiplication of point matrices P ∈ A and
Q ∈ B. The multiplication of practically any two interval matrices such that the second
matrix has more than one column can serve as an example.
Example 7.2. Consider
[5,6] [7,8]
A= [1, 2] [3, 4] and B= .
[9,10] [11,12]
However, D = (32 64) ∈ C, but D does not correspond to the product of any point matrix
P ∈ A with any point matrix Q ∈ B. In fact, the first element 32 of D is taken by taking
the product of the lower bound matrix A = (1 3) ∈ A with the lower bounds (5 9)T of
the first column of B, while the second element of D is obtained by taking the upper bound
matrix A ∈ A with the upper bounds (8 12)T of the second column of B. This type of
interval dependency occurs because the interval arithmetic does not assume that the same
point elements are chosen from the interval elements of A in forming the sets comprising the
different columns of the product interval matrix C. This is similar to interval dependency
in scalar expressions, as introduced on p. 38 and treated in the Fundamental Theorem of
Interval Analysis (Theorem 5.1). In terms of the Fundamental Theorem, if you think of each
interval element of the left matrix A as being a variable, then this variable occurs multiple
times, once for each column, in forming the columns of the interval product matrix C.
i i
i i
interval
i i
2008/11/18
page 87
i i
Exercise 7.3. INTLAB implements norm and midpoint for matrices with the functions norm
and mid, respectively. The function norm is an extension of the MATLAB function that
computes the norm of a matrix. If A is a real matrix, then norm(A) in MATLAB computes
the 2-norm of A and is the same as norm(A,2), while norm(A,1) and norm(A,inf)
compute the 1-norm and ∞-norm of A, respectively. INTLAB does not define norm(A,2)
when A is an interval matrix, but it does define norm(A,1) and norm(A,inf); the norm
defined in (7.2) corresponds to mag(norm(A,inf)). (The command norm(A) does not
work when A is an interval matrix.) The midpoint matrix for a matrix A cannot be the exact
midpoint matrix, but it is a floating point approximation. Use INTLAB to compute A
and m(A) for A as in Example 7.1.
i i
i i
interval
i i
2008/11/18
page 88
i i
Exercise 7.4. For scalar intervals, the INTLAB function diam corresponds to width. How-
ever, diam acts componentwise, returning a matrix when acting on a matrix.
(a) For A the matrix of Example 7.1, issue the following commands:
(i) diam(A),
(ii) max(diam(A)),
(iii) max(max(diam(A))).
Explain each result. (Hint: Look up max in MATLAB’s help system.)
(b) Using this experimentation, write a MATLAB function wid.m, callable by width
= wid(A), such that the returned value is the width of the matrix A as defined by
(7.3).
Ax = b, (7.4)
where A is an n-by-n matrix and b is an n-dimensional vector. There are two cases to
consider for the coefficients of A and b:
(1) they are real numbers exactly representable by machine numbers, and
(2) they are only known to lie in certain intervals Aij and Bi .
There are two types of methods for the numerical solution of such problems. Direct
methods, such as Gaussian elimination (with or without various “pivoting” schemes) can
produce exact results in case 1 in a finite number of arithmetic operations if A is nonsingular
and if infinite precision arithmetic is used. Indirect (or iterative) methods for the solution of
(7.4) in case 1 produce a sequence of approximate solutions which converge to the unique
solution if, for instance, A is of the form
A = I − M,
where I is the identity matrix and M has norm less than 1, such as for the norm (maximum
row sum norm)
M = max |Mij |. (7.5)
i
j
An exact solution in case (2) is much more difficult; the set of all solutions to (7.4),
when the coefficients of A and b can range over intervals, may be a very complicated set,27
and its computation is, in general, an NP-hard problem [121]. An example of such a solution
set, with
[ 2, 4] [−2, 1] [−2, 2]
A= , B= , (7.6)
[−1, 2] [ 2, 4] [−2, 2]
27 See, for instance [97, section 1.2.1] and the references there for a discussion of different kinds of solution sets.
i i
i i
interval
i i
2008/11/18
page 89
i i
6
(−3, 4) r
A@
@ (0, 1)
r (4, 3)
A@
A @
A @ r
(−1, 0) A
Ar r -
r A
@ A (1, 0)
A
@ A
(−4, −3) r @A
(0, −1) @
@Ar
(3, −4)
appears in Figure 7.1 (from [97, p. 20]). However, such a solution set can be enclosed in an
interval vector (an n-dimensional rectangle). As an immediate consequence of Corollary
5.1, we have the following computable test for existence of solutions to (7.4), with real or
interval coefficients.
Theorem 7.1. If we can carry out all the steps of a direct method for solving (7.4) in IA (if
no attempted division by an interval containing zero occurs, nor any overflow or underflow),
then the system (7.4) has a unique solution for every real matrix in A and every real vector
in b, and the solution is contained in the resulting interval vector X.
Consider the general 2-by-2 linear system
a11 x1 + a12 x2 = b1 ,
a21 x1 + a22 x2 = b2 .
Formally, we can eliminate x1 from the second equation by subtracting term by term a21 /a11
times the first equation, as done in Gaussian elimination. Doing that, we can solve for x2
by a division from the equation
Then we can use that value of x2 and the first equation to solve for x1 by another division
from
a11 x1 = b1 − a12 x2 .
We can carry out all that numerically with interval coefficients for all the a’s and b’s to obtain
intervals X1 and X2 containing all the possible solutions (x1 , x2 ) for any choices of real
coefficients in the corresponding interval coefficients. All this can be done if the interval
for a11 does not contain zero and if the computed interval containing a22 − (a21 /a11 )a12
does not contain zero.
The determinant of the matrix is the product of those two quantities: a11 (a22 −
(a21 /a11 )a12 ). The conditions stated above are sufficient for the matrix to be nonsingu-
lar for any choice of real coefficients in the interval coefficients.
i i
i i
interval
i i
2008/11/18
page 90
i i
Exercise 7.5. The mesh equations for an electric circuit are expressed as
R1 + R2 −R2 I1 V1
= .
−R2 R2 + R 3 I2 −V2
We will carry out a direct method for solving the system using n-place IAfor n = 4, 5, 6, 7, 8,
and 9. We can eliminate the x1 term in the second equation to obtain
for n = 5,
i i
i i
interval
i i
2008/11/18
page 91
i i
The sudden increase in accuracy in this simple example which occurs between n = 8 and
n = 9 is accounted for by the fact that, beyond n = 8, the only roundoff error remaining is
in the final division for x2 . In this example, the width of the computed interval goes down
by at least 10−1 for each increase of a unit in n beyond n = 5.
A phenomenon, somewhat puzzling at first, was observed during early experiments
with interval versions of Gaussian elimination. In case (1), with real coefficients, the
midpoint of the resulting interval solution in IA is usually very much closer to the exact
solution than the width of the interval solution—by seven or eight places for systems of
order around 20. For a fixed number of digits carried in the IA operations, the width of the
resulting interval vector increases as the order n increases for most matrices at about the same
rate as the worst-case analysis of von Neumann and Goldstine [246]. During the Gaussian
elimination process, there are multiple occurrences of the coefficients in combination with
subtractions and divisions which reverse endpoints, resulting in the observed excess width
(in most cases) of the interval results. However, for special classes of matrices, interval
Gaussian elimination can give good results. Interval Gaussian elimination can always be
carried out, even without pivoting, when A is strongly (strictly) diagonally dominant, that
is, when
|Aii | > |Aij | (i = 1, . . . , n).
j =i
See [13] and [57] for further discussion. Also see the section A Common Misuse of Interval
Arithmetic in the demo for INTLAB.
i i
i i
interval
i i
2008/11/18
page 92
i i
If we choose
0.6 −0.3
Y = , an approximate inverse of A,
−1 1
we find, using three-digit IA,
0.1 0 0.6 [−1.12, 1.12]
E= , Yb = , X (0)
= ,
0 0 −1 [−1.12, 1.12]
and we obtain
[0.478, 0.712] [0.647, 0.672]
X (1)
= , X (2)
= ,
−1 −1
[0.664, 0.668] [0.666, 0.667]
X(3) = , X (4) = ,
−1 −1
with X(k) = X (4) for k ≥ 4.
The iterative method (7.7) is also applicable in case A and b have interval components.
Alternate methods and methods that give sharper bounds on the set of solutions to linear
systems with interval coefficients may be found in [13], [57], [218], and [221]. Method
(7.7) is a linear version of the Krawczyk method that we will explain in more detail in
section 8.2. In fact, because nonlinearities in a system can be encompassed by intervals in
a linear system, as we shall see in the next chapter, in some contexts there is less distinction
between interval methods for linear systems and interval methods for nonlinear systems
than there is with point methods.
Additional Notes
1. We will say more about convergence of the Krawczyk method in section 8.2.
2. Better enclosures of the solution can be obtained in practice through a defect-correction
scheme than with just the simple method we have presented here. This was observed
in [218, section 2.b, p. 53], was later explained in [221], and is implemented within
routine verifylss in INTLAB.
i i
i i
interval
i i
2008/11/18
page 93
i i
generated intervals and the endpoint reversals occurring in subtractions. The exact solution
set can be quite complicated, but we can nevertheless compute an enclosure of it, using the
iterative method outlined in the previous section. Let us revisit Exercise 7.5 to illustrate its
application.
Example 7.5. The mesh equations for an electric circuit are expressed as
R1 + R 2 −R2 I1 V1
=
−R2 R2 + R 3 I2 −V2
with V1 = 10, V2 = 5, and R1 = R2 = R3 = 1000 ± 10%. We can use the iterative method
(7.7) to find enclosures for I1 and I2 . In this example, the matrix A in (7.7) can be written
[1800, 2200] −[900, 1100]
A= ,
−[900, 1100] [1800, 2200]
and the right-hand side vector is
10
b= .
−5
Now the midpoint matrix is
2000 −1000 1 − 12
m(A) = = 2000 ,
−1000 2000 − 12 1
which has the inverse
4 2 4 2
−1 1
[m(A)] = 3 3
= 6000 6000
2000 32 43 2
6000
4
6000
6.666 . . . × 10−4 3.333 . . . × 10−4
= .
3.333 . . . × 10−4 6.666 . . . × 10−4
It is not necessary to find the exact inverse, although in this simple case, we can do it. In
fact, it will suffice to choose as our approximation to [m(A)]−1 the matrix
−4 6 3
Y = 10 .
3 6
What we need is a matrix Y that makes the norm of E = I − Y A smaller than 1, and the
smaller the better. Here, we have
1 0 6 3 [0.1800, 0.2200] −[0.0900, 0.1100]
E= −
0 1 3 6 −[0.0900, 0.1100] [0.1800, 0.2200]
[−0.05, 0.25] [−0.12, 0.12]
= ,
[−0.12, 0.12] [−0.05, 0.25]
so E = 0.37 < 1. It follows that we can obtain a nested sequence of enclosures of the set
of solutions to the linear system with inexact data (known only to be in the given intervals),
from the iterative method (7.7), beginning with
Y b [−1, 1]
X (0) = ,
1 − E [−1, 1]
i i
i i
interval
i i
2008/11/18
page 94
i i
where
6 3 10 0.0045
Y b = 10−4 = ,
3 6 −5 0
so, with outward rounding to two digits, we can choose
[−0.0072, 0.0072]
X =
(0)
.
[−0.0072, 0.0072]
for every solution of the mesh equations for the given electric circuit, within the uncertainty
specified for the inexact data. We can try to improve this initial enclosure, using the interval
iteration formula (7.7), which for this example is
(k+1) (k) (k)
X1 0.0045 [−0.05, 0.25] [−0.12, 0.12] X1 X1
(k+1) = + ∩ .
X2 0 [−0.12, 0.12] [−0.05, 0.25] (k)
X2 X2(k)
From
X1(0) [−0.0072, 0.0072]
X (0)
= = ,
X2(0) [−0.0072, 0.0072]
we obtain
0.0045 [−0.05, 0.25] [−0.12, 0.12] [−0.0072, 0.0072]
+
0 [−0.12, 0.12] [−0.05, 0.25] [−0.0072, 0.0072]
[0.001836, 0.0117]
= .
[−0.002664, 0.002664]
i i
i i
interval
i i
2008/11/18
page 95
i i
i i
i i
i i interval
2008/11/18
page 96
i i
Exercise 7.7. The INTLAB routine verifylss computes verified enclosures to linear
systems of equations using a combination of the Krawczyk method and an improved method
originating from work of Hansen, [218], and [184], [168]; type help verifylss from
the MATLAB command window for more information. Use verifylss on the linear
system just worked out in Example 7.5 and compare the results you obtain with the above
results.
An Additional Note As mentioned, we will treat the Krawczyk method more generally
in section 8.2, starting on p. 116. There, we treat it as a method for bounding the solutions
to nonlinear systems as well as give additional background.
Interval Gauss–Seidel
An alternate method, also commonly used in practice, was originally introduced by Hansen
et al. in the Hansen–Sengupta method [66] and is an interval version of classical Gauss–
Seidel iteration. As in the Krawczyk method, assume A is an interval matrix, B is an interval
vector (where either A or B can have zero width or nonzero width), and we wish to bound
the solution set to
Ax = B. (7.8)
We use a preconditioner matrix Y typically but not necessarily chosen to be m(A)−1 (see
[97, Chapter 3]), obtaining
Formally solving the ith row of the preconditioned system (7.9) for xi , and assuming we
iterate to obtain a new range for Xi by substituting the ranges for Xj , j = i, using the
most recent value of Xj wherever possible, we obtain the iteration equations for the interval
Gauss–Seidel method:
Xi(0) is given, 1 ≤ i ≤ n,
1
i−1 n
X̃i(k+1) ← Ci − Gi,j Xj(k+1) − Gi,j Xj(k) , i = 1, 2, . . . , n,
Gi,i j =1 j =i+1
i i
i i
i i interv
2008/11/
page 97
i i
result of a division by zero is computed according to the Cset theory of [194], using the
variant that views −∞ and ∞ as part of the number system. (We explain Cset theory on
p. 113.)
n = size(A,2);
G_i = Y_i*A;
C_i = Y_i*B;
numerator = C_i;
new_X_i = X(i);
second_new_X_i = X(i);
if (n > 1)
if (i > 1)
numerator = numerator - G_i(1:i-1)*X(1:i-1);
end
if (i < n)
numerator = numerator - G_i(i+1:n)*X(i+1:n);
end
end
denominator = G_i(i);
numerator;
denominator;
if (˜in(0,denominator))
there_are_2 = 0;
new_X_i = numerator / denominator;
elseif (˜in(0,numerator))
there_are_2 = 1;
supnum = sup(numerator);
if(supnum < 0)
if sup(denominator)==0
tmp1 = infsup(-Inf,-Inf);
else
tmp1 = midrad(supnum,0) / midrad(sup(denominator),0);
end
if inf(denominator) == 0
tmp2 = infsup(Inf,Inf);
else
tmp2 = midrad(supnum,0) / midrad(inf(denominator),0);
end
i i
i i
i i interv
2008/11/
page 98
i i
new_X_i = infsup(-Inf,sup(tmp1));
second_new_X_i = infsup(inf(tmp2),inf);
else
infnum = inf(numerator);
if inf(denominator)==0
tmp1 = infsup(-Inf,-Inf)
else
tmp1 = midrad(infnum,0) / midrad(inf(denominator),0);
end
if sup(denominator) == 0
tmp2 = infsup(Inf,Inf)
else
tmp2 = midrad(infnum,0) / midrad(sup(denominator),0);
end
new_X_i = infsup(-Inf,sup(tmp1));
second_new_X_i = infsup(inf(tmp2),Inf);
end
else
there_are_2=0;
new_X_i = infsup(-Inf,Inf);
end
end
The following m-file repeatedly calls gauss_seidel_step to do an entire sweep of
(7.10), that is, to compute Xi(k+1) , 1 ≤ i ≤ n, given Xi(k) , 1 ≤ i ≤ n:
function [X_kp1,is_empty, error_occurred] =...
Gauss_Seidel_image(A, B, X_k)
% X_kp1] = Gauss_Seidel_image(A,B,X_k) returns the image after a
% sweep of Gauss--Seidel iteration ( that is, (7.8) of the text)
% for the interval linear system A X = B, beginning with box X_k,
% 1 <= i <= n.
% This is done using the inverse midpoint preconditioner.
% Upon return:
% if error_occurred = 1, then the computation could not proceed.
% (For example, the midpoint preconditioner may have been
% singular, or the denominator may have contained zero; the
% case of more than one box in the image is not handled
% with this routine.) Otherwise, error_occurred = 0.
% If error_occurred = 0 but is_empty = 1, this means that
% an intersection of a coordinate extent was empty. In this
% case, there are no solutions to A X = B within X_k.
% If error_occurred = 0 and is_empty = 0, then the image under
% the Gauss--Seidel sweep is returned in X_kp1.
n = length(B);
Y = inv(mid(A));
error_occurred = 0;
is_empty = 0;
i=1;
i i
i i
interval
i i
2008/11/18
page 99
i i
X_kp1 = midrad(zeros(n,1),0);
while(˜error_occurred & ˜is_empty & i<= n)
[new_x_i, second_new_x_i, there_are_2, num, denom] ...
= gauss_seidel_step(i, Y(i,:), A, B, X_k);
if(there_are_2)
error_occurred = 1;
end
if (˜error_occurred)
is_empty = isempty_(intersect(new_x_i,X_k(i)));
if (˜is_empty)
X_kp1(i) = intersect(new_x_i, X_k(i));
end
end
i=i+1;
end
We may use Gauss_Seidel_image to bound the solution set in Example 7.5 as follows:
i i
i i
interval
i i
2008/11/18
page 100
i i
It is shown in [167] that for a given preconditioner (e.g., the inverse midpoint matrix),
the interval Gauss–Seidel method gives an ultimate result at least as narrow as the Krawczyk
method. Furthermore, the interval Gauss–Seidel method can be used effectively in cases
when the solution set is unbounded and for nonlinear systems; see [66] for the first such use,
and see [97] for more development, including use of preconditioners other than the inverse
midpoint matrix. For advanced theory comparing various methods, see [167].
We also can solve the linear system for selected real data from within the given intervals
of uncertainty. In fact, a widely used approach to estimating the effects of uncertainties in
data upon solutions to equations is the Monte Carlo method, in which one uses random
number generators to sample the ranges or distributions of input data, solves the problem
for each sample input vector, then summarizes the results. Often, in practice, this leads to
solving the equations millions of times to get estimated output distributions. The interval
approach is cruder, but faster.
Further discussion of interval methods for enclosing the set of solutions to linear
systems with interval coefficients may be found in [13], [57] and in various other references.
i i
i i
interval
i i
2008/11/18
page 101
i i
element should be chosen, since the pivots become intervals.30 Indeed, it is likely that all
potential pivots in the j th column will contain zero at some step, due to magnification of
widths, so that production of finite bounds on the solution becomes impossible.
There are various ways in which Gaussian elimination can be used to get tight bounds
on the solutions to point systems of linear equations. For instance, one may precondition,
just as we did for the interval Gauss–Seidel method or, in a way, with the matrix Y in the
Krawczyk method. That is, we first use floating point arithmetic to produce an approximate
inverse Y ≈ A−1 , then use interval arithmetic to do the matrix-matrix multiplication and
matrix-vector multiplication, to produce an interval matrix G that contains the exact matrix
Y A and an interval vector C that contains the exact vector Y b. The solution set to the system
of equations Gx = C must then contain the exact solution to the original noninterval system
Ax = b. The Gaussian elimination algorithm can then be performed on Gx = C, leading
to reasonable bounds on the solution set to Ax = b.
If the original system Ax = B is an interval system of equations, that is, if the elements
of the matrix A and the vector B have nonzero widths at the start, we may multiply by a
preconditioner matrix Y ≈ m(A)−1 , just as we did for the interval Gauss–Seidel method.
The Gaussian elimination algorithm is then more likely to succeed for the resulting system
of equations.
Interval Gaussian elimination is analyzed theoretically in [12], [13], and [167] as well
as in other papers and reference works.
Example 7.6. Suppose we wish to bound the solutions to Ax = b, where A is the 1000 by
1000 matrix given by
[2.9999, 3.0001] −1 0 ···
−1 [2.9999, 3.0001] −1 0 ···
A=
.. ..
,
. .
0 ··· 0 −1 [2.9999, 3.0001]
and b ∈ R1000 has all entries equal to −1. If such a matrix is passed to verifylss,
there is an implicit assumption that the diagonal entries vary independently, that is, that the
diagonal matrices A are xi where, in general xi = xj , although each xi lies in the interval
30 One way of choosing a pivot element during the j th step would be to choose A
# $ i0 ,j to be the pivot row, where
i0 = argmaxi mig(Ai,j ) , where “mig” is the mignitude defined on p. 87.
i i
i i
interval
i i
2008/11/18
page 102
i i
[2.9999, 3.0001]. (If the diagonal entries are all the same value, even though that value is
known to lie only within [2.9999, 3.0001], then sharper bounds on the solution set possibly
can be obtained by taking account of this fact.)
A MATLAB dialogue that gives us bounds on the solution set follows:
>> n = 1000;
>> intvalinit(’Display_’)
>> for i=1:n;b(i,1)=-1;end;
>> diag_uncertainty = midrad(3,1e-4)
intval diag_uncertainty = 3.0000__________
>> for i=1:n;B(i,1) = midrad(-1,0);
B(i,2)=diag_uncertainty;
B(i,3) = midrad(-1,0);end
>> d = [-1;0;1];
>> A = spdiags(B,d,n,n);
>> A(1:3,1:3)
intval ans =
(1,1) 3.0000__________
(2,1) -1.00000000000000
(1,2) -1.00000000000000
(2,2) 3.0000__________
(3,2) -1.00000000000000
(2,3) -1.00000000000000
(3,3) 3.0000__________
>> X=verifylss(A,b);
>> X(1:4)
intval ans =
-0.62____________
-0.85____________
-0.94____________
-0.98____________
>> X(500:503)
intval ans =
-1.00____________
-1.00____________
-1.00____________
-1.00____________
>> X(997:1000)
intval ans =
-0.98____________
-0.94____________
-0.85____________
-0.62____________
The response and solution process in this interactive dialogue were almost immediate
(small fractions of a second).
i i
i i
interval
i i
2008/11/18
page 103
i i
i i
i i
interval
i i
2008/11/18
page 104
i i
i i
i i
interval
i i
2008/11/18
page 105
i i
Chapter 8
If we start with an X0 such that F (X0 ) ⊆ X0 , then (8.2) produces a nested sequence of
intervals {Xk } convergent to an interval X ∗ such that X ∗ = F (X ∗ ) and X ∗ ⊆ Xk for all
k = 0, 1, 2, . . .. On a computer, the procedure can be halted when Xk+1 = Xk ; using IA
at a specific number of digits, this yields the narrowest interval possible (with that many
digits) containing X∗ .
The Krawczyk method, considered in Chapter 6 in the linear case, falls under the
same general scheme as (8.2) and can be used to solve nonlinear systems of equations.
More generally, interval Newton methods share properties with the Krawczyk method, can
be implemented with iteration (8.2), and can be used to prove existence and uniqueness of a
solution to a nonlinear system of equations in a given box, even though the interval Newton
operator is not inclusion isotonic as is F in (8.2). We describe these methods below.
for some s between x and y. Now let [a, b] be an interval in which we seek a solution of
the equation
f (x) = 0. (8.4)
105
i i
i i
interval
i i
2008/11/18
page 106
i i
for any y ∈ [a, b], in particular for y = m([a, b]) = (a + b)/2. Hence,
Let F (X) be an inclusion monotonic interval extension of f (x) and consider the algorithm
where
N (X) = m(X) − f (m(X))/F (X). (8.8)
It follows from (8.6) that x is contained in N (X) if y = m(X), and if x is contained in X,
then s in (8.3) is also contained in X. In this case, x is also contained in X (k) for all k if it
is contained in X(0) . We have the following theorem.
Theorem 8.1. If an interval X(0) contains a zero x of f (x), then so does X (k) for all
k = 0, 1, 2, . . ., defined by (8.7). Furthermore, the intervals X(k) form a nested sequence
converging to x if 0 ∈ / F (X (0) ).
/ F (X (0) ), then 0 ∈
Proof. If 0 ∈ / F (X (k) ) for all k and m(X (k) ) is not contained in N (X (k) ),
unless f (m(X ) = 0. Therefore w(X (k+1) ) < 12 w(X (k) ). Convergence of the sequence
(k)
follows.
Exercise 8.1. What happens if f (m(X (k) ) = 0?
Example 8.1. Suppose we wish to solve (8.4) with
f (x) = x 2 − 2. (8.9)
[m(X)]2 − 2
N (X) = m(X) − ,
2X
and (8.7) looks like
[m(X (k) )]2 − 2
X(k+1) = X (k) ∩ m(X (k) ) − .
2X (k)
X (1) = [ 22 , 23 ],
16 16
X(2) = [1.41406 . . . , 1.41441 . . .],
X(3) = [1.414213559 . . . , 1.414213566 . . .].
√
√ course, (8.4) has solution x = 2. Rounding X out at the eighth place, we see that
(3)
Of
2 lies in [1.41421355, 1.41421357].
i i
i i
interval
i i
2008/11/18
page 107
i i
The rapid convergence exhibited here is a consequence of the fact that the interval
Newton method is asymptotically error squaring. A formal statement of this property is as
follows.
Lemma 8.1. Given a real rational function f of a single real variable x with rational
extensions F , F of f , f , respectively, such that f has a simple zero y in an interval
[x1 , x2 ] for which F ([x1 , x2 ]) is defined and F ([x1 , x2 ]) is defined and does not contain
zero, there is an interval X0 ⊆ [x1 , x2 ] containing y and a positive real number C such that
w(X(k+1) ) ≤ C(w(X (k) ))2 .
For a proof, see Moore [148]. A simple illustration of the quadratic convergence of
the interval Newton method compared to the quadratic convergence of the traditional point
Newton method appears in [106].
Geometric Interpretation
The univariate interval Newton method has a geometric interpretation similar to that of the
classical point Newton method. However, instead of the intersection of a single tangent line
with the x-axis, the new interval X (k+1) is defined by the intersection of two tangent lines,
with slopes corresponding to the lower and upper bounds of F (X (k) ). This is illustrated
with F (X (k) ) equal to the range of f over X(k) in Figure 8.1. (In this figure, the blue slopes
represent the lower bounds on F (X (k) ), and the red slopes represent the upper bounds on
F (X (k) ).)
(k) (k)
X m( X )
(k)
X
(k+1)
X
Exercise 8.2. Show that X (k) = X(3) for all k > 3 in Example 8.1. That is, show that we
have finite convergence to eight places in three iterations.
i i
i i
i i interv
2008/11/
page 108
i i
midX = infsup(mid(X),mid(X));
NX = midX - feval(f,midX) / feval(f_prime,X)
NX_intersect_X = intersect(NX,X);
is_empty = isempty_(NX_intersect_X);
The function in Example 8.1 can be implemented in the following two m-files:
function [y] = example8p1(x);
% y = example8p1(x) returns xˆ2 -2 in y, regardless of the
% variable type of x; y will be of the same variable type
% as x.
y = x.ˆ2 - 2;
and
function [y] = example8p1_prime(x);
% y = example8p1(x) returns the derivative of xˆ2 -2 in y,
% regardless of the variable type of x; y will be of the
% same variable type as x.
y = 2*x;
With these three m-files, we may produce the following MATLAB console dialogue:
>> format long
>> X = infsup(1,2)
intval X = [ 1.00000000000000 , 2.00000000000000 ]
>> [X,is_empty] = i_newton_step(’example8p1’,’example8p1_prime’,X)
intval X = [ 1.37499999999999 , 1.43750000000001 ]
is_empty = 0
>> [X,is_empty] = i_newton_step(’example8p1’,’example8p1_prime’,X)
intval X = [ 1.41406249999999 , 1.41441761363637 ]
is_empty = 0
>> [X,is_empty] = i_newton_step(’example8p1’,’example8p1_prime’,X)
intval X = [ 1.41421355929452 , 1.41421356594718 ]
is_empty = 0
i i
i i
interval
i i
2008/11/18
page 109
i i
With some extra knowledge of the toolboxes distributed with INTLAB, there is no need
to explicitly program the derivative, since the “gradient” package, supplying automatic (or
computational) differentiation capabilities within INTLAB, may be used. (One of the first
surveys of automatic differentiation is [200]. There have been many conference proceedings
and several comprehensive books on the subject since then, and software packages in various
programming languages have been written. For a short didactic explanation from among
our own work, see [97, pp. 36–41]. Additional explanation of automatic differentiation
appears in section 9.3 of this book, where we use the technique in computing integrals.)
This results in the following m-file:
midX = infsup(mid(X),mid(X));
Xg = gradientinit(X);
fXg = feval(f,Xg);
NX = midX - feval(f,midX) / fXg.dx;
NX_intersect_X = intersect(NX,X);
is_empty = isempty_(NX_intersect_X);
Exercise 8.5. Repeat the computation above Exercise 8.4 with i_newton_step_no_fp
in place of i_newton_step. Are the same results displayed? (Note that, in general, the
displayed results need not be the same, even if format long is used for both displays.
Why do you think this is so?)
i i
i i
interval
i i
2008/11/18
page 110
i i
/ F (X (0) ) in the proof of Theorem 8.1. This situation can be handled using
condition 0 ∈
extended interval arithmetic.
The definition of interval division can be extended as follows. Recall that
where
1/[c, d] = {1/y : y ∈ [c, d]} (c < d any real numbers).
If 0 ∈
/ [c, d], we are using ordinary interval arithmetic. If 0 ∈ [c, d], extended interval
arithmetic specifies three cases:31
With this, we can allow the range of values of the derivative f (x) to contain zero and
the quotient f (x)/f (X) occurring in the computation of N (X) = m(X) − f (x)/f (X) to
split into two unbounded intervals. Then, upon intersecting N (X) with the finite interval X
in the iteration formula
X(k+1) = N (X (k) ) ∩ X (k) ,
we obtain two disjoint finite intervals. For (8.9), we could take X (0) = [−2, 2]. We would
obtain
m(X(0) ) = 0, f (m(X(0) )) = −2,
and
f (X (0) ) = 2[−2, 2] = [−4, 4].
Hence,
variation, depending on whether −∞ and ∞ are included in the underlying set. These definitions assume the
underlying set is the real numbers, rather than the set of extended real numbers, including −∞ and ∞. This has
practical consequences. See note 4 on p. 115.
i i
i i
i i interv
2008/11/
page 111
i i
1.5
1
(1)
0.5
X
0
] [
−0.5
−1
−1.5
−2
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
Figure 8.2. Extended interval Newton step over X (0) = [−2, 2], Example 8.9.
Intersecting this with X(0) = [−2, 2], we get the union of two disjoint finite intervals,
X(1) = −2, − 12 ∪ 12 , 2 .
i i
i i
interval
i i
2008/11/18
page 112
i i
The function xreciprocal can be used to automate the computations explained above
for finding all roots of an equation. However, implementation requires storage of a list of
intervals that have been set aside for later. This process is similar to the process for creating
and using the list produced in the Skelboe–Moore algorithm through bisection.
Exercise 8.9. Redo Exercises 8.6, 8.7, and 8.8 using INTLAB and xreciprocal.
Exercise 8.10. The function xreciprocal has various complications necessary to ensure
that the results it returns contain the exact range of the reciprocation operation. Explain
these complications.
i i
i i
interval
i i
2008/11/18
page 113
i i
In case we wish to find intervals containing the roots of a rational function f which
has coefficients known only to lie in certain intervals, we can take an interval extension F
which evaluates the range of values of f over the intervals of coefficients and use the more
general form
F (m(X))
N (X) = m(X) − (8.10)
F (X)
for the Newton iteration function N (X).
Example 8.3. To find the roots of f (x) = x 2 − c that lie in the interval [1, 2], for c ∈ [2, 3],
we can put
F (X) = X2 − [2, 3], F (X) = 2X, X0 = [1, 2],
and find N (X0 ) ⊆ [1.39, 1.76]. After one application of X (k+1) = N (X (k) ) ∩ X (k) , we have
√ √
{x : x 2 − c = 0, c ∈ [2, 3]} ∩ [1, 2] = [ 2, 3] ⊆ [1.39, 1.76].
A fundamental distinction between the interval Newton method and the ordinary
Newton method is that the former uses computation with sets instead of computation with
points. Again, this permits us to find all the zeros of a function in a given starting interval.
Whereas the ordinary Newton method is prone to erratic behavior, the interval version
practically always converges. The difference in performance of the two methods can be
dramatic, and the interested reader is referred to Moore [152] for specific examples.
Exercise 8.11. The current I (mA) flowing in a diode circuit satisfies the equation 1 − I −
0.0052 ln(109 I ) = 0. Solve by the Newton method.
Exercise 8.12. The odd-numbered transverse electric modes of a glass slab waveguide have
permitted incidence angles θi given by [83],
%
sin2 θi − (9/4)−1
3
tan π cos θi = .
2 cos θi
Find all solutions θi that lie in the interval π8 , π2 . (Be sure to choose starting intervals in
such a way that singularities are avoided.)
Notes
1. Extended interval arithmetic involving reciprocation or division by intervals that con-
tain zero has been the subject of much discussion and some controversy among experts
in interval computation. In particular, various systems have been devised for doing
computations on objects in which the system is closed under division by intervals
that contain zero. The first such work, still widely referenced and the basis of what
followed, is “Kahan arithmetic” [89]; the extended reciprocation defined here can
be considered to contain elements of Kahan arithmetic. The extended reciprocation
defined here serves well in the context of our univariate interval Newton algorithm.
However, there are contexts when it is useful to represent both semi-infinite intervals
resulting from the division as a single object, continuing to do nonstop, exception-
free arithmetic on these objects. In such arithmetics, there are issues of efficiency
i i
i i
interval
i i
2008/11/18
page 114
i i
of the operations when using standards such as the IEEE 745 standard for binary
floating point arithmetic, as well as issues of sharpness in enclosing exact ranges.
There are also issues of consistency and mathematical elegance. For instance, some
analyses suggest that it is preferable to have a system where, when c = 0 < d, the
set {−∞} ∪ [1/d, ∞] is returned instead of [1/d, ∞]. In such arithmetics, cases 1
and 3 of the reciprocation described above are limiting cases of case 2. A recent
work discussing this is [194]. In this work, a consistent mathematical system, Cset
arithmetic, is developed. The Cset, or “containment set” of an arithmetic expression
of n variables at a point in Rn is the set of all limits of the expression as the variables
in the expression tend to the point, and the Cset evaluation of a set or interval vector is
the union of the Csets of the points in the set. The interval evaluation of an expression
over an interval vector is then defined to be an enclosure of the Cset of the expression
over that interval vector.
Cset arithmetic is compelling from the points of view of simplicity and connections
with classical mathematical analysis. It also provides an unambiguous theoretical
guide about how the arithmetic operations and function definitions (exponentials,
trigonometric functions, etc.) should be extended.
2. The representations in function xreciprocal are presently subject to discussion
as part of an effort to standardize interval arithmetic, and the ultimate standardized
representation may differ from that seen in xreciprocal. For example, some view
1/0 as the set [−∞, −∞]∪[∞, ∞], rather than the empty set; furthermore, ultimately,
the empty set might be represented by something other than [NaN,NaN].
3. A related controversial issue is whether the underlying set is the set of real numbers
or the set of extended real numbers, including −∞ and ∞. As an example of the
difference, consider applying the interval Newton method to the function f (x) =
sin(π x)/π with starting interval X = [−2.5, 2.5], so m(X) = 0, while the exact
range of f over X is [−1, 1]. Thus, the iteration (8.10) becomes
0
N (X) = 0 − .
[−1, 1]
If we take the underlying model to be the set of real numbers but interpret 0/0
according to Cset theory to be the set of all limits of x/y as x → 0 and y → 0, then
we obtain 0/0 = (−∞, ∞), so N (X) = (−∞, ∞), and N (X) contains all solutions
of f (x) = 0 in X. (The solutions are x = −2, −1, 0, 1, and 2.) On the other hand,
suppose we write N (X) as
1
Ñ (X) = m(X) − F (m(X)) · .
F (X)
Assuming the underlying model is the set of real numbers, and not the extended reals,
we have 1/F (X) = 0 · (−∞, ∞) = 0, and Ñ (X) = [0, 0]. Thus, in this case, Ñ (X)
does not contain all solutions to f (x) = 0 that are in X, that is, Theorem 8.1 is not
true with this extension of interval arithmetic. However, these operational definitions
of 0/[−1, 1] and 0 · (−∞, ∞) are implemented in many currently available and
proposed systems for doing interval arithmetic.
i i
i i
interval
i i
2008/11/18
page 115
i i
As of the writing of this book, INTLAB returns [NaN,NaN] for each of 0/[−1, 1]
and 0 · [− inf , inf ] but returns [− inf , inf ] for 1/[−1, 1]. In this context, [NaN,NaN]
can be interpreted to mean “an undefined result.”
4. A final issue related to interval Newton methods and to the Krawczyk method we
present in the next section is how to define interval extensions of functions over
arguments that contain both points inside the domain of the function and points outside
the domain of the function. To study this, we note that a simplification of the Brouwer
fixed-point theorem32 states that any continuous mapping g of a closed and bounded
interval X into itself has the property that there is an x ∈ X with g(x) = x. Thus,
if we take an interval evaluation of g over X and the resulting interval g(X) has
g(X) ⊂ X, we can √ conclude that there is an x ∈ X such that g(x) = x. However,
consider g(x) = x − 3 and X = [−4, 4]. If we define g(X) to be an interval that
contains the range of g over that portion of X in the domain of g, then the narrowest
such interval will be g(X) ⊆ [−3, −1]. Since g(X) ⊂ X, we would come to the
false conclusion that there is a point x ∈ X such that g(x) = x. We can explain this
by noting that g is not continuous over [−2, 2].
√ issuing a warning, INTLAB returns the complex interval [−2, 2] + [−2, 2]i for
After
[−2, 2], representing a third possible context of use.
32 In fact, the Krawczyk method, described below, can be analyzed in terms of the Brouwer fixed-point theorem.
33 Similar to the “inexact” flag and other flags that are raised in systems conforming to the IEEE 754 standard
i i
i i
interval
i i
2008/11/18
page 116
i i
f1 (x1 , . . . , xn ) = 0,
..
. (8.11)
fn (x1 , . . . , xn ) = 0,
f (x) = 0. (8.12)
In this section, we consider the Krawczyk method (first introduced for linear systems
as (7.7)), while in section 8.4 we consider a somewhat more straightforward generalization
of the univariate interval Newton method. Each approach has its own advantages, and both
are used in practice.
We can consider two cases: (1) the functions fi are exactly representable real-valued
functions, or (2) the functions fi have coefficients known only to lie in certain intervals.
We will discuss case (1) first and extend the results to case (2).
Suppose that f in (8.12) is continuously differentiable in an open domain D. Suppose
that we can compute inclusion isotonic interval extensions F and F for f and f , defined
on interval vectors X ⊆ D. We have the following computational test for the existence of
a solution [119, 150].
Theorem 8.2. Let Y be a nonsingular real matrix approximating the inverse of the real
Jacobian matrix F (m(X)) with elements F (m(X))ij = ∂fi (x)/∂xj at x = m(X). Let y
be a real vector contained in the interval vector X ⊆ D. Define K(X) by
g (y) = I − Yf (y).
Therefore, the mean value extension (see (6.25)) of g over X about the point y ∈ X is
simply34
y − Yf (y) + {I − Y F (X)}(X − y) = K(X).
34 Here, we have (6.25) for each component of f .
i i
i i
interval
i i
2008/11/18
page 117
i i
Thus, K(X) must contain the range of g over X, that is, g(X) ⊆ K(X). Thus, if K(X) ⊆ X,
then g(X) ⊆ X, the hypotheses of the Schauder fixed-point theorem hold, so g has a fixed
point in X, so f (x) = 0 has a solution in X.
Thus, for an n-cube X, (8.14) is sufficient for the existence of a solution to (8.12) in X. The
same condition (8.14), which can be verified computationally by evaluating K(X), is also
sufficient to guarantee convergence of the interval Krawczyk method.
Theorem 8.3. Let X be an n-cube, y = m(X), and Y a nonsingular real matrix. Suppose
(8.14) is satisfied. Put X(0) = X, Y (0) = Y and consider an arbitrary real vector x (0) in X (0) .
Then the system (8.11) has a unique solution in X, and the following algorithm converges
to the solution [150, 151]:
where
K(X(k) ) = y (k) − Y (k) f (y (k) ) + {I − Y (k) F (X (k) )}Z (k)
and
y (k) = m(X (k) ), Z (k) = X (k) − m(y (k) ),
and where Y (k) is chosen as
to [m(F (X (k) ))]−1
Y, &an approximation & & &
Y (k) = if &I − Y F (X )& ≤ &I − Y F (X (k−1) )& ,
(k) (k−1)
Y (k−1) otherwise.
For the interval extensions F and F , we can take the natural interval extensions of the corre-
sponding real rational functions, simply evaluating (8.16) and (8.17) in interval arithmetic:
F1 (X) = X12 + X22 − 1, 2X1 2X2
and F (X) = .
F2 (X) = X1 − X22 , 1 −2X2
i i
i i
i i interval
2008/11/18
page 118
i i
Putting y = (0.65, 0.75)T = m(X), we find from (8.13) for the 2-cube X,
Since K(X) − m(X) = 0.091 < w(X)/2 = .15, the hypotheses for Theorem 8.3 are
satisfied. The iterative method (8.15) converges to a solution of (8.16) using Y given
by (8.18) from X (0) = ([0.5, 0.8], [0.6, 0.9])T . It produces a nested sequence of interval
vectors containing the solution, and using IA converges in a finite number of steps to an
interval vector containing a solution of (8.16).
It can be shown [159] that the widths of the containing interval vectors converge
quadratically to zero if F (X) is a Lipschitz extension of f (x).
INTLAB Implementation
The Krawczyk method can be implemented in INTLAB with the following m-file:
function [KX] = Krawczyk_step(X,y,f)
% [KX] = Krawczyk_step(X,y,f,fprime) returns the image of X
% from a step of the Krawczyk method, with base point y, where
% the function is programmed in the function whose name is in
% the string f. There is no need to program the Jacobian matrix,
% since the "gradient" automatic differentiation toolbox,
% distributed with INTLAB, is used. It is the user’s
% responsibility to ensure that X is an interval column vector,
% that y is a non-interval column vector contained in X, and
% that f is the desired function in an "m" file that returns
% a column vector.
Y = inv(mid(FXg.dx));
i i
i i
interval
i i
2008/11/18
page 119
i i
f = [x(1)ˆ2 + x(2)ˆ2 - 1
x(1) - x(2)ˆ2];
Exercise 8.13. Using INTLAB, repeat Example 8.4 with f2 replaced by f2 (x1 , x2 ) =
x1 − x2 .
Exercise 8.14. An electric circuit is described by the equations
V
20 − 20I − V = 0, I− − 10−9 eV /0.052 = 0.
20
Find I and V using INTLAB.
Exercise 8.15. The state (x1 , x2 ) of a certain nonlinear system is described by the differential
equations [110]
dx1 dx2
= 0.5[−h(x1 ) + x2 ], = 0.2(−x1 − 1.5x2 + 1.2),
dt dt
where h(x1 ) = 17.76 x1 −103.79 x12 +229.62 x13 −226.31 x14 +83.72 x15 . Use the Krawczyk
method within INTLAB to find the system’s critical points.
i i
i i
interval
i i
2008/11/18
page 120
i i
Exercise 8.16. If the semicolon is removed from the end of a line in an m-file, then MATLAB
prints the result of the computation on that line in the command window. (If there is more
than one computation on a line, the separating semicolons can be replaced by commas to
have MATLAB print those results in the command window.) Remove semicolons from
Krawczyk_step.m and run it, so you can see the intermediate results displayed above for
Example 8.4. Observe how y, fy, and FXg.dx enter into the formula as you iteratively call
Krawczyk_step several times.
Krawczyk originally proposed his method as an iterative method for obtaining nar-
rower bounds on a solution, once initial bounds were known. Later, Moore derived the norm-
based existence test in Theorem 8.3. Afterward, in [218], Rump showed that K(X) ⊂ X
implied there is a unique solution within X, without needing to compute matrix norms; also
in [218], an “epsilon-inflation” process, commonly used today, was introduced. Epsilon-
inflation is used to obtain both tight rigorous error bounds and a large region in which
a solution is unique, given an approximate solution. Rump has embodied these ideas in
the m-file verifynlss, supplied with INTLAB. verifynlss uses floating point iteration
and Krawczyk’s method to compute bounds and verify existence and/or uniqueness of a
solution to a system of equations within those bounds; it begins with a floating point guess
for the solution. For details of the mathematical background for verifynlss, see [219]
and [221]. To use verifynlss in Example 8.4, we might have the following command
window dialogue:
>> Solution = verifynlss(’example8p4’,[.65, .75],’g’)
intval Solution =
[ 0.6180 , 0.6181 ]
[ 0.7861 , 0.7862 ]
>> format long
>> Solution
intval Solution =
[ 0.61803398874989 , 0.61803398874990 ]
[ 0.78615137775742 , 0.78615137775743 ]
Exercise 8.17. Try using verifynlss to find narrow bounds in which each solution in
Example 8.4, Exercise 8.14, and Exercise 8.15 are proven to be unique.
Exercise 8.18. Repeat Exercise 8.17 with the simpler routine Krawczyk_step. (This will
probably involve calling Krawczyk_step repeatedly.)
Exercise 8.19. Both Krawczyk_step and verifynlss can be used directly for the uni-
variate examples in section 8.1. For instance, ’example8p1’ can be used as an argument
for either of these, without modifying example8p1.m. Redo Exercise 8.8, Example 8.3,
and Exercise 8.11 from section 8.1 using Krawczyk_step and using verifynlss.
In case (2) mentioned at the beginning of this section, when the functions fi in (8.11)
have coefficients known only to lie in certain intervals, we can still use the algorithm
(8.15). In this case, we require inclusion isotonic interval functions F and F such that
f (x) is contained in F (x) for every choice of real constants in the interval coefficients and
such that f (x) is contained in F (X) for every choice of real constants from the interval
coefficients and for every x in X. We replace f (y (k) ) in (8.15) by F (y (k) ), and the condition
(8.14) now implies that the system (8.11) has a solution in X (perhaps a set of them) and that
i i
i i
interval
i i
2008/11/18
page 121
i i
the sequence of interval vectors generated by (8.15), starting with X (0) = X, Y (0) = Y , is a
nested sequence and converges in a finite number of steps (using IA) to an interval vector
containing all the solutions to (8.11) in X for any choice of the real coefficients from the
given interval coefficients. Thus we can compute bounds on the set of possible solutions
in X.
i i
i i
interval
i i
2008/11/18
page 122
i i
We cannot evaluate the natural interval extension of f (x) for the interval X = π8 , π2 for
several reasons. √
First, the term 5 − 9 cos2 x defines only a real-valued function for values of x such
that 5 − 9 cos2 x ≥ 0. This will be the case only if cos2 x ≤ 59 . This already restricts x to a
subinterval of π8 , π2 = [0.3926990816 . . . , 1.570796326 . . .]. In fact, we are restricted to
values of x in the subinterval (of π8 , π2 ) given by
' % (
x ∈ cos−1 ( 59 ), π2 = [0.7297276562 . . . , 1.570796326 . . .].
Furthermore, 3
tan 2
π cos x = sin 32 π cos x / cos 32 π cos x ,
so both the first and second terms in (8.21) have cos( 32 π cos x) in the denominator, and
there is a division by 0 in those two terms for x such that 32 π cos x = π2 . This happens for
x = cos−1 ( 13 ) = 1.230959417 . . ., which is in our interval of interest. Thus we can only
evaluate an interval
% extension of (8.21) for proper subintervals of one or the other of the two
intervals [cos−1 ( 5
9
), cos−1 ( 13 )] and [cos−1 ( 13 ), π2 ]. To 10 places, these are the intervals
' % (
−1 −1 1
cos ( 9 ), cos ( 3 ) = [0.7297276562 . . . , 1.230959417 . . .]
5
and
cos−1 ( 13 ), π2 = [1.230959417 . . . , 1.570796326 . . .].
In fact, Aberth’s RANGE found the zero x = 0.76551 ± 5(10−6 ) starting with X =
[0.73, 1.2] and the zero x = 1.309585 ± 5(10−7 ) starting with X = [1.25, 1.57] and
found that there are no further zeros in those starting intervals, using tests such as (8.19)
and (8.20) above.
For any given trial box X (0) , there are various things that can happen, including the
following:
1. K(X (0) ) ⊂ int(X(0) ) =⇒ convergence to the unique solution in X (0) , where int(X (0) )
denotes the topological interior of the box X(0) .
2. K(X(0) ) ∩ X (0) = ∅ =⇒ no solution in X(0) .
(0)
3. K(X(0) ) ∩ X (0) = ∅ =⇒ no conclusion, but we can restart with XNEW = K(X (0) ) ∩
(0)
X .
4. K(X (0) ) is not defined. In this case, we can bisect X (0) and process each half sepa-
rately.
i i
i i
interval
i i
2008/11/18
page 123
i i
X 3/2 ⊆ 0, 2−3/2 ⊆ [0, 0.3536], and x 3/2 − 1/2 ⊆ [−0.5, −0.1464]. A correct conclusion
would be that if y = x 3/2 − 1, then y ∈ [−0.5, −0.1464]. However, if we were looking
at fixed-point iteration xk+1 = g(xk ) with g(x) = x 3/2 − 1, then the computation would
seemingly prove that g(X) ⊆ X, leading to the false conclusion that g has a fixed point
in X; indeed, the only solution to g(x) = x lies in [1.1913, 1.1917]. The problem is that
the fixed-point theorem “g(X) ⊆ X =⇒ exists x ∈ X such that g(x) = x” has “g is
continuous over X” as one of its hypotheses. There had been discussion in the interval
community about this for some time; in [194], Pryce proposed that systems implementing
interval arithmetic perhaps allow evaluation over partial ranges, but raise a discontinuous
flag if the function is not defined over part of the range.
There is a routine in0 in INTLAB to check whether an interval (or whether the
components of an interval vector or matrix) is contained in the interior of the components
of another interval vector or matrix.
[narrower_X,is_verified] = verified_existence_and_uniqueness(X,f)
that uses Krawczyk_step and in0 in such a way that is_verified is set to 1 if
there is a unique solution to f (x) = 0 in X and is set to 0 otherwise. Your routine
verified_existence_and_uniqueness should set narrower_X to X if is_verified
is set to 0 and should set narrower_X to the interval vector to which the Krawczyk method
converges if is_verified is set to 1. Compare the output from your routine to the output
from verifynlss for the problems you tried in Exercise 8.17. The inline documentation
style in your routine should be the same as the style in the INTLAB examples in this text. (If
you have verified_existence_and_uniqueness.m in MATLAB’s search path, such
as in MATLAB’s working directory, and you type
help verified_existence_and_uniqueness
then MATLAB prints all comment lines, that is, all lines beginning with % up to the first
blank line, to the command window.)
i i
i i
i i interv
2008/11/
page 124
i i
corresponds to (8.6) for every x and y in the domain of f , where A is a matrix whose ith
row is of the form35
∂fi ∂fi
Ai,: = ∇ T fi (ci ) = (ci ), . . . , (ci ) ,
∂x1 ∂xn
where ci ∈ Rn is some point, usually not known explicitly, on the line between x and y. In
general, A is not the Jacobian matrix F (c) for any particular c ∈ Rn . However, if F (X)
is an elementwise interval extension of the Jacobian matrix over some box X that contains
both x and y, then, necessarily, A ∈ F (X). If we assume f (x) = 0 in (8.22), then
which is the analog of (8.5). Assuming for the time being that A is nonsingular, the analog
to (8.6) is
x = y − A−1 f (y), (8.24)
where A takes the place of f (s). In (8.6), we replaced f (s) by F (X) to obtain the interval
Newton operator (8.8), but doing so in (8.24) would require us to define F (X)−1 for interval
matrices F (X). Although that can be done clearly if not in a unique way (see [167]), to
keep our explanation simple we elect instead to note that
Thus, N (X) here is the multidimensional analog to (8.8). The general interval Newton
operator N (X) has many of the same properties and can be used in much the same way as the
Krawczyk operator K(X). For instance, the following theorem, analogous to Theorem 8.3,
is a special case of Theorem 5.1.7 in [167].
Theorem 8.4. Suppose f has continuous partial derivatives over X and F (X) is an element-
wise interval extension to the Jacobian matrix of F over X. Suppose y is any point in X
and suppose N (X) is as in (8.25), where V is computed by any method for enclosing the
solution set to the linear system F (X)v = −F (y). Then
For example, the Krawczyk method (thought of as a method for solving linear systems,
as on p. 91) or the interval Gauss–Seidel method (as on p. 96) can be used to bound the
solution set to F (X)v = −F (y), and the four possibilities listed on p. 122 are valid with
N (X) replacing K(X). In addition, if we use the interval Gauss–Seidel method or something
similar, then a denominator Gi,i in (7.10) could contain zero, and we have a fifth possibility:
5. N (X(0) ) ∩ X (0) is the union of two boxes; we can process each of these two boxes
separately.
35 This “colon” notation is what MATLAB uses to access rows and columns of matrices. That is, A(i,:)
produces the ith row of the matrix A (as a row vector), while A(:,j) produces the j th column of the matrix A,
as a column vector. This notation has been adopted in much literature on numerical linear algebra, most notably
in the classic advanced text [50].
i i
i i
i i interv
2008/11/
page 125
i i
NX = y+new_V;
Example 8.6. We will redo Example 8.4 using the interval Gauss–Seidel method as im-
plemented in nonlinear_Gauss_Seidel_image to bound the solution to the system of
linear equations. We obtain
>> X = [infsup(.5,.8); infsup(.6,.9)]
intval X =
[ 0.5000 , 0.8000 ]
[ 0.5999 , 0.9000 ]
>> y=mid(X)
y =
0.6500
0.7500
>> [NX, error_occurred] =
nonlinear_Gauss_Seidel_image(X,y,’example8p4’)
i i
i i
i i interv
2008/11/
page 126
i i
intval NX =
[ 0.5687 , 0.6588 ]
[ 0.7702 , 0.8130 ]
error_occurred = 0
.
.
.
intval X =
[ 0.6172 , 0.6179 ]
[ 0.7848 , 0.7853 ]
>> [NX, error_occurred] =
nonlinear_Gauss_Seidel_image(X,y,’example8p4’)
intval NX =
[ 0.6175 , 0.6176 ]
[ 0.7850 , 0.7851 ]
error_occurred = 0
Observe that the image after the first iteration is contained in the corresponding image after
the first iteration of the Krawczyk method. This is true in general; the result occurs in [167]
(and possibly earlier). For this example, this is due to intrinsic mathematical properties of
the Krawczyk method and the Gauss–Seidel method, not to the fact that the matrix Y in
(8.18) is only an approximation. To see this, we can redo the computation with the loose
approximation (8.18):
>> X = [infsup(.5,.8); infsup(.6,.9)]
intval X =
[ 0.5000 , 0.8000 ]
[ 0.5999 , 0.9000 ]
>> y=mid(X)
y =
0.6500
0.7500
>> fprimex = [2*X(1) 2*X(2); 1 -2*X(2)]
intval fprimex =
[ 1.0000 , 1.6000] [ 1.1999, 1.8000 ]
[ 1.0000 , 1.0000] [ -1.8000, -1.1999 ]
>> fy = [y(1)ˆ2 + y(2)ˆ2-1;y(1)-y(2)ˆ2]
fy =
-0.0150
0.0875
>> y = midrad(y,0)
intval y =
[ 0.6499 , 0.6501 ]
[ 0.7499 , 0.7501 ]
>> V = X-y
intval V =
[ -0.1501 , 0.1500 ]
[ -0.1501 , 0.1500 ]
>> Y = [.43 .43; .29 -.37]
Y =
0.4300 0.4300
0.2900 -0.3700
i i
i i
interval
i i
2008/11/18
page 127
i i
Note We have stated the multidimensional interval Newton method somewhat more gen-
erally than the univariate one. In the univariate case, we fixed the base point y to be the
midpoint of X, but here, we left y arbitrary other than y ∈ X. In fact, the only requirement
for the univariate case is also y ∈ X, and there may be some advantages to choosing y other
than m(X).
i i
i i
interval
i i
2008/11/18
page 128
i i
Interval versions of Newton’s method in Banach spaces are presented in Moore and
Cloud [156].
While the previous two chapters dealt with linear and nonlinear algebra, the next
chapter will use interval evaluations to bound error terms, for numerical integration with
verified error bounds.
i i
i i
interval
i i
2008/11/18
page 129
i i
Chapter 9
Integration of Interval
Functions
and use it to compute enclosures for the definite integrals of real-valued functions. We
also revisit the subject of automatic differentiation, whose origins date to the appearance
of modern computers [92], which appeared in the context of interval analysis in [157],
and which is an extensive subject in its own right [21, 54, 200]. Finally, we outline some
relationships between interval integration and the other, more familiar types of integration
(Riemann, Lebesgue, etc.).
Proof. According to the mean value theorem for integrals, we can write
)
f (t) dt = f (s)(b − a) for some s ∈ [a, b]. (9.2)
[a,b]
129
i i
i i
interval
i i
2008/11/18
page 130
i i
Theorem 9.1. Suppose f ∈ FC1 (X0 ) and F is an inclusion isotonic, Lipschitz, interval
extension of f with F (X) defined for all X ⊆ X0 . Let N be a positive integer and subdivide
[a, b] ⊆ X0 into N subintervals X1 , . . . , XN so that
Then
)
N
f (t) dt ∈ F (Xi )w(Xi ). (9.3)
[a,b] i=1
yield (9.3). Finally, by Definition 6.1, there is a constant L such that w(F (X)) ≤ Lw(X)
for all X ⊆ [a, b] ⊆ X0 . We have
N
N N
w F (Xi )w(Xi ) = w(F (Xi ))w(Xi ) ≤ L w(Xi )2
i=1 i=1 i=1
as desired.
define
N
SN = SN (F ; [a, b]) = F (Xi )(b − a)/N. (9.8)
i=1
i i
i i
interval
i i
2008/11/18
page 131
i i
Theorem 9.2.
)
∞
f (t) dt = N =1 SN (F ; [a, b]) = lim SN (F ; [a, b]). (9.9)
[a,b] N →∞
It follows from the continuity of F that there are two continuous real-valued functions
F and F such that, for real t,
F (t) = F (t), F (t) .
Moreover, the integral defined by (9.11) is equivalent to
) ') ) (
F (t) dt = F (t) dt , F (t) dt . (9.12)
[a,b] [a,b] [a,b]
Example 9.1. Suppose 0 < a < b and let F (t) = A t k , where A = A, A and k is a
positive integer. By (9.12) we have
) ') ) (
F (t) dt = k
A t dt , k
A t dt
[a,b] [a,b] [a,b]
' (
b −a
k+1 k+1
bk+1 − a k+1
= A ,A
k+1 k+1
b k+1
−a k+1
=A .
k+1
i i
i i
i i interv
2008/11/
page 132
i i
Exercise 9.1. Rework Example 9.1 for the case where a < 0 < b and k is an odd positive
integer.
strfun = fcnchk(f);
i i
i i
interval
i i
2008/11/18
page 133
i i
Just as Riemann sums are not the most efficient or accurate way to approximately
evaluate integrals using floating point arithmetic, (9.8) is not the most efficient or sharpest
way to obtain bounds on an interval integral. For instance, the call above to integral_sum
with N=5000 took a noticeable amount of time, in part because that execution of explicitly
programmed loops in MATLAB is much slower than in compiled languages. However,
efficient implementations of more sophisticated methods to get sharp bounds for the interval
integral exist. We will explain some of the more advanced techniques later in this chapter.
Exercise 9.2. Use integral_sum with various N to compute bounds on the following
integrals:
*φ
(a) the elliptic integral of the first kind F (k, φ) = 0 (1−k 2 sin2 t)−1/2 dt with parameters
φ = 2π and k = 0.5;
*x
(b) the Fresnel sine integral f (x) = 0 sin(t 2 ) dt at x = 100.
Exercise 9.3. If you have Aberth’s RANGE software, repeat Exercise 9.2 using that soft-
ware.37
Inclusion Property
We end this section by stating one more property of the interval integral:
) )
If F (t) ⊆ G(t) for all t ∈ [a, b], then F (t) dt ⊆ G(t) dt. (9.13)
[a,b] [a,b]
i i
i i
interval
i i
2008/11/18
page 134
i i
where
Ai (bi+1 − a i+1 )/(i + 1), i even,
Ti =
(Ai bi+1 − Aa i+1 )/(i + 1) , (Ai bi+1 − Aa i+1 )/(i + 1) , i odd.
Note that for “real” (degenerate interval) coefficients Ai , with Ai = Ai , both cases reduce
to the usual formal integration of polynomials.
INTLAB Implementation
The following MATLAB function implements the above formulas:
function I = interval_poly_integral(X,A)
% I = interval_poly_integral(X,A) returns the interval integral
% over the interval X of the polynomial with interval coefficients
% given by A(1) + A(2) x + ... + A(q+1) xˆq, using the
% formulas given in Section 8.2 of the text by Moore, Kearfott,
% and Cloud.
q = length(A)-1;
a = inf(X);
b = sup(X);
ia = midrad(a,0);
ib = midrad(b,0);
if ( (a >=0) & (b >=0) ) | ( (a <=0) & (b <=0) )
I = midrad(0,0);
for i=1:q+1;
I = I + A(i)*(ibˆi - iaˆi)/midrad(i,0);
end
else
I = midrad(0,0);
for i=1:q+1;
if mod(i,2)
T_i = A(i)*(ibˆi-iaˆi)/midrad(i,0);
else
lb = ( midrad(inf(A(i)),0) * ibˆi...
-midrad(sup(A(i)),0) * iaˆi )...
/ midrad(i,0)
ub = ( midrad(sup(A(i)),0) * ibˆi ...
-midrad(inf(A(i)),0) * iaˆi ) ...
/ midrad(i,0)
T_i = infsup(inf(lb),sup(ub));
end
I = I + T_i;
end
end
i i
i i
interval
i i
2008/11/18
page 135
i i
Broadly speaking, the approach is to (1) enclose f (t) with a suitable interval function G(t)
and then (2) integrate G(t). We carry out this procedure in section 9.4. The present section is
devoted to step (1)—the definition and efficient computation of useful function enclosures.
Definition 9.2. Let T0 be an interval and x a real-valued function of the real variable t, with
x(t) defined for all t ∈ T0 . An interval enclosure of x is an inclusion isotonic interval-valued
function X of an interval variable T , with X(T ) defined for all T ⊆ T0 , having the property
that
x(t) ∈ X(t) for all t ∈ T0 . (9.15)
Hence, x(T ) ⊆ X(T ) for all T ⊆ T0 .
Example 9.2. Suppose x(t) satisfies a ≤ x(t) ≤ b for all t ∈ T0 . Then the constant interval
function X(T ) ≡ [a, b] is an interval enclosure of x.
Note that X(t) in (9.15) is not necessarily real; it may be a nondegenerate interval
for each value of t. If X(t) = x(t) for all t ∈ T0 , then X is an inclusion isotonic interval
extension of x. This latter case will hold if X(t) takes the form of a polynomial in t with
interval coefficients, i.e., the form (9.14).
Definition 9.3. If X(t) in Definition 9.2 takes the form (9.14), it is called an interval
polynomial enclosure of x.
i i
i i
interval
i i
2008/11/18
page 136
i i
We can extend the idea of (9.16) by working with Taylor expansions, for which we
introduce some notation. Suppose x(t) is analytic in t in some neighborhood of t0 . We
define
(x)0 = x(t0 ),
1 dkx
(x)k = (t0 ) (k = 1, 2, . . .). (9.18)
k! dt k
That is, (x)k is the kth Taylor coefficient in the expansion of x(t) about t = t0 :
∞
x(t) = (x)k (t − t0 )k . (9.19)
k=0
For the finite Taylor expansion with Lagrange form of the remainder, we have
N−1
x(t) = (x)k (t − t0 )k + (x)N (s)(t − t0 )N for some s ∈ [t0 , t]. (9.20)
k=0
N−1
x(t) ∈ (x)k (t − t0 )k + RN ([t0 , t])(t − t0 )N . (9.21)
k=0
The right-hand side is an enclosure for the Taylor series with remainder (9.20).
Example 9.4. If x(t) is analytic for t ∈ T0 , the interval polynomial
N −1
XN (t) = (x)k (t − t0 )k + RN (T0 )(t − t0 )N (9.22)
k=0
i i
i i
interval
i i
2008/11/18
page 137
i i
Only the last coefficient is a nondegenerate interval. It is contained in the finitely represented
interval [0.27 · 10−6 , 0.75 · 10−6 ]. We can enclose the real coefficients in narrow intervals
to obtain a finitely represented interval polynomial enclosure X(t) which contains X10 (t)
for every t ∈ [0, 1]. Of course, X(t) also contains et for every t ∈ [0, 1].
Note Use of Taylor polynomials in this way is a heuristic that often, but not always,
reduces overestimation and excess width as we take polynomials and error terms of increas-
ingly higher order. For example, if high-order Taylor polynomials centered on t = 0 were
used to approximate et for |t| large and t negative, then the interval widths would increase as
higher-order polynomials were taken. This phenomenon is analogous to the cancelation er-
ror we would observe, were we to approximate such et with a high-order Taylor polynomial
with floating point arithmetic.
It remains to discuss how the Taylor coefficients (x)k can be evaluated efficiently.
An inefficient approach would be to use (9.18) to generate formulas for the (x)k in terms
of t and then evaluate them at t0 . Indeed, the expressions for the successive derivatives of
practical functions x typically become so involved that things can seem hopeless for all but
the smallest values of k. Fortunately, it is not necessary to generate explicit formulas for
the (x)k to obtain the values (x)k (t0 ). The latter can be computed numerically using the
techniques of automatic differentiation.
The approach amounts to differentiating computer subroutines (or function subpro-
grams). The result of differentiating a program is another program. When executed, the
derived program produces a value of the derivative of the function defined by the first pro-
gram. In fact, we can write a general-purpose program which, when applied to a function
defined by another program, will produce a Kth derivative program for general K for that
function. If we supply it with an integer K and argument values, it will produce values
of the derivatives (or Taylor coefficients) up to order K of the given function at the given
argument values. This can be carried out in machine arithmetic or in IA. Partial derivatives
can be obtained in a similar way. Early references on this are [147, 148, 157]; a somewhat
more recent one is [200], while a more recent, comprehensive overview in technical terms
is [53].
We will now show how to compute the real and interval values (x)k and RN ([t0 , t]).
The technique will apply to almost any quantity dependent on x that is computed with a
computer program. From (9.18) we find that x (t0 ) = (x)1 , so
1
(x)k = ((x)1 )k−1 . (9.24)
k
i i
i i
interval
i i
2008/11/18
page 138
i i
recursively to compute the Taylor coefficients for x(t) about t0 —provided, of course, that
we can handle g(t, x(t)). Similarly,
2
(x)k = ((x)2 )k−2 .
k(k − 1)
As far as the arithmetic operations are concerned, if u and v are analytic functions of
t in some neighborhood of t = t0 , then
(u + v)k = (u)k + (v)k ,
(u − v)k = (u)k − (v)k ,
k
(uv)k = (u)j (v)k−j , (9.25)
j =0
+u,
k +u,
1
= (u)k − (v)j .
v k (v)0 v k−j
j =1
All the commonly used “elementary” functions satisfy rational differential equations.
Any second-order differential equations that may occur can be rewritten as pairs of first-
order equations. With this and (9.24), we can derive recursion relations for the kth Taylor
coefficients of elementary functions of an arbitrary analytic function u(t). For example,38
k−1
1 j (a + 1)
(ua )k = a− (u)k−j (ua )j ,
u j =0 k
k−1
j
u
= 1− u
(e )k (e )j (u)k−j ,
k
j =0
k−1
1 j
(ln u)k = (u)k − 1− (u)j (ln u)k−j , (9.26)
u k
j =1
1
k−1
(sin u)k = (j + 1)(cos u)k−1−j (u)j +1 ,
k j =0
k−1
1
(cos u)k = − (j + 1)(sin u)k−1−j (u)j +1 .
k
j =0
Similar relations are available for the hyperbolic functions, the Bessel functions, and various
other functions commonly used in applied mathematics.
i i
i i
interval
i i
2008/11/18
page 139
i i
The sine and cosine formulas should be computed together, even if only one is needed
directly. This will be illustrated in Example 9.6.
A general procedure for computing the Taylor coefficients of functions x(t) can be
programmed to operate as follows:
1. Represent x(t) (or x (t) or x (t) · · · ) by a finite list of binary or unary operations
(e.g., T3 = T1 + T2 , T4 = eT3 , etc.).
2. On a line-by-line basis, generate subprograms for Taylor coefficients for each item in
the list, using the recursion relation appropriate for the operation in that item.
3. Organize the subprograms and the data handling so that the derived program will
accept initial values for N, t0 , x(t0 ) (and x (t0 ), x (t0 ), . . . , if required); the derived
program will evaluate and store, in order, the first Taylor coefficients of each item in
the list, then the second Taylor coefficient of each item in the list (which may require
some of the stored values of the first coefficients and initial data), etc., until the entire
array of coefficients has been computed; the process can be carried out either in real
computer arithmetic or in IA.
Example 9.5. Consider the function x(t) defined (when t0 and x(t0 ) are given) by the
differential equation
x (t) = x 2 + t 2 . (9.27)
For simplicity (to use the formula in (9.25) for multiplication, rather than the first formula
in (9.26)), we write x 2 as x · x and t 2 as t · t. (We would prefer (9.26) for sharpness in
interval evaluations.) We have
(T1 )0 = t · t,
(T2 )0 = (x)0 · (x)0 , (9.28)
(x)1 = T1 + T 2 .
i i
i i
interval
i i
2008/11/18
page 140
i i
Since (t)1 = 1 and (t)j = 0 for j > 1, the straightforward application of the recursion
relations (9.29) could be modified to recognize that (T1 )k = 0 when k ≥ 3. Even without
any such simplification, the relations (9.29) suffice for the numerical evaluation of any
number of Taylor coefficients (x)k , k = 1, 2, . . ., for the function x(t). The total number
of arithmetic operations required to find (x)k for k = 1, . . . , N not taking into account
simplifications possible because of zero terms is (from (9.28) and (9.29)) N 2 + N − 1
additions, N 2 + N multiplications, and N − 1 divisions.
The number of arithmetic operations to compute the kth Taylor coefficient of any func-
tion expressible as a finite combination of rational, elementary, and composition functions
grows at most linearly with k once the coefficients of lower orders have been obtained and
stored by the process described. Thus, the total number of arithmetic operations to obtain
the set of Taylor coefficients of orders 1, . . . , N grows no faster than cN 2 for some constant
c independent of N and depending only on the particular function in question.
T1 = sin t,
T2 = ln(1 + t),
T3 = e−T1 , (9.31)
T4 = cos t,
x(t) = T2 · T 3 .
Applying the appropriate relations from (9.25) and (9.26) on a line-by-line basis, we obtain,
using (t)0 = t, (t)1 = 1, and (t)j = 0 for j > 1,
1
(T1 )k = (T4 )k−1 ,
k
1 1 1, k = 1,
(T2 )k = ak − 1 − (T2 )k−1 , ak =
1+t k 0, k > 1,
k−1
j
(T3 )k = 1− (T3 )j (−T1 )k−j ,
j =0
k
1
(T4 )k = − (T1 )k−1 ,
k
k
(x)k = (T2 )j (T3 )k−j . (9.32)
j =0
i i
i i
interval
i i
2008/11/18
page 141
i i
We compute and store the following two-dimensional array of quantities proceeding down-
ward through the elements of a given column before continuing with the first element of the
next column to the right:
T1 (T1 )1 (T1 )2 ···
T2 (T2 )1 (T2 )2 ···
T2 (T2 )1 (T2 )2 ···
T4 (T4 )1 (T4 )2 ···
x (x)1 (x)2 ···
Again the total arithmetic computation required to find the Taylor coefficients of orders
1, . . . , N for x(t) defined by (9.30) at any value of t is of order N 2 (about 32 N 2 additions
and multiplications). Note that the functions sin t, cos t, ln(1+t), e− sin t need to be evaluated
only once each, at the outset of the process.
We can bound the remainder term in (9.20) for this x(t) by using interval extensions
of sin t, cos t, ln(1 + t), and e−T1 . Carrying out evaluations of those interval extensions
for the interval [t0 , t] and following this with evaluations of the Taylor coefficients, using
(9.32) in interval arithmetic, we can obtain RN ([t0 , t]) in (9.21).
Notes
1. Martin Berz, Kyoko Makino, and collaborators have provided an implementation of
computation of multivariate Taylor coefficients that is highly successful in applica-
tions; see the COSY web page.
2. In many instances, it is more efficient to arrange the computations in automatic dif-
ferentiation in a different order than has been presented here. This is particularly so
if just the function, gradient, and, perhaps, directional second-order derivatives are
needed. The computational scheme presented here is commonly called the forward
mode. To compute the value of gradient of a function of n variables, the forward mode
typically requires n times the amount of work required to compute the value of the
function itself. An alternative is the backward mode, in which the intermediate results
in the computation are first computed and stored, then a system is solved to obtain the
values. In contrast to the forward mode, computing the values of the function and the
gradient using the backward mode requires only a constant multiple (around 5) times
the amount of work required to compute just the value of the function but requires
storage that is proportional to the number of operations required to compute the func-
tion. The backward mode was perhaps first introduced by Speelpenning [235] and
has since been strongly advocated by Griewank [53], Christianson [36], and others.
The backward mode is explained in elementary terms in texts such as [3]. A compre-
hensive monograph including details of efficient implementation of both the forward
mode and backward mode is [53].
i i
i i
interval
i i
2008/11/18
page 142
i i
N
SN = (1/(1 + [i − 1, i]/N ))/N
i=1
N
= [1/(N + i), 1/(N + i − 1)].
i=1
Exercise 9.9. Use the MATLAB function integral_sum on p. 132 from section 9.1 to
compute S1 through S10 in Example 9.7, using INTLAB’s internal interval arithmetic.
For the exact value of SN in Example 9.7, we have the actual widths w(SN ) =
∗ ∗
1/N − 1/(2N ) = 1/(2N ), so the sequence Yk+1 Sk+1 ∩ Yk∗ with Y1∗ = S1∗ converges (using
three-digit IA) in no more than 500 steps to an interval of width no less than 0.001 containing
the exact value of the integral. This is slow convergence for such an easy integral; we will
introduce faster methods for bounding integrals in this section. First, however, an example
is needed to illustrate the application of (9.33) and (9.11).
Example 9.8. Suppose we wish to find upper and lower bounds on the integral
) 1
e−t dt.
2
I= (9.35)
0
For the integrand in (9.35) we have the interval polynomial enclosure P defined by
for all t ∈ [0, 1]. The interval coefficient [0.0613, 0.1667] bounds the range of values of
1 −s 2
6
e for all s ∈ [0, 1]. From (9.33) we find, for I in (9.35),
)
I∈ P (t) dt. (9.37)
[0,1]
i i
i i
interval
i i
2008/11/18
page 143
i i
By using narrower interval polynomial enclosures, we can, as we shall see, compute arbi-
trarily sharp bounds on the exact value of integrals such as (9.35).
Using automatic differentiation, we can efficiently compute enclosures for integrals.
From (9.21) and (9.6) we have the following theorem for any positive integers K and N , if
a and b have the same sign.
Theorem 9.3.
) N K−1
1
f (t) dt ∈ (f )k (X i )w(Xi )k+1
[a,b] i=1 k=0
k + 1
1
+ (f )K (Xi )w(Xi )K+1 (9.39)
K +1
for functions f with inclusion isotonic interval extensions of f and its first K derivatives.
This includes the class FCn (X0 ).
Proof. From the Lipschitz property of the interval extensions, there is a constant LK such
that
w((f )K (Xi )) ≤ LK w(Xi ) for all Xi ⊆ [a, b] ⊆ X0 . (9.40)
Let us denote the right-hand side of (9.39) by IN,K . Since only the (f )K (Xi ) con-
tribute anything to the width of IN,K , we have
- N .
1
w(IN,K ) = w (f )K (Xi )w(Xi ) K+1
i=1
K +1
1
N
= w [(f )K (Xi )] w(Xi )K+1
K + 1 i=1
LK
N
≤ w(Xi )w(Xi )K+1 by (9.40)
K + 1 i=1
LK
N
= w(Xi )K+2 .
K + 1 i=1
Hence,
LK
N
w(IN,K ) ≤ w(Xi )K+2 . (9.41)
K + 1 i=1
For a uniform subdivision of [a, b], we have w(Xi ) = (b − a)/N for i = 1, . . . , N, and
(9.41) becomes
LK b−a
w(IN,K ) ≤ CK hK+1 , where CK = (b − a) and h = . (9.42)
K +1 N
i i
i i
interval
i i
2008/11/18
page 144
i i
Thus, for fixed K, IN,K contains the exact value of the integral and has width no more than
some constant CK times the (K + 1)st power of the “step size” h.
Example 9.9. For (9.34), we can take LK = K + 1 (cf. Exercise 9.10), and hence CK = 1
for all K. Thus, IN,K for the application of (9.39) to (9.34) is, for uniform subdivision, an
interval of width no more than (1/N )K+1 for any positive integers N and K. Furthermore,
we have
(f )k (Xi ) = (−1)k /X k+1
i , (f )K (Xi ) = (−1)K /XiK+1 ,
with
Xi = 1 + (i − 1)/N, w(Xi ) = 1/N, Xi = 1 + [i − 1, i]/N.
To make the w(IN,K ) ≤ 0.001, we can take N ≥ 103/(K+1) . The simpler method (9.8) with
width bounded by (9.10) corresponds to putting K = 0 in (9.39) and deleting the sum over
k. The following pairs of integers satisfy N ≥ 103/(K+1) .
K N
0 1000
1 32
2 10
3 6
4 4
5 4
6 3
7 3
8 3
9 2
(f )0 (X) = e−X ,
2
For N = 2 and K = 6, using IA, we find IN,K = I2,6 = [0.746, 0.748]. Compare with
(9.38).
i i
i i
interval
i i
2008/11/18
page 145
i i
We can also apply (9.39) to more complicated functions in FCn (X0 ), e.g. x(t) in
(9.30) using the recursion relations (9.32) for the derivatives.
Note that, during the computation of IN,K using (9.39) in IA, we must also compute
the coefficients (f )k (Xi ) in IA to ensure that the computed interval value of IN,K contains
the value defined by (9.39).
We can transform this problem further into integration over the unit cube as
) 1 ) 1 ) 1
g(x1 , y2 , y3 ) dy3 dy2 dx1
0 0 0
x3 = (1 − x2 − x1 )y3 , x2 = (1 − x1 )y2 ,
where
i i
i i
interval
i i
2008/11/18
page 146
i i
There is interval software for multiple integrals of more general types, and even allow-
ing singular integrands (with certain restrictions), e.g., Aberth’s RANGE software, when
the integrand is precisely defined. A RANGE result, using interval methods, integration of
Taylor series with interval remainder, plus adaptive subdivision of the region of integration,
is rigorous. Although non-interval-based software packages will be able to compute many
integrals (such as that in Exercise 9.11) accurately as well, they still lack the mathematical
rigor of interval integration.
Exercise 9.11. Use RANGE to integrate (x12 +x22 +x32 )e−x1 x2 x3 over the standard tetrahedron
S3 . (See the web page for this book, www.siam.org/books/ot110, to obtain RANGE.)
We also mention some relations between the interval integral defined by (9.11) and
other familiar types of integrals [33].
1. Let FL and FR be real-valued functions with common domain that includes an interval
[a, b], and such that FL (x) ≤ FR (x) for all x ∈ [a, b]. Let F be the interval-valued
*b
function defined by F (x) = [FL (x), FR (x)]. The interval integral a F (x) dx is
equal to the interval from the lower Darboux integral of FL to the upper Darboux
integral of FR :
) -) ) b
.
b b
F (x) dx = FL (x) dx, FR (x) dx .
a a a
The lower Darboux integral of a real-valued function f (x) is the supremum of all
the sums of step functions below f (x) for any partition of the interval of integration,
and the upper Darboux integral is the infimum of all the upper sums. The upper and
lower Darboux integrals always exist in the extended real number system for any
real-valued functions FL and FR . It follows that all interval-valued and hence all
real- (degenerate interval-) valued functions are interval integrable.
2. The interval integral of a real- (degenerate interval-) valued function is a real number
(degenerate interval) if and only if the function is Riemann integrable, which is
equivalent to the upper and lower Darboux integrals being equal.
where the integral of f may be either the Riemann or Lebesgue integral as is appro-
priate for a given f . For example, the interval integral of the characteristic function
of the rationals in the unit interval is the interval [0, 1], which contains the Lebesgue
integral, namely, zero.
i i
i i
interval
i i
2008/11/18
page 147
i i
i i
i i
interval
i i
2008/11/18
page 148
i i
i i
i i
interval
i i
2008/11/18
page 149
i i
Chapter 10
149
i i
i i
interval
i i
2008/11/18
page 150
i i
We can usually write such an operator P immediately, given p. For example, if H and F
are inclusion isotonic, then the interval operators of the form
) t
P (Y )(t) = H (t, Y (t)) + F (t, s, Y (s)) ds (10.6)
0
(3) Any solution of (10.1) which is in Y (0) is also in Y (k) for all k and in Y as well. That
is, if y(t) ∈ Y (0) (t) for all a ≤ t ≤ b, then y(t) ∈ Y (k) (t) for all k and all a ≤ t ≤ b;
(4) If there is a real number c such that 0 ≤ c < 1, for which X ⊆ Y (0) implies
for every X ∈ M, then (10.1) has the unique solution Y (t) in Y (0) given by (10.8).
Proof. Property (1) follows by induction from Y (1) = P (Y (0) ) ⊆ Y (0) , using the inclusion
isotonicity of P . For any fixed t, the sequence Y (k) (t) of nested intervals converges to
an interval Y (t) which is expressible as the intersection in property (2). If y is a solution
of (10.1), then y ∈ Y (0) implies p(y) ∈ P (Y (0) ), since P is an interval majorant of p.
However, y = p(y), so y ∈ Y (1) = P (Y (0) ). By induction, we obtain property (3). From
(10.9), it follows that the limit Y (t) in property (2) is a degenerate interval of zero width
(real-valued) for every t, and Y (t) = P (Y )(t). From (10.4), it follows that Y (t) is a solution
to (10.1). Uniqueness in Y (0) follows from the contraction property (10.9).
i i
i i
interval
i i
2008/11/18
page 151
i i
b = 0.9. Since P is (by construction) an inclusion isotonic majorant of p (see (5.24) and
(9.13)), we can satisfy the hypotheses of Theorem 10.1 for this choice of w and b.
The operators p and P are defined for continuous functions y and Y . From (10.12),
we find that, for 0 ≤ t ≤ b and Y = [Y , Y ] ⊆ Y (0) = [0, w],
) t
w(P (Y )(t)) = (Y (s)2 − Y (s)2 ) ds ≤ 2bw sup w(Y (t)). (10.13)
0 t
Therefore, (10.9) is satisfied with c = 2bw if 2bw ≤ 1. It turns out here that the b and
w we found to satisfy P (Y (0) ) ⊆ Y (0) , namely, w = 0.5 and b = 0.9, also satisfy (10.9).
In other examples, we might have to reduce b to satisfy (10.9) after we have found w and
i i
i i
interval
i i
2008/11/18
page 152
i i
b to satisfy P (Y (0) ) ⊆ Y (0) . It follows that the initial value problem (10.10) has a unique
solution (expressible as the limit of the convergent sequence (10.7)) at least for 0 ≤ t ≤ 0.9.
We can apply the procedure again with t = 0.9 and Y (0.9) as a new initial point to continue
the solution beyond t = 0.9.
Note that, even without (10.9), we will have convergence of the sequence (10.7) to
some interval-valued function Y (t).
Example 10.2. The initial value problem
√
dy/dt = y for y ≥ 0, with the initial condition y(0) = 0
where / '%
% (
Y (s) = Y (s) , Y (s) = Y (s) , Y (s) for 0 ≤ Y (s).
This operator does not satisfy (10.9) (cf. Exercise 10.2). Let Y0 (t) = [0, w], with w > 0,
for 0 ≤ t ≤ b. Then
) t
√
P (Y0 )(t) = [0, w] ds = [0, w]t.
0
√ √
We have P (Y0 ) ⊆ Y0 if wb ≤ w. This is the case if b ≤ w. As a numerical example,
take w = 1 and b = 1. Then the sequence generated by (10.7) with Y0 (t) = [0, 1]t,
0 ≤ t ≤ 1, is
) t
Y (k+1) (t) = P (Y (k) )(t) = Y (k) (s) ds (k = 0, 1, 2, 3, . . .),
0
so
) t √
2 3/2
Y (1)
(t) = s ds =
t [0, 1],
0 3
) t /
2 3/2 4 √ 3/2 √ 4 7/4 √
Y (2) (t) = s ds = t t 6= t 6[0, 1]
0 3 21 21
..
.
i i
i i
interval
i i
2008/11/18
page 153
i i
√
as a limit, and any solution y(t) of dy/dt = y, for y ≥ 0, with the initial condition
y(0) = 0 that is in Y0 (t) = [0, 1] for 0 ≤ t ≤ 1, is also in Y (k) (t) for every k and all
0 ≤ t ≤ 1. Actually, the initial value problem has infinitely many solutions of the form
0, 0 ≤ t ≤ a,
ya (t) = 1
4
(t − a) 2
, a < t,
where a is an arbitrary nonnegative real number, and we have ya (t) ∈ Y (k) (t) for
all k.
Exercise 10.1. Show that
# $
Y (t) = ∞k=0 Y
(k)
(t) = 0, 14 sup0≤a≤t (t − a)2 = 0, 14 t 2 .
Exercise 10.2. Show that the interval operator P given by (10.14) does not satisfy
(10.9).
√
In the previous example, f (y) = y was not differentiable at the initial condition
√
y(0) = 0 because f (y) = 1/(2 y) is not defined as a real number for y = 0, so the
solution was not unique. Nevertheless, we were able to use interval methods to enclose the
set of all infinitely many solutions. Let us now consider more typical examples, when the
functions in a differential equation or system of differential equations are differentiable as
many times as wanted, so we can use Taylor expansions with interval bounding of remainder
terms and automatic differentiation to generate coefficients, as discussed in section 9.3.
Example 10.3. The initial value problem
We can choose an initial constant interval value, say, Y0 (t) = [0, 2], and seek a positive
number b such that P (Y0 )(t) ⊆ Y0 (t) for all t ∈ [0, b], that is,
t3
1+ + [0, 4] t ⊆ [0, 2] for all t ∈ [0, b].
3
This is true if 1 + b3 /3 + 4b ≤ 2. We can determine in various ways (including by
numerically solving the polynomial equation b3 /3 + 4b − 1 = 0) that this is true, for
example, if b = 0.24, since
i i
i i
interval
i i
2008/11/18
page 154
i i
It follows that the initial value problem has a solution such that y(t) ∈ [0, 2] for all t ∈
[0, 0.24]. It is not hard to show that P in this example satisfies (10.9), so the solution is
unique, and the sequence (10.7) converges to it.
Alternatively, since the formal integrations get a bit messy, we can compute an en-
closure of the solution y(t) of the form (9.21) with interval enclosure of the remainder. To
illustrate, we choose N = 5. Then
4
y(t) ∈ (y)k t k + R5 ([0, 0.24])t 5 for all t ∈ [0, 0.24].
k=0
i i
i i
interval
i i
2008/11/18
page 155
i i
so
for t > 0 is, in general, not exactly representable by the same type of geometrical object as
S0 . Thus if St is enclosed again in an interval vector, ellipsoid, or polytope, the resulting
bounded region will contain extra points, not in the solutions emanating from S0 . This
phenomenon has been dubbed the wrapping effect [152] and has been studied in a variety of
ways. Successful attempts to reduce the growth of bounds due to the wrapping effect have
been based on various ideas, the most successful of which is the Taylor model approach of
Berz and Makino. See, for instance, [22, 24, 25, 138, 139]. Earlier references on interval
methods for ODEs can be found in [146, 147, 148, 152] as well as by searching the web.
39 Here, the tilde means that the exact result is 1.11146 ± 0.000005.
i i
i i
interval
i i
2008/11/18
page 156
i i
d 2y
= f (t, y(t)), y(0) = y(1) = 0,
dt 2
is equivalent to the integral equation
) t ) 1
y(t) = p(y)(t) = (t − 1) sf (s, y(s)) ds + t (s − 1)f (s, y(s)) ds.
0 t
i i
i i
interval
i i
2008/11/18
page 157
i i
Chapter 11
Applications
Another proof that used interval arithmetic for rigor was that of the “double bubble
conjecture.” It had been conjectured that two equal partial spheres sharing a boundary of
a flat disk separate two volumes of air using a total surface area that is less than any other
boundary. This equal-volume case was proved by Hass et al. [71], who reduced the problem
to a set of 200,260 integrals, which they carried out on an ordinary PC.
Warwick Tucker has given a rigorous proof that the Lorenz attractor exists for the
parameter values provided by Lorenz. This was a long-standing challenge to the dynamical
system community and was included by Smale in his list of problems for the new millen-
nium. The proof uses computer estimates with rigorous bounds based on interval analysis.
157
i i
i i
interval
i i
2008/11/18
page 158
i i
In later work, Warwick Tucker made further significant contributions to the development
and application of this area [244].
In a chapter on computer-assisted proofs in Einarsson’s book [45], Siegfried Rump
listed the following examples of computer-assisted proofs, all of which make use of interval
methods:
• double-bubble conjecture,
• verification of the instability for the Orr–Sommerfeld equations with a Blasius profile,
• eigenfrequencies of a turbine,
• forest planning,
• global optimization,
See also Meyer and Schmidt [143], in which more than half the papers involve the use of
interval methods, including
i i
i i
interval
i i
2008/11/18
page 159
i i
i i
i i
interval
i i
2008/11/18
page 160
i i
1. Feasibility test.
(a) If Pi (X) ≤ 0 for all i = 1, 2, . . . , k, then X is certainly feasible.
That every point in X is feasible is guaranteed despite rounding errors in the
computer floating point arithmetic because of the outward rounding used in IA.
Thus Pi (X) ≤ 0 implies that pi (x) ≤ 0 for all x ∈ X.
(b) If for some i, Pi (X) > 0, then X is certainly infeasible (contains no feasible
points), delete X.
2. Midpoint test.
If m(X) is feasible, we compute F (m(X)). Denote this interval by [LFMX , UFMX ] =
F (m(X)). It is certainly the case that f ∗ ≤ UFMX , because f ∗ ≤ f (m(X)) ≤
UFMX . If Y is another subbox of B, and we evaluate F (Y ) to find [LFY , UFY ] =
F (Y ), then we can make the following test. Let U F ∗ be the smallest UFMX yet
found.
(a) If LF Y > U F ∗ , then Y cannot contain a feasible global minimizer in B, and
we delete Y .
Using tests 1 and 2, we can construct a list (queue) of items consisting of pairs (X, LF X),
where F (X) = [LF X, U F X]. We LIST items at the end and UNLIST items from the
beginning of the list.
Every time we UNLIST a box, we bisect it in a coordinate direction of maximum
width. We test each half. If it is not deleted, we put it at the end of the list. As a result,
the widest box remaining is always the first one in the list. If it is narrower than some pre-
specified tolerance EPSB (epsilon B), then so are all the other remaining subboxes, and we
terminate the algorithm. The bisections are always in a coordinate direction of maximum
width.
Algorithm 11.1.
initialize the list with the single item (B, LF B) and set U F ∗ = U F B
DO WHILE (the first box on the list has width > EPSB.)
unlist first box on the list
bisect X = X1 ∪ X2
delete X1 if 1(b) applies for X = X1 or if 2(a) applies for Y = X1
otherwise list (X1 , LF X1 ) at end of list and update U F ∗ = U F X1 , if MX1
is feasible and U F X1 reduces U F ∗
delete X2 if 1(b) applies for X = X2 or if 2(a) applies for Y = X2
otherwise list (X2 , LF X2 ) at end of list and update U F ∗ = U F X2 if MX2
is feasible and U F X2 reduces U F ∗
END DO
output box list items
i i
i i
interval
i i
2008/11/18
page 161
i i
LF ∗ = min(LF X), over the finite set of all items (X, LF X) in the list
U F ∗ is the current U F ∗
stop
When we stop, we will have LF ∗ ≤ f ∗ ≤ U F ∗ , and the union of the boxes X in the
list of items (X, LF X) will certainly contain all the feasible global optimizers of f in B.
This algorithm has appeared in Moore et al. [158]. There, various improvements in
efficiency are discussed for differentiable problems, including use of the interval Newton
method. Also, it is shown how to parallelize the procedure for further improvement in
efficiency with application to photoelectron spectroscopy.
Algorithm 11.1, while not efficient for differentiable problems, is applicable in general.
In [158], the following nondifferentiable example is discussed:
minimize
subject to
The objective function f and constraint function p are nondifferentiable and non-
convex, and the feasible region is nonconvex.
The set X∗ of all global minimizers consists of three disconnected continua, three
disjoint arcs on the circle x12 + x22 = 0.25. The arcs lie outside the union of two rectangles
cutting through the circle. The entire unit circle x12 + x22 = 1 consists of local minimizers.
The local, but not the global, minimizers are eliminated by choosing the final box width
tolerance EPSB ≤ 0.1. The algorithm produces a list of small boxes whose union covers
the set X ∗ of all global minimizers. For EPSB = 0.0125, the paper cited shows the graph of
X∗ . It is the familiar “smiley face.”
initialize the list with the single item B, and max box width for termination EPSB.
DO WHILE (the first box on the list has width > EPSB.)
i i
i i
interval
i i
2008/11/18
page 162
i i
bisect X = X1 ∪ X2
delete X1 if 1(a) or 1(b) applies for X = X1
otherwise list X1 at end of list
delete X2 if 1(a) or 1(b) applies for X = X2
otherwise list X2 at end of list
END DO
stop
The union of the sets represented by the boxes output at the termination of the algorithm
will contain all the boundary points of the set of all feasible points {x : Pi (x) ≤ 0 for all
i = 1, 2, . . . , k}, because the only parts of B that are deleted by Algorithm 11.2 are subboxes
containing only all feasible or all infeasible points. Any point on the boundary of the feasible
region will contain both feasible and infeasible points in any neighborhood. Such points
will all lie in the union of the remaining subboxes.
Algorithm 11.2 has been applied to estimating the set of all parameters of a model
for which the output errors are within given bounds. See Moore [153]. A more thorough
discussion of related methods, with applications to robust control and robotics, can be found
in Jaulin et al. [86].
f1 = α1 x1 x3 + α2 x2 x3 + α3 x1 + α4 x2 + α5 x4 + α6 x7 + α7 ,
f2 = α8 x1 x3 + α9 x2 x3 + α10 x1 + α11 x2 + α12 x4 + α13 ,
f3 = α14 x6 x8 + α15 x1 + α16 x2 ,
f4 = α17 x1 + α18 x2 + α19 ,
f5 = x12 + x22 − 1,
f6 = x32 + x42 − 1,
f7 = x52 + x62 − 1,
f8 = x72 + x82 − 1, (11.2)
i i
i i
interval
i i
2008/11/18
page 163
i i
where
and all solutions are known to lie within the unit 8-cube xi ∈ [−1, 1], 1 ≤ i ≤ 8. (The
four pairs {(x2i−1 , x2i )}4i=1 represent the cosines and sines of angles on the arm of the
manipulator.)
Problem (11.2) is interesting from the standpoint that, depending on the actual branch-
and-bound code used, several solutions can be missed if machine interval arithmetic without
directed rounding is used. This problem was solved effectively with the early Fortran 77
interval code that later became INTBIS [105] with an efficiency that competed well with ho-
motopy methods for polynomial systems; see [94]. The authors of such homotopy methods
subsequently improved the selection of homotopy, scaling, and path-following algorithms,
partially in response.
Our GlobSol code [104] finds rigorous enclosures to all 16 solutions to problem (11.2)
with lower and upper bounds differing beyond the fifth digit (and a mathematical proof that
there are no other solutions) with a total of only 31 boxes processed in the branch-and-bound
process and 17 calls to a local approximate root-finder.
More recent applications to robotics can be seen in Chapter 8 of [86] and in [131]. In
[131], “the geometric design problem of serial-link robot manipulators with three revolute
(R) joints is solved for the first time using an interval analysis method.” Their implemen-
tation of an interval branch-and-bound algorithm involved the ALIAS library, designed
for parallel computation [142]. The problem was solved using a network of 25 desktop
computers running in parallel.
The papers [192] and [34] are two other examples of applications to control and
robotics.
i i
i i
interval
i i
2008/11/18
page 164
i i
f1 = α1 x2 x4 + α2 x2 + α3 x1 x4 + α4 x1 + α5 x4
f2 = β1 x2 x4 + β2 x1 x3 + β3 x1 x4 + β4 x3 x4 + β5 x3 + β6 x4 + β7
f3 = x12 − x2
f4 = x42 − x3 (11.3)
with
and
The search box is set to xi ∈ [−0.01, 1.01], 1 ≤ i ≤ 4. GlobSol finds a box with
coordinate endpoints differing in the fourth digit, processing a total of nine boxes in the
branch-and-bound process, and with three calls to a local approximate root finder.
i i
i i
interval
i i
2008/11/18
page 165
i i
In fact, it is not hard to find global optimization problems that cannot be solved effi-
ciently with existing software claiming to find solutions with automatic result verification.
An example of this is found on Siegfried Rump’s website, listed on the web page for this
book.40
Nonetheless, there are notable additional successes (not mentioned above) in finding
verified solutions to global optimization problems, based on carefully defining and limiting
what we mean by “verified” or taking full advantage of the special structure of the problems.
Before we enumerate these additional successes, we will clarify what a “verified solution”
can mean. Doing so, we distinguish between what operations researchers call a feasible
solution, an optimum value of the objective function f , and an optimizer:
A global optimum is a value of f of f such that f ≤ f (x) for every feasible point x.
A feasible solution is any point x for which x ∈ B and pi (x) ≤ 0, for every i, but is not
necessarily a point at which f takes on its global minimum value. Feasible solutions
are of interest in operations research problems for which an operating scheme that is
possible to carry through is needed, but for which it may be difficult or impractical to
find such a point at which f takes on its global optimum.41
A global optimizing point is a feasible point x such that f (x) is the global optimum.
With this terminology, we can clarify different interpretations of the statement “solve
the global optimization problem,” that is, we define varying specifications for a computer
program that deals with (11.1):
1. Find all feasible points x at which f (x) = f , and output a list C of narrow boxes X
such that the computer has proven that every feasible point x at which f (x) = f is
in some X ∈ C.
2. Find the global optimum f to within some specified tolerance , and find a box X
within which we can prove there is a feasible point x such that f (x) − f < .
3. Output a small box X that is proved to contain a feasible point whose objective value
is within some tolerance of the global optimum.
4. Output a small box X that has been proved to contain a feasible point x.
Specification 1 is the most difficult to meet and is likely to be practical to meet for the
fewest number of problems. In computer programs whose goal is to meet specification 1,
implementations are higher quality if the total number of boxes in C is minimal, there are
no X ∈ C that do not contain any global optimizing points, each isolated global optimizing
point is in a separate X ∈ C, and the width of each component of each X ∈ C is as small as
possible. Except for a very restricted set of problems, these quality conditions are impossible
to meet in practice,42 so we must settle for some boxes X that might not contain feasible
points or optimizing points and boxes X that are not optimally narrow. In a computer
40 www.siam.org/books/ot110.
41A term common to mathematical literature on optimization, a “feasible solution” is not a solution to the
optimization problem but is simply a feasible point, that is, a point at which the constraints are satisfied.
42 Using fixed-precision machine arithmetic, or even using variable precision and a finite amount of time.
i i
i i
interval
i i
2008/11/18
page 166
i i
code whose goal is to meet specification 1, if the code exits with a list C, then we may
graph two-dimensional cross sections of C; these graphs typically exhibit clusters of boxes
about isolated solution points and solution sets, and the widths of these clusters decrease
by decreasing the stopping tolerances.43 The “clustering effect” and ways of reducing the
total number of boxes in such clusters are discussed first in [44] and [102], then in [228].
Software based on specification 2 is practical for a significantly wider set of problems
than software based on specification 1. In particular, for certain nonsmooth problems and
ill-conditioned or ill-posed problems, the algorithm may quit when U F ∗ − LF ∗ < and
the box containing the point x at which f (x) = U F ∗ may be printed; the other boxes
need not be further resolved or verified. Christian Keil and Christian Jansson [108] have
been successful at handling a variety of difficult test problems from the Netlib LP test set44
with this criterion. Basically, this process first uses an efficient commercial or open-source
solver to compute an approximate solution with floating point arithmetic. The approximate
primal and dual variables then enter a short interval computation45 to obtain upper and lower
bounds on the optimum value.46 The approximate optimizing point is then perturbed into the
interior of the feasible region similarly to the techniques in [98], a small box is constructed
about the perturbed point, and interval evaluation of the inequality constraints combined
with the Krawczyk or other interval Newton method applied in a subspace for the equality
constraints, proves existence of a feasible point within that small box. Interval evaluation
of the objective over the tiny box obtained from applying the Krawczyk or interval Newton
method then supplies an upper bound that is close to the optimum objective value. See [108]
for the numerical results. Also see [85] for application of similar techniques in semidefinite
programming.
Specification 2 can be met in the cases just outlined because a good approximation
to the optimum and at least one optimizing point can usually be found by a noninterval
solver, and theory particular to these cases allows us to use these approximations to obtain
rigorous bounds. However, linear programs are often ill-posed in the sense that there is an
entire manifold of optimizing points. In such instances, specification 2 and specification 1
lead to different results, even for linear problems, and trying to meet specification 1 is much
more difficult than trying to meet specification 2. A discussion, as well as some techniques
relevant to this case, appears in [100].
Specification 3 is essentially practical for most instances of the optimization prob-
lem (11.1) for which the form of the objective f and constraints pi are sufficiently simple
or can be put into a form in which there is not excessive overestimation in the interval eval-
uations over boxes within a few orders of magnitude of the machine precision, for which
a sufficiently good approximation to a local optimizer can be found47 and for which the
local optimizer is isolated and for which the Kuhn–Tucker matrix48 is sufficiently well-
conditioned at the local optimizer. Essentially, to meet this specification, all that needs to
be done is to construct an appropriately sized box about the local optimizer and perform the
Krawczyk method or some other interval Newton method.
43 With corresponding increases in computational time.
44 See the web page for our book, www.siam.org/books/ot110.
45 Involving only several interval matrix-vector multiplications.
46 Neumaier and Shcherbina [173] and Jansson [84] discovered this process independently.
47 Using, for example, a floating point nonlinear programming solver such as IPOPT from the COIN project.
48 That is, the matrix of partial derivatives of the equations formed from the Lagrange multiplier conditions.
i i
i i
interval
i i
2008/11/18
page 167
i i
49 This is because the size of the box over which an interval Newton method or the Krawczyk method is
contractive is inversely proportional to the maximum condition number of matrices in the interval linear system.
The relationship is spelled out, for example, in [97, pp. 219–223].
50 For the iCOs package, see the web page for our book, www.siam.org/books/ot110.
51 Interval Newton methods are important for efficiency in solving many global optimization problems.
52 Constraint satisfaction problems are systems of equality and inequality constraints. They can be viewed as
global optimization problems either without an objective function or with a constant objective function. They can
be converted into optimization problems through penalty function methods, but that may not be the best approach.
i i
i i
interval
i i
2008/11/18
page 168
i i
i i
i i
interval
i i
2008/11/18
page 169
i i
structure is partitioned or triangulated. There are uncertainties, such as the length or ten-
sile strength of a particular beam to be used in the construction, that translate into interval
values associated with each element. If the elements are assembled in the traditional way
to form the system of equations to be solved, and we attempt to use off-the-shelf interval
methods (such as the Krawczyk method, preconditioned Gauss–Seidel method, or precon-
ditioned Gaussian elimination, as explained in section 7.4), the resulting solution bounds
are usually so wide that they are meaningless. Part of the problem is that dependency is
introduced during the assembly process, and there is additional dependency in the system
itself. Despite this, there is a sizeable advantage to being able to predict sharp bounds on
the behavior of a structural system, corresponding to uncertainties in the properties of the
building materials used. For instance, this allows guaranteeing the safety of the structures
with less construction cost.
Rafi Muhanna and Robert Mullen have been highly successful in bounding the so-
lutions to structural engineering problems with uncertain parameters. To do so, they have
taken advantage of the “structure” of the systems of equations, integrating the assembly and
solution process. Examples of this work are [144, 160, 161, 162, 163]. Muhanna has estab-
lished the Center for Reliable Engineering Computing, in which these and other methods
featuring rigorous bounds are studied, and conferences featuring these methods have been
held periodically there.
Additional papers in this area include [39] and [172].
i i
i i
interval
i i
2008/11/18
page 170
i i
• computation of complex roots of polynomials and complex eigenvalues [35, 47, 72,
165, 190];
• electrical engineering [31, 51, 114, 212, 230];
• mechanical engineering [115, 162, 256].
i i
i i
interval
i i
2008/11/18
page 171
i i
Appendix A
Set Notation
A set is a collection or assemblage of objects. The objects are called elements or members
of the set. In this section we use uppercase letters such as A, B, C, . . . , to denote sets, and
lowercase letters such as a, b, c, . . . , to denote set elements. The notation a ∈ A means
that a is an element of A. The notation a ∈ / A means that a is not an element of A. We
may specify a set by listing its members between braces as, for instance, A = {a, b, c}. This
method works best for sets having finitely many elements but is also acceptable for some
infinite sets such as the integers:
S = {x : P(x)},
which defines S as the set of all elements x such that a proposition P(x) holds. For instance,
if R is the set of all real numbers and a, b are real numbers with a ≤ b, then we can define
the closed interval [a, b] as
The empty set, denoted ∅, is a set with no elements. For example, the set of all odd
integers that are multiples of two is empty. Another example is the set {x : x ∈ [1, 2]∩[3, 4]}.
(We will review the intersection operation ∩ shortly.)
171
i i
i i
interval
i i
2008/11/18
page 172
i i
Families of Sets
A family (or class) is a set whose elements are sets themselves. Let us note that the entities
a, {a}, {{a}}, {a, {a}}, {{a}, {b}}
are all different. The first item is not a set. The second item is a set containing one element
(a singleton set). The third item is a set containing a set, and so on. The third and fifth items
are simple examples of families or collections of sets.
A family {A1 , A2 , A3 , . . .} may be denoted by {Ai } and referred to as a sequence
of sets. For a finite family, we may use notation such as {Ai : i = 1, . . . , n} or simply
{A1 , A2 , . . . , An }.
Set Operations
The union of two sets A and B, denoted A ∪ B, is the set of all elements that belong to either
A or B or both:
A ∪ B = {x : x ∈ A or x ∈ B}.
More generally, for a family {Ai } we have
i Ai = {x : x ∈ Ai for at least one i}. (A.2)
The notation A1 ∪ · · · ∪ An may be used for a finite family of n sets.
The intersection of two sets A and B, denoted A ∩ B, is the set of all elements that
belong to both A and B. That is,
A ∩ B = {x : x ∈ A and x ∈ B}.
More generally,
i Ai = {x : x ∈ Ai for every i}. (A.3)
We may use the notation A1 ∩ · · · ∩ An for the intersection of a finite family. Two sets A
and B are said to be disjoint if A ∩ B = ∅.
The complement of A is the set of all elements that are not members of A:
Ac = {x : x ∈
/ A}.
i i
i i
interval
i i
2008/11/18
page 173
i i
173
The set difference A − B (sometimes denoted A \ B) is the set of all elements that
belong to A but not to B:
A − B = {x : x ∈ A and x ∈
/ B}.
X × Y = {(x, y) : x ∈ X, y ∈ Y }.
Example A.1. Let X and Y be the intervals [1, 2] and [3, 4], respectively. The Cartesian
product X × Y is the set of all ordered pairs (x, y) such that 1 ≤ x ≤ 2 and 3 ≤ y ≤ 4.
This is, of course, a unit square in the xy-plane. We could define many different relations
R from X to Y . One example would be the set [1, 2] × {3}.
Example A.2. The relation of geometric similarity (e.g., between similar triangles) is an
equivalence relation.
i i
i i
interval
i i
2008/11/18
page 174
i i
Functions
A relation f from X to Y is a function from X to Y if for every x ∈ X there is exactly one
y ∈ Y such that (x, y) ∈ f . We write
f : X → Y.
y = f (x)
is the image of x under f , and x is a preimage of y under f . The range of f is the set
h ◦ (g ◦ f ) = (h ◦ g) ◦ f.
54 In this definition,
subset containment permits isomorphisms defined by equivalence relations. In our case, we
will be able to write F ([x, x]) = f (x) because we have already agreed on the equivalence relation x ∼ [x, x].
i i
i i
interval
i i
2008/11/18
page 175
i i
175
The identity function for a set X is the function IX : X → X such that IX (x) = x for
all x ∈ X. A function f : X → Y is invertible if there exists a function g : Y → X such
that g ◦ f = IX and f ◦ g = IY . The function g (if it exists) is unique and is the inverse f −1
of f . It can be shown that a function is invertible if and only if it is one-to-one and onto.
Set Functions
Let
f : X → Y.
If A ⊆ X, we define
This is called the image of the set A under f . If B ⊆ Y , the preimage of B under f is the
set
f −1 (B) = {x ∈ X : f (x) ∈ B}. (A.5)
Example A.5. Let f be defined by g(x) = x 2 for all x ∈ R. The image of the interval
[−1, 1] under g is the interval [0, 1], and we may write
The preimage of the interval [1, 4] under g is the union [−2, −1] ∪ [1, 2].
Note carefully the distinction between a set preimage and an inverse function; the
function g of the preceding example is not invertible, but we can still consider preimages
of various sets under g.
The reader may wish to verify some simple facts about set functions:
2. S1 ⊆ S2 =⇒ f (S1 ) ⊆ f (S2 );
3. R1 ⊆ R2 =⇒ f −1 (R1 ) ⊆ f −1 (R2 );
4. R = f (S) =⇒ S ⊆ f −1 (R);
5. S = f −1 (R) =⇒ f (S) ⊆ R.
In addition, if X and Y are nonempty sets and f : X → Y , then the following statements
hold:
i i
i i
interval
i i
2008/11/18
page 176
i i
(a) f −1 Yi = i f −1 (Yi ),
i
−1
(b) f −1 i Yi = if (Yi ).
f −1 (f (A)) ⊇ A, f (f −1 (B)) ⊆ B.
We also see that the process of taking preimages preserves set containments, unions, and
intersections, while the process of taking images preserves only containments and unions.
i i
i i
interval
i i
2008/11/18
page 177
i i
Appendix B
Formulary
One-Dimensional Intervals
Interval
X = X , X = {x ∈ R : X ≤ x ≤ X}
Degenerate interval
x = [x, x]
X ∩ Y = {z : z ∈ X and z ∈ Y }
X ∪ Y = {z : z ∈ X or z ∈ Y }
X ∩ Y = max(X, Y ) , min(X, Y ) ,
X ∩ Y = ∅ =⇒
X ∪ Y = min(X, Y ) , max(X, Y )
Interval hull
X ∪ Y = min{X, Y } , max{X, Y }
= X ∪ Y if X ∩ Y = ∅,
X∪Y =
⊃ X ∪ Y otherwise.
177
i i
i i
interval
i i
2008/11/18
page 178
i i
Order relations
X < Y ⇐⇒ X < Y
X ⊆ Y ⇐⇒ Y ≤ X and X ≤ Y
X+Y =Y +X
XY = Y X
X + (Y + Z) = (X + Y ) + Z
X(Y Z) = (XY )Z
0+X =X+0=X
1X = X1 = X
0X = X0 = 0
X − X = w(X)[−1, 1]
X(Y + Z) ⊆ XY + XZ
x ∈ R =⇒ x(Y + Z) = xY + xZ
Y Z > 0 =⇒ X(Y + Z) = XY + XZ
X + Z = Y + Z =⇒ X = Y
i i
i i
interval
i i
2008/11/18
page 179
i i
179
Symmetric intervals
X is symmetric ⇐⇒ X = −X
m(X) = 0,
|X| = w(X)/2,
X = |X|[−1, 1],
X, Y, Z symmetric =⇒
X + Y = X − Y = (|X| + |Y |)[−1, 1],
XY = |X||Y |[−1, 1],
X(Y ± Z) = XY + XZ = |X|(|Y | + |Z|)[−1, 1]
Y, Z symmetric =⇒ X(Y + Z) = XY + XZ
Interval Vectors
X = (X1 , . . . , Xn ), where the Xi are intervals
x ∈ X if xi ∈ Xi for each i
X ∩ Y = (X1 ∩ Y1 , . . . , Xn ∩ Yn )
X ⊆ Y if Xi ⊆ Yi for each i
w(X) = max w(Xi )
i
Interval Matrices
A = max |Aij |
i
j
(m(A))ij = m(Aij )
i i
i i
interval
i i
2008/11/18
page 180
i i
Monotonicity
f (X), f (X) , f increasing,
f¯(X) =
f (X), f (X) , f decreasing
Inclusion isotonicity
Yi ⊆ Xi for each i =⇒ F (Y1 , . . . , Yn ) ⊆ F (X1 , . . . , Xn )
Power function
n
X n
, X , X > 0 or n odd (or both),
Xn = {x n : x ∈ X} = n n
X , X , X < 0 and n even,
[0, |X|n ] , 0 ∈ X and n even
Sequences
Metric
d(X, Y ) = max{|X − Y |, |X − Y |}
d(X, Y ) = 0 ⇐⇒ X = Y
d(X, Y ) = d(Y, X)
d(X, Y ) ≤ d(X, Z) + d(Z, Y )
d(X + Z, Y + Z) = d(X, Y )
X ⊆ Y =⇒ d(X, Y ) ≤ w(Y )
d(X, 0) = |X|
Convergence
∀ε > 0, ∃N such that n > N =⇒ d(Xk , X) < ε
Lipschitz condition
∃L such that X ⊆ X0 =⇒ w(F (X)) ≤ Lw(X)
i i
i i
interval
i i
2008/11/18
page 181
i i
181
Xi,j = Xi + (j − 1) w(Xi )/N , X i + j w(Xi )/N
Xi = ∪N
j =1 Xi,j
Refinement
N
F(N ) (X) = ji =1 F (X1,j1 , . . . , Xn,jn )
Excess width
Nested sequence
Xk+1 ⊆ Xk (k = 0, 1, 2, . . .)
∃K such that k ≥ K =⇒ Xk = XK
Iteration
Integration
Endpoint formula
) ') ) (
F (t) dt = F (t) dt , F (t) dt
[a,b] [a,b] [a,b]
i i
i i
interval
i i
2008/11/18
page 182
i i
Polynomials
N−1
x(t) ∈ (x)k (t − t0 )k + RN ([t0 , t])(t − t0 )N ,
k=0
where RN ([t0 , t]) is an interval enclosure for xN ([t0 , t])
1 dkx
(x)0 = x(t0 ), (x)k = (t0 )
k! dt k
k
(uv)k = (u)j (v)k−j
j =0
k
1
(u/v)k = (u)k − (v)j (u/v)k−j
v
j =1
k−1
1 j (a + 1)
(ua )k = a− (u)k−j (ua )j
u j =0 k
k−1
j
(eu )k = 1− (eu )j (u)k−j
j =0
k
i i
i i
interval
i i
2008/11/18
page 183
i i
183
k−1
1 j
(ln u)k = (u)k − 1− (u)j (ln u)k−j
u j =1
k
k−1
1
(sin u)k = (j + 1)(cos u)k−1−j (u)j +1
k j =0
k−1
1
(cos u)k = − (j + 1)(sin u)k−1−j (u)j +1 .
k j =0
i i
i i
interval
i i
2008/11/18
page 184
i i
i i
i i
interval
i i
2008/11/18
page 185
i i
Appendix C
√
1.1. Using a pair of squares, we find that 2 2 ≤ π ≤ 4. The reader may wish to try a pair
of hexagons as well.
1.2.
F0 − F F0 + F
≤a≤ .
m0 + m m0 − m
1.3. For the interval [3.7, 3.8] we have m = (3.7+3.8)/2 = 3.75 and w = 3.8−3.7 = 0.1.
Therefore M ≈ 3.75 kg and |M − 3.75| ≤ 0.05 kg.
1.4. Take natural logs of both sides of x75 = (1 − 10−21 )2 and use a Taylor expansion:
75
185
i i
i i
interval
i i
2008/11/18
page 186
i i
Replacing f by the interval F = [1, 3], we find that p is enclosed in the interval
P = √1 ([1, 3]
5
+ 12) = √1 [13, 15]
5
= [5.8137767 . . . , 6.7082039 . . .].
Later we will introduce a procedure called outward rounding. In the present instance,
outward rounding to one place gives us p ∈ [5.8, 6.8].
3.1. To retain the third place, we truncate at place 4 for the left endpoint and round upward
at place 3 for the right endpoint: [1.234, 1.457].
3.2. Direct computation shows that the volume v = wlh lies within in the interval
V = [42599.432, 44435.1], hence v = 43517.266 ± 917.834. If desired, we could use
outward rounding to retain containment with numbers having only one decimal place:
v ∈ [42599.4, 44435.1].
3.4. For Exercise 3.2, we can enter
W = infsup(7.1,7.3);
L = infsup(14.8,15);
H = infsup(405.4,405.8);
V = W*L*H
Proof of (4.6). By (4.4), it suffices to show that XY +XZ ⊆ X(Y +Z). Let a ∈ XY +XZ.
Then
a = x1 y + x2 z for some x1 , x2 ∈ X, y ∈ Y, z ∈ Z.
By hypothesis yz ≥ 0, so we have y + z = 0 iff y = z = 0. If y = z = 0, then a is clearly
in X(Y + Z). Otherwise y + z = 0, and choosing
y z
x = x1 + x2 ∈ X,
y+z y+z
X + Z = Y + Z =⇒ [X + Z, X + Z] = [Y + Z, Y + Z]
=⇒ X + Z = Y + Z and X + Z = Y + Z
=⇒ X = Y and X = Y
=⇒ X = Y.
i i
i i
interval
i i
2008/11/18
page 187
i i
187
1 1
X = X, X = (X + X) + (X − X)[−1, 1].
2 2
5.6. The command setround(-1) sets the rounding to “round down,” the command
setround(1) sets the rounding to “round up,” while the command setround(0) sets the
rounding to “round to the nearest machine number.” There is also some complication in
this routine, so it can handle arrays and complex interval arguments, and so it exits with
the machine in the same rounding mode as when the routine was entered. However, try to
identify the part where the lower and upper bounds of the interval value y are set.
5.8. If F is an interval extension of f such that F (x) = f (x) for real x, then F1 (X) =
F (X) + X − X defines a different interval extension of f .
5.9. This can be done in various ways, plotting on a single window or in multiple windows.
For example, plotting f in its own window could be done with the following sequence:
>> x = linspace(0.999,1.001);
>> y = x.ˆ6-6*x.ˆ5.+15.*x.ˆ4-20.*x.ˆ3.+15.*x.ˆ2-6.*x+1;
>> plot(x,y)
√ √
5.10. Setting p (x) = −5 + x 2 = 0, we obtain√x = ± 5. Now 5 is in [2, 3] and
furthermore, p (x) = 2x > 0 for x in [2, 3], so 5 is a local minimum of p(x) for x in
[2, 3]. Since it is the only place in [2, 3] where p (x) = 0, it remains only to evaluate p(x)
at the endpoints 2 and 3. Since p(2) = −6.3333 . . . and p(3) = −5, we obtain (5.28).
5.11. F ([0, 2]) = 12 , 32 , but F ([0, 1]) = 14 , 34 F ([0, 2]).
√
5.13. Since f (x) = x√ 2
− 2, we have√f (x) = 0√at x = 2 ∈ [0, 3]. So f (x) has a
minimum value at x = 2, namely, f ( 2) = − 43 2. Now the maximum value is easily
√
seen to be f (3) = 3. Therefore f ([0, 3]) = [− 43 2, 3]. With further calculation, we find
that f ([0, 3]) ⊆ [−1.88562, 3].
Without using calculus, we can find intervals enclosing the range of values found
above. First, f ([0, 3]) ⊆ 13 [0, 3]3 − 2[0, 3] = [−6, 9]. The form f (x) = x( 13 x 2 − 2),
equivalent in real arithmetic, gives f ([0, 3]) ⊆ [0, 3]( 13 [0, 3]2 − 2) = [0, 3][−2, 1] =
[−6, 3].
6.2. (a) We say that F (X) is continuous at X0 if for every ε > 0 there is a positive number
δ = δ(ε) such that d(F (X), F (X0 )) < ε whenever d(X, X0 ) < δ. Here, again, d is the
interval metric given by (6.3).
i i
i i
interval
i i
2008/11/18
page 188
i i
Hence given any ε > 0 we can choose δ = ε/2 and have d(A + B, A + B ) < ε whenever
both d(A, A ) and d(B, B ) are less than δ. In fact, δ is dependent on ε only (and not on the
intervals A, A , B, B ) so the continuity is uniform.
6.10. From
H (Y ) = −2 + 13 (Y + c)2 + (Y + c)c + c2
[−1.8856 . . . , −1.824 . . .]
(R1 + R2 )I1 − R2 I2 = V1 ,
−R2 I1 + (R2 + R3 )I2 = −V2 ,
i i
i i
interval
i i
2008/11/18
page 189
i i
189
Using this interval multiplier, the Gaussian formulas, evaluated in IA at the third or fourth
nonzero digit, yield the results
so
[1195, 1795]I2 = −5 + [4.5, 5.5] = [−0.5, 0.5]
and
I2 = [1/1795, 1/1195][−0.5, 0.5] = [−0.000419, 0.000419]
and
Our result is that the interval vector (I1 , I2 ) encloses the set of all real vector solution points
for any real number choices of coefficients from the given interval coefficients, where
8.3.
[m(X (0) )]2 − 2 25 − 2
m(X (0) ) − (0)
=5− = [ 17 , 37 ].
8 12
2X 2[4, 6]
8.6. (−∞, − 24
1
] ∪ [ 13 , ∞).
8.7. We seek x such that x 3 = 5x + 1. To find a good starting interval, examine the graphs
of y = x 3 and y = 5x + 1.
8.8. First note that an object with specific gravity < 1 will float. The given polynomial has
three real roots in the interval [−1, 3]. However, only a root lying in [0, 2] makes sense as
an answer. We find h = 1.22 ± 0.01.
8.10. In Case 1, although the numerator and denominator of the quotient 1/X are both real
numbers, we convert them to intervals to obtain a mathematically rigorous lower bound. (It
is necessary that the computed result contain the exact mathematical result.) Thus, 1/X is
computed with interval arithmetic, and the lower bound of that result is used to form the lower
bound of the semi-infinite interval. A similar technique is used for Case 2 and Case 3. Also,
the Cset model used in this function has underlying set of numbers the finite reals (i.e., it does
not include −∞ and ∞ as numbers). If the extended reals were used as the underlying model,
then in Case 1 we would have Y2 = infsup(-Inf,-Inf), in Case 3 we would have Y2
= infsup(Inf,Inf), and in Case 4 we would have Y1 = infsup(-Inf,-Inf) and
Y2 = infsup(Inf,Inf). Caution should thus be exercised when using xreciprocal
in either case, since INTLAB follows the finite version of Cset theory in some cases, if one
interprets [NaN,NaN] as the empty set, but INTLAB does not follow it consistently: Try
i i
i i
i i interv
2008/11/
page 190
i i
i i
i i
interval
i i
2008/11/18
page 191
i i
191
>> intvalinit(’DisplayMidrad’)
>> sqrt(infsup(-1,1))
intval ans = < 0.0000 + 0.0000i , 1.0000 >
>> intvalinit(’Display__’)
>> sqrt(infsup(-1,1))
intval ans = 0_.____ + 0_.____i
>> intvalinit(’DisplayInfsup’)
>> sqrt(infsup(-1,1))
intval ans = [ -1.0000 - 1.0000i , 1.0000 + 1.0000i ]
In the first case, the result is represented as a disk of radius 1 in the complex plane, while,
in the last case, the result is represented as a rectangle in the complex plane, whose lower
left corner is −1 − i and whose upper right corner is 1 + i. Thus, INTLAB interprets sqrt
as being complex-valued for negative values of its argument. In fact, INTLAB uses the
principal value of the square root; you can see this when sqrt(infsup(-1,-1)) returns a
small region about i. This interpretation of the square root is appropriate in some contexts,
but not in others, such as in constraint propagation with real variables or in interval Newton
methods dealing with real variables.
9.1. For k odd we have
t k A , t k A , t > 0,
At = At , At = k
k k k
t A , t k A , t < 0.
Therefore
) ) )
At dt =
k
At dt +
k
At k dt
[a,b] [a,0] [0,b]
') ) ( ') ) (
= k
At dt , At k dt + k
At dt , At k dt
[a,0] [a,0] [0,b] [0,b]
') ) ( ') ) (
= k
At dt , At dt +
k k
At dt , k
At dt
[a,0] [a,0] [0,b] [0,b]
' ( ' k+1 (
a k+1 a k+1 b bk+1
= − A, − A + A, A
k+1 k+1 k+1 k+1
- .
bk+1 A − a k+1 A bk+1 A − a k+1 A
= , .
k+1 k+1
but this is not the same as {bk+1 /(k + 1) − a k+1 /(k + 1)}A. For example, if k = 3
and A = [1, 2], and [a, b] = [−1, 1], then (*) is (1/4)[1, 2] − (1/4)[1, 2], which is
[−1/4, 1/4]—not [0, 0].
9.3. To 10 places, Aberth’s RANGE finds (a) 6.74300141925; (b) 0.6314179219.
i i
i i
interval
i i
2008/11/18
page 192
i i
9.4. From (9.12) and F (t) ⊆ G(t), we have G ≤ F and F ≤ G so (9.13) follows.
9.6. The first two formulas are an exercise in elementary calculus. The third is essentially
the Leibnitz formula
k
d k (uv) k d j u d k−j v
= ,
dx k j =0
j dx j dx k−j
9.7. (b) With u(t) = t we have (u)1 = 1 and (u)i = 0 for i > 1. So only the j = 0 terms
contribute in the summations for the sine and cosine.
9.10. The integrand of (9.34) is f (t) = 1/t. We have
1 dK (−1)K
(f )K (t) = (1/t) = ,
K! dt K t K+1
so
(−1)K
(f )K (Xi ) = ,
XiK+1
where Xi is a subinterval of the integration interval [1, 2]. Write Xi = X i , Xi and carry
out the interval arithmetic:
' (
(−1)K (−1)K
(f )K (Xi ) = = = (−1) K 1
K+1 ,
1
XK+1
.
[X i , X i ]K+1 [X K+1
i
K+1
, Xi ] Xi i
Just write
K+1
1 1 Xi − X K+1
− = i
= (X i − X i )[sum of K + 1 terms],
XK+1
i
K+1
Xi X K+1
i Xi
K+1
each of them ≤ 1.
i i
i i
interval
i i
2008/11/18
page 193
i i
193
9.11.
) 1 ) 1−x1 ) 1−x1 −x2
(x12 + x22 + x32 )e−x1 x2 x3 dx3 dx2 dx1 = 0.04955715430˜.
0 0 0
10.3. (a) We can take Y (0) = [1, b] for b > 1 and find that
) t
P (Y )(t) = 1 +
(0)
[1, b2 ] ds = 1 + [1, b2 ]t ⊆ [1, b] for t ∈ [0, (b − 1)/b2 ].
0
The maximum value that (b − 1)/b2 can have for any b ≥ 1 is 1/4 when b = 2. The exact
solution is y(t) = 1/(1 − t), which blows up as t → 1. (b) The exact solution is y(t) = e−t .
i i
i i
interval
i i
2008/11/18
page 194
i i
i i
i i
interval
i i
2008/11/18
page 195
i i
Appendix D
Internet Resources
Interval analysis is a rapidly evolving area with an ever-expanding set of applications. Since
the subject is inherently computational, it is not surprising that the Internet has played an
essential role in its growth. The World Wide Web is replete with information on interval
analysis—both theoretical and applied—and the reader is strongly urged to explore as much
of this material as may interest him or her. The purpose of this appendix is merely to suggest
two starting points.
http://www.cs.utep.edu/interval-comp/
serves as a main hub for the interval analysis community and is strongly recommended. It
enumerates various programming languages for interval analysis, provides links to interval
and related software packages, and lists homepages of some active interval researchers.
Interval Computations originated in 1995 during an international workshop held at El Paso,
Texas. According to Vladik Kreinovich, comaintainer of the site, its goal is to disseminate
information and facilitate collaboration between researchers both inside and outside the
interval community. There are two mirror sites: one at the University of Texas at El Paso
and one in Spain.
Here they will endeavor to offer current links to the computational tools mentioned in the
book (such as INTLAB, RANGE, and GlobSol), as well as other resources of interest to
the reader.
195
i i
i i
interval
i i
2008/11/18
page 196
i i
i i
i i
interval
i i
2008/11/18
page 197
i i
Appendix E
Here, we list some INTLAB commands and functions. Many MATLAB functions and
commands are overloaded in INTLAB, and not all of these may be listed here. MATLAB’s
help feature may provide information about whether a particular function can be applied to
intervals. For example, if you are interested in an interval extension of the sine function, you
can type help sin from a MATLAB command window. You will then see basic MATLAB
help for sin, along with a listing, in blue, of links to directories of definitions for other data
types. In particular, you will see help intval/sin.m. This indicates that there is support
for an interval version of sin. Click on this blue link for further information.
With INTLAB installed, it is useful to go through the INTLAB part of MATLAB’s
Help → Demos menu. Finally, information and various examples are available at the
INTLAB web page.
We have not included functions from INTLAB’s accurate sum, gradient, Hessian,
slope, and variable precision arithmetic toolboxes in this appendix. The information here
applies to version 5.5 of INTLAB (and, presumably, later versions).
197
i i
i i
interval
i i
2008/11/18
page 198
i i
diam(X): width of X
in(X,Y): returns 1 if and only if X is in Y (X may be real or interval, and X and Y may
be matrices)
in0(X,Y): returns 1 if and only if X is in the interior of Y (X may be real or interval, and
X and Y may be matrices)
mid(A): midpoint of A
mig(X): mignitude of X
i i
i i
i i interval
2008/11/18
page 199
i i
199
plot(x,Y), plot(X,y), plot(X,Y): For the abscissa vector x real and the correspond-
ing ordinate vector Y interval, the INTLAB version plots the lower bounds on Y and
the upper bounds on Y as curves, shading in between. For both X and Y intervals,
plot(X,Y) plots shaded boxes for each (Xi , Yi ) pair. If X is interval and y is real,
plot(X,y) plots a horizontal line for each (X, y) pair.
plotlinsol(A,B): This routine plots the solution set to an interval linear system AX = B
in two unknowns. (Such a solution set is illustrated in Figure 7.1 on p. 89.) The actual
solution set is shaded, and the entire solution set is enclosed in its interval hull (the
narrowest possible interval vector enclosing the solution set).
i i
i i
interval
i i
2008/11/18
page 200
i i
The startintlab.m file distributed with INTLAB may specify fast matrix-vector multi-
plication, so you will need to issue intvalinit(’SharpIVmult’) to get results that are
almost exact. Nonetheless, in contexts such as the Krawczyk method and for very large sys-
tems that are point matrices or almost point matrices, the fast multiplication is appropriate.
INTLAB uses the fast multiplication internally for various computations.
Users of INTLAB have contributed numerous other routines besides the ones listed here.
For instance, Jiri Rohn has made publicly available an extensive library of routines for the
analysis of interval linear systems.
i i
i i
interval
i i
2008/11/18
page 201
i i
References
[1] Oliver Aberth. Precise Numerical Methods Using C++. Academic Press, New York,
1998.
[2] Oliver Aberth. Introduction to Precise Numerical Methods. Academic Press, New
York, 2007.
[3] Azmy S. Ackleh, Edward J. Allen, Ralph Baker Kearfott, and Padmanabhan Se-
shaiyer, editors. Classical and Modern Numerical Analysis: Theory, Methods, and
Practice. Taylor and Francis, Boca Raton, FL, 2009.
[4] Götz Alefeld. Intervallrechnung über den komplexen Zahlen und einige Anwendun-
gen. Dissertation, Universität Karlsruhe, Germany, 1968.
[5] Götz Alefeld. Bemerkungen zur Einschließung der Lösung eines linearen Gle-
ichungssystems. Z. Angew. Math. Mech., 50:T33–T35, 1970.
[6] Götz Alefeld and Nikolaos Apostolatos. Praktische Anwendung von Ab-
schätzunsformeln bei Iterationsverfahren. Z. Angew. Math. Mech., 48:T46–T49,
1968.
[7] Götz Alefeld and Jürgen Herzberger. Über de Verbesserung von Schranken für die
Lösung bei linearen Gleichungssystemen. Angew. Informatik (Elektron. Datenver-
arbeitung), 13:107–112, 1971.
[8] Götz Alefeld and Jürgen Herzberger. Zur Invertierung linearer und beschränkter
Operatoren. Math. Zeitschr., 120:309–317, 1971.
[9] Götz Alefeld and Jürgen Herzberger. Einschließungsverfahren zur Berechnung des
inversen Operators. Z. Angew. Math. Mech., 52:T197–T198, 1972.
[10] Götz Alefeld and Jürgen Herzberger. Nullstelleneinschließung mit dem Newton-
Verfahren ohne Invertierung von Intervallmatrizen. Numer. Math., 19(1):56–64,
Feb. 1972.
[11] Götz Alefeld and Jürgen Herzberger. Ein Verfahren zur monotonen Einschließung
von Lösungen nichtlinearer Gleichungssysteme. Z. Angew. Math. Mech., 53:T176–
T177, 1973.
201
i i
i i
interval
i i
2008/11/18
page 202
i i
202 References
[12] Götz Alefeld and Jürgen Herzberger. Einführung in die Intervallrechnung. Springer-
Verlag, Berlin, 1974.
[13] Götz Alefeld and Jürgen Herzberger. Introduction to Interval Computations. Aca-
demic Press, New York, 1983.
[14] Götz Alefeld, Jürgen Herzberger, and Otto Mayer. Über neuere Gesichtspunkte beim
numerischen Rechnen. Math. Naturw. Unterricht, 24:458–467, 1971.
[15] Nikolaos Apostolatos and Ulrich W. Kulisch. Approximation der erweiterten Inter-
vallarithmetik durch die einfache Maschinenintervallarithmetik. Computing, 2:181–
194, 1967.
[16] Nikolaos Apostolatos and Ulrich W. Kulisch. Grundlagen einer Maschineninterval-
larithmetik. Computing, 2:89–104, 1967.
[17] Nikolaos Apostolatos and Ulrich W. Kulisch. Grundzüge einer Intervallrechnung für
Matrizen und einige Anwendungen. Elektronische Rechenanlagen, 10:73–83, 1968.
[18] Nikolaos Apostolatos, Ulrich W. Kulisch, Rudolf Krawczyk, B. Lortz, Karl L. Nickel,
and Hans-Wilm Wippermann. The algorithmic language Triplex-ALGOL 60. Numer.
Math., 11(2):175–180, Feb. 1968.
[19] NikolaosApostolatos, Ulrich W. Kulisch, and Karl L. Nickel. Ein Einschliessungsver-
fahren für Nullstellen. Computing, 2:195–201, 1967.
[20] Eckart Baumann. Optimal centered forms. BIT, 28(1):80–87, 1988.
[21] Martin Berz, Christian Bischof, George F. Corliss, and Andreas Griewank, edi-
tors. Computational Differentiation: Techniques, Applications, and Tools. SIAM,
Philadelphia, 1996.
[22] Martin Berz and Kyoko Makino. Higher order multivariate automatic differentiation
and validated computation of remainder bounds. WSEAS Trans. Math., 3(1):37–44,
Jan. 1998.
[23] Martin Berz and Kyoko Makino. New methods for high-dimensional verified quadra-
ture. Reliable Computing, 5:13–22, Feb. 1999.
[24] Martin Berz and Kyoko Makino. Performance of Taylor model methods for validated
integration of ODEs. In Jack Dongarra, Kaj Madsen, and Jerzy Wasniewski, editors,
Applied Parallel Computing, Lecture Notes in Computer Science 3732, Springer-
Verlag, New York, 2005, pp. 65–74.
[25] Martin Berz, Kyoko Makino, and Youn-Kyung Kim. Long-term stability of the teva-
tron by verified global optimization. Nuclear Instruments Methods Physics Research
A, 558:1–10, March 2006.
[26] W. Binstock, J. Hawkes, and N.-T. Hsu. An Interval Input / Output Package for the
Univac 1108. Technical Report 1212, Mathematics Research Center, University of
Wisconsin, Sept. 1973.
i i
i i
interval
i i
2008/11/18
page 203
i i
References 203
[27] Folkmar Bornemann, Dirk Laurie, Stanley Wagon, and Jörg Waldvogel. The SIAM
100-Digit Challenge: A Study in High-Accuracy Numerical Computing. SIAM,
Philadelphia, 2004.
[28] Glencora Borradaile and Pascal Van Hentenryck. Safe and tight linear estimators for
global optimization. Math. Program., 102(3):495–517, 2005.
[29] Norbert C. Börsken. Komplexe Kreis-Standardfunktionen. Dissertation, Universität
Freiburg, Freiburg, Germany, 1978.
[30] Judy A. Braun and Ramon E. Moore. A Program for the Solution of Differential
Equations Using Interval Arithmetic (DIFEQ) for the CDC 3600 and 1604. Technical
Report 901, Mathematics Research Center, University of Wisconsin, Dec. 1967.
[31] Robert P. Broadwater, Hesham E. Shaalan, and Wolter J. Fabrycky. Decision evalua-
tion with interval mathematics: A power distribution system case study. IEEE Trans.
Power Systems, 20(2):725–7334, May 2005.
[32] Ole Caprani, Kaj Madsen, and Louis B. Rall. Integration of Interval Functions. SIAM
J. Math. Anal., vol 2: 321–341, 1981.
[33] Ole Caprani, Kaj Madsen, and Louis B. Rall. Integration of interval functions. SIAM
J. Math. Anal., 12(3):321–341, 1981.
[34] Damien Chablat, Philippe Wenger, Félix Majou, and Jean-Pierre Merlet. An interval
analysis based study for the design and the comparison of three-degrees-of-freedom
parallel kinematic machines. I. J. Robotic Res., 23(6):615–624, 2004.
[35] Su Huan Chen, Hua Dong Lian, and Xiao Wei Yang. Interval eigenvalue analysis
for structures with interval parameters. Finite Elements Anal. Design, 39:419–431,
March 2003.
[36] Bruce Christianson. Reverse accumulation and accurate rounding error estimates for
Taylor series coefficients. Optimization Methods and Software, 1(1):81–94, 1991.
[37] Amanda E. Connell and Robert. M. Corless. An experimental interval arithmetic
package in Maple. Interval Comput., 2:120–134, 1993.
[38] George F. Corliss, Christèle Faure, Andreas Griewank, Laurent Hascoët, and Uwe
Naumann, editors. Automatic Differentiation of Algorithms: From Simulation to
Optimization. Computer and Information Science. Springer, New York, 2001.
[39] George F. Corliss, Christopher Foley, and Ralph Baker Kearfott. Formulation for
reliable analysis of structural frames. Reliable Comput., 13:125–147, April 2007.
[40] George F. Corliss and Louis B. Rall. Adaptive, self-validating numerical quadrature.
SIAM J. Sci. Statist. Comput., 8(5):831–847, 1987.
[41] I. Csajka, W. Muenzer, and Karl L. Nickel. Subroutines add, neg, sub, div, mul,
for Use in an Error-Bound Arithmetic. Technical report, IBM Research Laboratory,
Rueschlikon, Switzerland, 1966.
i i
i i
interval
i i
2008/11/18
page 204
i i
204 References
[42] Brian Davies. Whither mathematics? Notices Amer. Math. Soc., 52(11):1350–1356,
Dec. 2005.
[43] Kaisheng Du. Cluster Problem in Global Optimization Using Interval Arithmetic.
Ph.D. thesis, University of Southwestern Louisiana, 1994.
[44] Kaisheng Du and Ralph Baker Kearfott. The cluster problem in global optimization:
The univariate case. Computing (Suppl.), 9:117–127, 1992.
[46] Andrea Fusiello, Arrigo Benedetti, Michela Farenzena, and Alessandro Busti. Glob-
ally convergent autocalibration using interval analysis. IEEE Trans. Pattern Anal.
Mach. Intell., 26(12):1633–1638, 2004.
[47] Irene Gargantini and Peter Henrici. Circular arithmetic and the determination of
polynomial zeros. Numer. Math., 18(4):305–320, Aug. 1972.
[48] Chao-Yang Gau and Mark A. Stadtherr. Dynamic load balancing for parallel interval-
Newton using message passing. Comput. Chemical Engrg., 26:811–815, June 2002.
[49] Chao-Yang Gau and Mark A. Stadtherr. New interval methodologies for reliable
chemical process modeling. Comput. Chemical Engrg., 26:827–840, June 2002.
[50] Gene H. Golub and Charles F. van Loan. Matrix Computations, 3rd ed. Johns Hopkins
University Press, Baltimore, 1996.
[51] Laurent Granvilliers and Frédéric Benhamou. Progress in the solving of a circuit
design problem. J. Global Optim., 20:155–168, June 2001.
[52] Laurent Granvilliers and Frédéric Benhamou. Algorithm 852: RealPaver: An interval
solver using constraint satisfaction techniques. ACM Trans. Math. Softw., 32(1):138–
156, 2006.
[57] E. Hansen and G. W. Walster. Global Optimization Using Interval Analysis. Marcel
Dekker, New York, 2003.
i i
i i
interval
i i
2008/11/18
page 205
i i
References 205
[58] Eldon R. Hansen. Interval arithmetic in matrix computations, part I. J. Soc. Indust.
Appl. Math. Ser. B Numer. Anal., 2(2):308–320, 1965.
[59] Eldon R. Hansen. On solving systems of equations using interval arithmetic. Math.
Comput., 22(102):374–384, April 1968.
[60] Eldon R. Hansen. The centered form. In Eldon R. Hansen, editor, Topics in Interval
Analysis, Oxford University Press, London, 1969, pp. 102–106.
[61] Eldon R. Hansen. On linear algebraic equations with interval coefficients. In Eldon R.
Hansen, editor, Topics in Interval Analysis, Oxford University Press, London, 1969,
pp. 35–46.
[63] Eldon R. Hansen. Topics in Interval Analysis. Oxford University Press, London,
1969.
[65] Eldon R. Hansen. Global Optimization Using Interval Analysis. Marcel Dekker,
New York, 1992.
[67] Eldon R. Hansen and Roberta Smith. A Computer Program for Solving a System
of Linear Equations and Matrix Inversion with Automatic Error Bounding Using
Interval Arithmetic. Technical Report LMSC 4-22-66-3, Lockheed Missiles and
Space Co., Palo Alto, CA, 1966.
[68] Eldon R. Hansen and Roberta Smith. Interval arithmetic in matrix computations, part
II. SIAM J. Numer. Anal., 4(1):1–9, March 1967.
[69] Eldon R. Hansen and G. William Walster. Global optimization in nonlinear mixed
integer problems. In William F. Ames and R. Vichnevetsky, editors, Proceedings of
the 10th IMACS World Congress on Systems Simulation and Scientific Computing,
vol. 1, IMACS, Plantation, FL, 1982, pp. 379–381.
[71] Joel Hass, Michael Hutchings, and Roger Schlafly. The double bubble conjecture.
Electronic Research Announcements of the American Mathematical Society, 1:98–
102, 1995.
i i
i i
interval
i i
2008/11/18
page 206
i i
206 References
[72] Peter Henrici, editor. Applied and Computational Complex Analysis. Wiley, New
York, 1977.
[73] Jürgen Herzberger. Metrische Eigenschaften von Mengensystemen und einige An-
wendungen. Dissertation, Universität Karlsruhe, Germany, 1969.
[76] Jürgen Herzberger. Über ein Verfahren zur Bestimmung reeller Nullstellen mit An-
wendung auf Parallelrechnung. Elektronische Rechenanlagen, 14:250–254, 1972.
[77] Jürgen Herzberger. Über optimale Verfahren zur numerischen Bestimmung reeller
Nullstellen mit Fehlerschranken. Habilitationsschrift, Universität Karlsruhe, Ger-
many, 1972.
[79] Desmond J. Higham and Nicholas J. Higham. MATLAB Guide. SIAM, Philadelphia,
2000.
[80] Werner Hofschuster and Walter Krämer. C-XSC 2.0—A C++ library for extended
scientific computing. Lecture Notes in Comput. Sci., 2991, Springer-Verlag, New
York, 2004, pp. 15–35.
[81] Oliver Holzmann, Bruno Lang, and Holger Schütt. Newton’s constant of gravitation
and verified numerical quadratures. Reliable Comput., 2(3):229–240, 1996.
[82] Chenyi Hu and Ralph Baker Kearfott. On bounding the range of some elementary
functions in FORTRAN 77. Interval Comput., 1993(3):29–39, 1993.
[83] Umran S. Inan and Aziz S. Inan. Electromagnetic Waves. Prentice–Hall, Upper
Saddle River, NJ, 2000.
[84] Christian Jansson. Rigorous lower and upper bounds in linear programming. SIAM
J. Optim., 14(3):914–935, 2004.
[85] Christian Jansson, Denis Chaykin, and Christian Keil. Rigorous error bounds for the
optimal value in semidefinite programming. SIAM J. Numer. Anal., 46(1):180–200,
2007.
[86] Luc Jaulin, Michel Keiffer, Olivier Didrit, and Eric Walter. Applied Interval Analysis.
Springer-Verlag, Berlin, 2001.
i i
i i
interval
i i
2008/11/18
page 207
i i
References 207
[88] William M. Kahan. Circumscribing an ellipsoid about the intersection of two ellip-
soids. Can. Math. Bull., 11:437–441, 1968.
[89] William M. Kahan. A More Complete Interval Arithmetic: Lecture Notes for an
Engineering Summer Course in Numerical Analysis at the University of Michigan.
Technical report, University of Michigan, 1968.
[90] William M. Kahan. Invited commentary (concerning the invited paper of Karl L.
Nickel: Error bounds and computer arithmetic). In A. Morrell, editor, Proceedings
of IFIP Congress 1968, vol. I, North–Holland, Amsterdam, 1969, pp. 60–62.
[91] William M. Kahan. A survey of error analysis. In C. V. Freiman, J. E. Griffith, and
J. L. Rosenfeld, editors, Proceedings of IFIP Congress 1971, vol. II, North–Holland,
Amsterdam, 1972, pp. 1214–1239.
[92] Leonid Vitalevich Kantorovich. On a mathematical symbolism convenient for per-
forming machine calculations (in Russian). Dokl. Akad. Nauk SSSR, 113(4):738–741,
1957.
[93] Ralph Baker Kearfott. Abstract generalized bisection and a cost bound. Math.
Comput., 49(179):187–202, July 1987.
[94] Ralph Baker Kearfott. Some tests of generalized bisection. ACM Trans. Math.
Software, 13(3):197–220, Sept. 1987.
[95] Ralph Baker Kearfott. Corrigenda: Some Tests of Generalized Bisection. ACM
Trans. Math. Software, 14(4):399–399, Dec. 1988.
[96] Ralph Baker Kearfott. Algorithm 763: INTERVAL_ARITHMETIC: A Fortran 90
module for an interval data type. ACM Trans. Math. Software, 22(4):385–392, Dec.
1996.
[97] Ralph Baker Kearfott. Rigorous Global Search: Continuous Problems. Nonconvex
Optimization and Its Applications 13, Kluwer Academic Publishers, Dordrecht, The
Netherlands, 1996.
[98] Ralph Baker Kearfott. On proving existence of feasible points in equality constrained
optimization problems. Math. Program., 83(1):89–100, 1998.
[99] Ralph Baker Kearfott. GlobSol User Guide, 2008. To appear in Optim. Methods
Software.
[100] Ralph Baker Kearfott. Verified branch and bound for singular linear and nonlinear
programs: An epsilon-inflation process, April 2007. Available from the author.
[101] Ralph Baker Kearfott, Milinde Dawande, Kaisheng Du, and Chenyi Hu. Algorithm
737: INTLIB: A portable Fortran-77 elementary function library. ACM Trans. Math.
Software, 20(4):447–459, Dec. 1994.
[102] Ralph Baker Kearfott and Kaisheng Du. The cluster problem in multivariate global
optimization. J. Global Optim., 5:253–265, 1994.
i i
i i
interval
i i
2008/11/18
page 208
i i
208 References
[103] Ralph Baker Kearfott and Vladik Kreinovich, editors. Applications of Interval Com-
putations: Papers Presented at an International Workshop in El Paso, Texas, February
23–25, 1995, Applied Optimization 3, Kluwer, Dordrecht, The Netherlands, 1996.
[104] Ralph Baker Kearfott, Markus Neher, Shin’ichi Oishi, and Fabien Rico. Libraries,
tools, and interactive systems for verified computations: Four case studies. Lecture
Notes in Comput. Sci., 2991, Springer-Verlag, New York, 2004, pp. 36–63.
[105] Ralph Baker Kearfott and Manuel Novoa III. Algorithm 681: INTBIS, a portable
interval Newton/bisection package. ACM Trans. Math. Software, 16(2):152–157,
June 1990.
[106] Ralph Baker Kearfott and G. William Walster. On stopping criteria in verified nonlin-
ear systems or optimization algorithms. ACM Trans. Math. Software, 26(3):373–389,
Sept. 2000.
[107] Gershon Kedem. A posteriori error bounds for two-point boundary value problems.
SIAM J. Numer. Anal., 18(3):431–448, June 1981.
[108] Christian Keil and Christian Jansson. Computational experience with rigorous error
bounds for the netlib linear programming library. Reliable Comput., 12(4):303–321,
2006.
[109] J. B. Keiper. Interval arithmetic in Mathematica. Interval Comput., 1993(3):76–87,
1993.
[110] Hassan K. Khalil. Nonlinear Systems. MacMillan, New York, 1992.
[111] Olaf Knüppel. PROFIL/BIAS—Afast interval library. Computing, 53(3–4):277–287,
Sept. 1994.
[112] Olaf Knüppel. PROFIL/BIAS v 2.0. Bericht 99.1, Technische Universität Hamburg-
Harburg, Harburg, Germany, Feb. 1999.
[113] Martin Koeber. Inclusion of solutions of Darboux problems for quasilinear hyperbolic
equations. J. Comput. Appl. Math., 152:243–262, March 2003.
[114] Lubo Kolev. Interval Methods for Circuit Analysis. World Scientific, Singapore,
2003.
[115] Hasan Ugur Köylüoglu, Ahmet Ş. Çakmak, and Søren R. K. Neilson. Interval algebra
to deal with pattern loading and structural uncertainty. J. Engrg. Mech., 121:1149–
1157, 1995.
[116] Walter Krämer. intpakX—An Interval Arithmetic Package for Maple. In Proceedings
of the 12th GAMM, IMACS International Symposium on Scientific Computing, Com-
puter Arithmetic and Validated Numerics (SCAN 2006), IEEE Computer Society,
Washington, DC, 2006, p. 26.
[117] Walter Krämer, Ulrich W. Kulisch, and Rudolf Lohner. Numerical Toolbox for Verified
Computing II: Advanced Numerical Problems. Springer-Verlag, New York, 2006.
i i
i i
interval
i i
2008/11/18
page 209
i i
References 209
[118] Walter Krämer and Stefan Wedner. Two adaptive Gauss–Legendre type algorithms
for the verified computation of definite integrals. Reliable Comput., 2(3):241–254,
1996.
[119] Rudolf Krawczyk. Newton-Algorithmen zur Bestimmung von Nullstellen mit Fehler-
schranken. Interner Bericht des Inst. für Informatik 68/6, Universität Karlsruhe, 1968.
Computing, 4:187–201, 1969.
[120] Rudolf Krawczyk and Arnold Neumaier. Interval slopes for rational functions and
associated centered forms. SIAM J. Numer. Anal., 22(3):604–616, June 1985.
[121] Vladik Kreinovich, Anatoly Lakeyev, Jiři Rohn, and Patrick Kahl. Computational
Complexity and Feasibility of Data Processing and Interval Computations, Applied
Optimization 10, Kluwer Academic Publishers, Dordrecht, The Netherlands, 1998.
[124] Ulrich W. Kulisch. Interval Arithmetic Over Completely Ordered Ringoids. Technical
Report 1105, Mathematics Research Center, University of Wisconsin, May 1972.
[125] Ulrich W. Kulisch and Willard L. Miranker. Computer Arithmetic in Theory and
Practice. Academic Press, New York, 1981.
[126] Ulrich W. Kulisch and Willard L. Miranker. The arithmetic of the digital computer:
A new approach. SIAM Rev., 28(1):1–40, March 1986.
[127] Thomas D. Ladner and J. Michael Yohe. An Interval Arithmetic Package for the
Univac 1108. Technical Report 1055, Mathematics Research Center, University of
Wisconsin, Aug. 1970.
[130] Yahia Lebbah, Claude Michel, Michel Rueher, David Daney, and Jean-Pierre Merlet.
Efficient and safe global constraints for handling numerical constraint systems. SIAM
J. Numer. Anal., 42(5):2076–2097, 2005.
[131] Eric Lee, Constantinos Mavroidis, and Jean-Pierre Merlet. Five precision point
synthesis of spatial RRR manipulators using interval analysis. J. Mech. Design,
126:842–849, 2004.
i i
i i
interval
i i
2008/11/18
page 210
i i
210 References
[132] Michael Lerch, German Tischler, Jürgen Wolff von Gudenberg, Werner Hofschus-
ter, and Walter Krämer. FILIB++, a fast interval library supporting containment
computations. ACM Trans. Math. Software, 32(2):299–324, June 2006.
[133] Youdong Lin, JoshuaA. Enszer, and MarkA. Stadtherr. Enclosing all solutions of two-
point boundary value problems for ODEs. Comput. Chemical Engrg., 32(8):1714–
1725, August 2008.
[134] Youdong Lin and Mark A. Stadtherr. Advances in interval methods for deterministic
global optimization in chemical engineering. J. Global Optim., 29:281–296, July
2004.
[135] Youdong Lin and Mark A. Stadtherr. Locating stationary points of sorbate-zeolite
potential energy surfaces using interval analysis. J. Chem. Phys., 121:10159–10166,
2004.
[136] Youdong Lin and Mark A. Stadtherr. LP strategy for interval-Newton method in
deterministic global optimization. Ind. Engrg. Chem. Res., 43:3741–3749, 2004.
[137] Youdong Lin and Mark A. Stadtherr. Deterministic global optimization of molecular
structures using interval analysis. J. Comput. Chem., 26:1413–1420, 2005.
[138] Kyoko Makino and Martin Berz. Taylor models and other validated functional in-
clusion methods. Internat. J. Pure Appl. Math., 4,4:379–456, 2003.
[139] Kyoko Makino and Martin Berz. Suppression of the wrapping effect by Taylor model-
based verified integrators: Long-term stabilization by preconditioning. Int. J. Differ.
Equ. Appl., 10(4):353–384, 2005.
[140] Günter Mayer. Direct methods for linear systems with inexact input data, 2008. To
appear in Japan J. Industrial Appl. Math.
[141] Keith Meintjes and Alexander P. Morgan. A Methodology for Solving Chemical
Equilibrium Systems. General Motors Research Report GMR-4971. General Motors
Research Laboratories, Warren, MI, 1985.
[142] Jean-Pierre Merlet. ALIAS: An interval analysis based library for solving and ana-
lyzing system of equations. In SEA, Toulouse, June 2000.
[143] Kenneth R. Meyer and Dieter S. Schmidt, editors. Computer Aided Proofs in Analysis.
Springer-Verlag, New York, 1991.
[144] Mehdi Modares, Robert L. Mullen, Paul X. Bellini, and R. Muhanna. Buckling anal-
ysis of structures with interval uncertainties. SAE Transactions Journal of Passenger
Cars—Mechanical Systems, March 1996, pp. 284–290.
[145] Cleve B. Moler. Numerical Computing with MATLAB. SIAM, Philadelphia, 2004.
[146] Ramon E. Moore. Interval Arithmetic and Automatic Error Analysis in Digital Com-
puting. Ph.D. dissertation, Department of Mathematics, Stanford University, Stan-
ford, CA, 1962.
i i
i i
interval
i i
2008/11/18
page 211
i i
References 211
[147] Ramon E. Moore. The automatic analysis and control of error in digital computing
based on the use of interval numbers. In Louis B. Rall, editor, Error in Digital
Computation, vol. I, Wiley, New York, 1965, pp. 61–130.
[148] Ramon E. Moore. Interval Analysis. Prentice-Hall, Englewood Cliffs, NJ, 1966.
[150] Ramon E. Moore. A test for existence of solutions to nonlinear systems. SIAM J.
Numer. Anal., 14(4):611–615, 1977.
[151] Ramon E. Moore. A computational test for convergence of iterative methods for
nonlinear systems. SIAM J. Numer. Anal., 15(6):1194–1196, 1978.
[152] Ramon E. Moore. Methods and Applications of Interval Analysis. SIAM, Stud. Appl.
Math. 2, Philadelphia, 1979.
[153] Ramon E. Moore. Parameter sets for bounded error data. Math. Comput. Simulation,
34:113–119, 1992.
[154] Ramon E. Moore. The resolution of close minima. Comput. Math. Appl., 25:57–58,
1993.
[155] Ramon E. Moore. The dawning. Reliable Comput., 5:423–424, 1999.
[156] Ramon E. Moore and Michael J. Cloud. Computational Functional Analysis, 2nd ed.
Horwood Publishing, London, 2006.
[157] Ramon E. Moore, J. Ann Davison, H. Riley Jaschke, and Sidney Shayer. DIFEQ
Integration Routine—User’s Manual. Technical Report LMSC6-90-64-6, Lockheed
Missiles and Space, Lockheed, CA, 1964.
[158] Ramon E. Moore, Eldon R. Hansen, and Anthony Leclerc. Rigorous methods for par-
allel global optimization. In A. Floudas and P. Pardalos, editors, Recent Advances in
Global Optimization, Princeton University Press, Princeton, NJ, 1992, pp. 321–342.
[159] Ramon E. Moore and Sandie T. Jones. Safe starting regions for iterative methods.
SIAM J. Numer. Anal., 14(6):1051–1065, 1977.
[160] Rafi L. Muhanna and Robert L. Mullen. Development of interval based methods
for fuzziness in continuum-mechanics. In ISUMA ’95: Proceedings of the 3rd
International Symposium on Uncertainty Modelling and Analysis, IEEE Computer
Society, Washington, DC, 1995, p. 705.
[161] Rafi L. Muhanna and Robert L. Mullen. Formulation of fuzzy finite-element methods
for mechanics problems. Computer-Aided Civil and Infrastructure Engineering,
14(2):107–117, 1999.
i i
i i
interval
i i
2008/11/18
page 212
i i
212 References
[163] Rafi L. Muhanna, Hao Zhang, and Robert L. Mullen. Interval finite elements as
a basis for generalized models of uncertainty in engineering mechanics. Reliable
Comput., 13:173–194, April 2007.
[164] Kaori Nagatou. A computer-assisted proof on the stability of the Kolmogorov flows
of incompressible viscous fluid. J. Comput. Appl. Math., 169(1):33–44, 2004.
[165] Yusuke Naka, Assad A. Oberai, and Barbara G. Shinn-Cunningham. Acoustic eigen-
values of rectangular rooms with arbitrary wall impedances using the interval Newton
/ generalized bisection method. J. Acoust. Soc. Am., 118:3662–3771, December 2005.
[166] Mitsuhiro T. Nakao. Numerical verification methods for solutions of ordinary and
partial differential equations. Numer. Funct. Anal. Optim., 22:321–356, 2001.
[167] Arnold Neumaier. Interval Methods for Systems of Equations. Encyclopedia of Math-
ematics and its Applications 37, Cambridge University Press, Cambridge, UK, 1990.
[169] Arnold Neumaier. Taylor forms—use and limits. Reliable Comput., 9(1):43–79, 2003.
[170] Arnold Neumaier. Complete search in continuous global optimization and constraint
satisfaction. In A. Iserles, editor, Acta Numerica 2004, Cambridge University Press,
Cambridge, UK, 2004, pp. 271–369.
[171] Arnold Neumaier, Christian Bliek, and Christophe Jermann. Global Optimization
and Constraint Satisfaction: First International Workshop Global Constraint
Optimization and Constraint Satisfaction, Cocos 2002, Valbonne-Sophia Antipolis,
France, October 2002. Lecture Notes in Computer Science 2861, Springer-Verlag,
New York, 2004.
[172] Arnold Neumaier and Andrzej Pownuk. Linear systems with large uncertainties,
with applications to truss structures. Reliable Comput., 13:149–172, April 2007.
[173] Arnold Neumaier and Oleg Shcherbina. Safe bounds in linear and mixed-integer
programming. Math. Prog., 99(2):283–296, March 2004.
[174] Arnold Neumaier, Oleg Shcherbina, Waltraud Huyer, and Tamás Vinkó. A compar-
ison of complete global optimization solvers. Math. Prog., 103(2):335–356, 2005.
[175] Karl L. Nickel. Die numerische Berechnung der Wurzeln eines Polynoms. Numer.
Math., 9(1):80–98, Nov. 1966.
[176] Karl L. Nickel. Über die Notwendigkeit einer Fehlerschranken- Arithmetik für
Rechenautomaten. Numer. Math., 9:69–79, 1966.
[177] Karl L. Nickel. Die vollautomatische Berechnung einer einfachen Nullstelle von
F (T ) = 0 einschließlich einer Fehlerabschätzung. Computing, 2:232–245, 1967.
i i
i i
interval
i i
2008/11/18
page 213
i i
References 213
i i
i i
interval
i i
2008/11/18
page 214
i i
214 References
[194] John Derwent Pryce and George F. Corliss. Interval arithmetic with containment
sets. Computing, 78(3):251–276, 2006.
[195] Louis B. Rall, editor. Error in Digital Computation, vol. I. Wiley, New York, 1965.
[196] Louis B. Rall, editor. Error in Digital Computation, vol. II. Wiley, New York, 1965.
[197] Louis B. Rall. Application of interval integration to the solution of integral equations.
J. Integral Equations, 6:127–141, 1984.
[198] Louis B. Rall. Representations of intervals and optimal error bounds. Math. Comput.,
41:219–227, 1983.
[199] Louis B. Rall. Application of interval integration to the solution of integral equations
II—the finite case. SIAM J. Math. Anal., 13:690–697, 1982.
[201] Louis B. Rall. Interval analysis: A new tool for applied mathematics. In Transactions
of the Twenty-Seventh Conference of Army Mathematicians, Army Research Office,
Research Triangle Park, NC, 1982, pp. 283–301.
[202] Louis B. Rall. Mean value and Taylor forms in interval analysis. SIAM J. Math.
Anal., 14:223–238, 1983.
[203] Louis B. Rall. Solution of Finite Systems of Equations by Interval Iteration. Technical
Report 2271, Mathematics Research Center, University of Wisconsin, Aug. 1981.
[205] Louis B. Rall. Interval bounds for stationary values of functionals. Nonlinear Anal.,
6:855–861, 1982.
[206] Louis B. Rall. Interval methods for fixed-point problems. Numerical Functional
Analysis and Optimization, 9:35–59, 1987.
[207] Louis B. Rall. Global Optimization Using Automatic Differentiation and Interval
Iteration. Technical Report 2832, Mathematics Research Center, University of
Wisconsin, June 1985.
[208] Louis B. Rall. Improved interval bounds for ranges of functions. Lecture Notes
in Comput. Sci. 212, Karl L. Nickel, editor, Springer-Verlag, New York, 1986,
pp. 143–155.
[209] Helmut Ratschek. Centered forms. SIAM J. Numer. Anal., 17(5):656–662, 1980.
i i
i i
interval
i i
2008/11/18
page 215
i i
References 215
[210] Helmut Ratschek and Jon G. Rokne. Computer Methods for the Range of Functions.
Ellis Horwood Ser.: Math. Appl. Ellis Horwood, Chichester, UK, 1984.
[211] Helmut Ratschek and Jon G. Rokne. New Computer Methods for Global
Optimization. Wiley, New York, 1988.
[212] Helmut Ratschek and Jon G. Rokne. Experiments using interval analysis for solving
a circuit design problem. J. Global Optim., 3:501–518, Dec. 1993.
[213] Dietmar Ratz. Automatic Slope Computation and Its Application in Nonsmooth
Global Optimization. Shaker Verlag, Aachen, 1998.
[215] Allen Reiter. Interval Arithmetic Package (INTERVAL) for the CDC 1604 and
CDC 3600. Technical Report 794, Mathematics Research Center, University of
Wisconsin, Dec. 1967.
[216] Thomas W. Reps and Louis B. Rall. Computational divided differencing and divided-
difference arithmetics. Higher Order Symbol. Comput., 16(1-2):93–149, 2003.
[217] Nathalie Revol and Fabrice Rouillier. Motivations for an arbitrary precision interval
arithmetic and the MPFI library. Reliable Comput., 11(4):275–290, 2005.
[219] Siegfried M. Rump. Solving algebraic systems with high accuracy. In Ulrich W.
Kulisch and Willard L. Miranker, editors, A New Approach to Scientific Computation,
Academic Press, New York, 1983, pp. 51–120.
[221] Siegfried M. Rump. Verification methods for dense and sparse systems of equations.
In Jürgen Herzberger, editor, Topics in Validated Computations: Proceedings of
IMACS-GAMM International Workshop on Validated Computation, Oldenburg,
Germany, 30 August–3 September 1993, Studies in Computational Mathematics 5,
Elsevier, Amsterdam, The Netherlands, 1994, pp. 63–136.
[222] Siegfried M. Rump. Expansion and estimation of the range of nonlinear functions.
Math. Comput., 65(216):1503–1512, Oct. 1996.
[223] Siegfried M. Rump. Fast and parallel interval arithmetic. BIT Numer. Math.,
39(3):534–554, Sep. 1999.
i i
i i
interval
i i
2008/11/18
page 216
i i
216 References
[225] Siegfried M. Rump. Rigorous and portable standard functions. BIT Numer. Math.,
41(3):540–562, June 2001.
[226] Siegfried M. Rump and Takeshi Ogita. Super-fast validated solution of linear
systems. J. Comput. Appl. Math., 199(2):199–206, 2007.
[228] Hermann Schichl and Arnold Neumaier. Exclusion regions for systems of equations.
SIAM J. Numer. Anal., 42(1):383–408, 2004.
[229] Marco Schnurr. Steigungen höherer Ordnung zur verifizierten globalen Optimierung.
Ph.D. dissertation, Department of Mathematics, University of Karlsruhe, Germany,
May 2007.
[230] Hesham E. Shaalan and Robert P. Broadwater. Using interval mathematics in cost
benefit analysis of distribution automation. Electric Power Systems Research,
27:145–152, 1993.
[231] Zhixin Shi and Brian Hassard. Precise solution of Laplace’s equation. Math.
Comput., 64(210):515–536, April 1995.
[232] Stig Skelboe. Computation of rational interval functions. BIT, 14:187–195, 1974.
[233] John M. Snyder. Generative Modeling for Computer Graphics and CAD: Symbolic
Shape Design Using Interval Analysis. Academic Press Professional, San Diego,
CA, 1992.
i i
i i
interval
i i
2008/11/18
page 217
i i
References 217
[238] Teruo Sunaga. Theory of interval algebra and its application to numerical analysis.
RAAG Memoirs, 2:29–46, 1958.
[239] Peter Gabor Szabó, Mihaly Csaba. Markót, Tibor Csendes, Eckard Specht, Leon-
cadio G. Casado, and Inmaculada García. New Approaches to Circle Packing
in a Square: With Program Codes, Springer Optimization and Its Applications.
Springer-Verlag, New York, 2007.
[240] George G. Szpiro. Kepler’s Conjecture: How Some of the Greatest Minds in History
Helped Solve One of the Oldest Math Problems in the World. Wiley, New York, 2003.
[242] Kenji Toyonaga, Mitsuhiro T. Nakao, and Yoshitaka Watanabe. Verified numerical
computations for multiple and nearly multiple eigenvalues of elliptic operators.
J. Comput. Appl. Math., 147(1):175–190, 2002.
[243] Lung-Wen Tsai and Alexander P. Morgan. Solving the kinematics of the most
general six- and five-degree-of-freedom manipulators by continuation methods.
ASME J. Mechanisms Transmissions Automation in Design, 107:189–200, 1985.
[244] Warwick Tucker. A rigorous ODE solver and Smale’s 14th problem. Found. Comput.
Math., 24:53–117, 2002.
[245] Pascal Van Hentenryck, Laurent Michel, and Yves Deville. Numerica: A Modeling
Language for Global Optimization. MIT Press, Cambridge, MA, 1997.
[246] John von Neumann and Herman Heine Goldstine. Numerical inversion of matrices
of high order. Bull. Amer. Math. Soc., 53:1021–1099, 1947.
[247] G. William Walster, Eldon R. Hansen, and Saumyendra Sengupta. Test results
for a global optimization algorithm. In Paul T. Boggs, Richard H. Byrd, and
Robert B. Schnabel, editors, Numerical Optimization 1984, SIAM, Philadelphia,
1985, pp. 272–287.
[248] James Hardy Wilkinson. The Algebraic Eigenvalue Problem. Clarendon Press,
Oxford, UK, 1988.
[249] Stephen J. Wright. A collection of problems for which Gaussian elimination with
partial pivoting is unstable. SIAM J. Sci. Comput., 14(1):231–238, 1993.
[250] Nobito Yamamoto. A numerical verification method for solutions of boundary value
problems with local uniqueness by Banach’s fixed-point theorem. SIAM J. Numer.
Anal., 35(5):2004–2013, 1998.
[251] J. Michael Yohe. Rigorous bounds on computed approximation to square roots and
cube roots. Computing, 11:51–57, 1973.
i i
i i
interval
i i
2008/11/18
page 218
i i
218 References
[252] J. Michael Yohe. Application of Interval Analysis to Error Control. Technical Report
1686, Mathematics Research Center, University of Wisconsin, Sep. 1976.
[253] J. Michael Yohe. The Interval Arithmetic Package. Technical Report 1755,
Mathematics Research Center, University of Wisconsin, June 1977.
[254] J. Michael Yohe. Software for interval arithmetic: A reasonably portable package.
ACM Trans. Math. Software, 5:50–65, 1979.
[255] J. Michael Yohe. The Interval Arithmetic Package—Multiple Precision Version. Tech-
nical Report 1908, Mathematics Research Center, University of Wisconsin, Jan. 1979.
[256] Jiyuan. Zhang and Shoufan Shen. Interval analysis method for determining
kinematic solutions of mechanisms. Chinese J. Mech. Engrg., 27:75–99, 1991.
[257] Shen Zuhe and Michael A. Wolfe. On interval enclosures using slope arithmetic.
Appl. Math. Comput., 39(1):89–105, 1990.
i i
i i
interval
i i
2008/11/18
page 219
i i
Index
Aberth, O., 34, 122, 133, 146, 147, 155 code list, 65
absolute value, 9 codomain, 174
accurate dot product, 28 commutative laws, 31
addition of intervals, 10, 11 complement, 172
associativity, 31 complex eigenvalues, 170
commutativity, 31 complex roots, 170
additive identity element, 31 composition, 174
Alefeld, G., 17, 76 computational differentiation, 109
Archimedes’ method, 1, 4 computational graph, 65
associative laws, 31 computer assisted proofs, 157
atomic energy lower bounds, 158 computer graphics, 169
automatic differentiation, 109, 129, 137 computing with sets, 10, 15, 113
backward mode, 141 constraint propagation, 115, 168
forward mode, 141 continuous function, 51
convergent sequence, 51
backward mode, automatic differentiation, COSY, 147
141 Cset arithmetic, 114
Banach spaces, 128
BARON, 82, 167 Darboux integrals, 146
barycentric coordinates, 145 degenerate interval, 7
Berz, M., 147, 155 difference of intervals, 10, 11
binary arithmetic, IEEE, 23 differential equation, 149
box, 15 direct method, 88
branch-and-bound algorithm, 82 directed roundings, 16
branching, 62 discontinuous flag, 123
disjoints sets, 172
C-XSC, 28 division of intervals, 10, 13
cancellation law, 33 domain
Cartesian product, 173 of function, 174
Center for Reliable Engineering Comput- dot product, accurate, 28
ing, 169 double-bubble conjecture, 158
centered form, 67
chaos, 158 Einarsson, B., 158
chemical engineering, 163 electrical engineering, 170
chemical kinetics equilibrium, 163 empty set, 171
closed interval, 2, 7 enclosure, 2
clustering problem, 83 tightness of, 2
219
i i
i i
interval
i i
2008/11/18
page 220
i i
220 Index
i i
i i
interval
i i
2008/11/18
page 221
i i
Index 221
i i
i i
interval
i i
2008/11/18
page 222
i i
222 Index
i i
i i
interval
i i
2008/11/18
page 223
i i
Index 223
unary function, 64
uniform subdivision, 55
union, 8, 172
united extension, 38, 54
subset property of, 45
i i
i i