INTERVAL ANALYSIS
Introduction to
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
Society for Industrial and Applied Mathematics
Philadelphia
Copyright © 2009 by the Society for Industrial and Applied Mathematics
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,
191042688 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 thirdparties 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
machineexecutable 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
NONINFRINGEMENT. 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 © 19982008 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 017602098 USA, 5086477000, Fax: 5086477001,
info@mathworks.com, www.mathworks.com.
Windows is a registered trademark of Microsoft Corporation in the United States and/or other countries.
Library of Congress CataloginginPublication Data
Moore, Ramon E.
Introduction to interval analysis / Ramon E. Moore, R. Baker Kearfott, Michael J. Cloud.
p. cm.
Includes bibliographical references and index.
ISBN 9780898716696
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
2008/11/18
page v
i
i
i
i
i
i
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
2 The Interval Number System 7
2.1 Basic Terms and Concepts . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Order Relations for Intervals . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Operations of Interval Arithmetic . . . . . . . . . . . . . . . . . . . . 10
2.4 Interval Vectors and Matrices . . . . . . . . . . . . . . . . . . . . . . 14
2.5 Some Historical References . . . . . . . . . . . . . . . . . . . . . . . 16
3 First Applications of Interval Arithmetic 19
3.1 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2 Outwardly Rounded Interval Arithmetic . . . . . . . . . . . . . . . . 22
3.3 INTLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4 Other Systems and Considerations . . . . . . . . . . . . . . . . . . . 28
4 Further Properties of Interval Arithmetic 31
4.1 Algebraic Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2 Symmetric Intervals . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.3 Inclusion Isotonicity of Interval Arithmetic . . . . . . . . . . . . . . . 34
5 Introduction to Interval Functions 37
5.1 Set Images and United Extension . . . . . . . . . . . . . . . . . . . . 37
5.2 Elementary Functions of Interval Arguments . . . . . . . . . . . . . . 38
5.3 IntervalValued Extensions of Real Functions . . . . . . . . . . . . . 42
5.4 The Fundamental Theorem and Its Applications . . . . . . . . . . . . 45
5.5 Remarks on Numerical Computation . . . . . . . . . . . . . . . . . . 49
6 Interval Sequences 51
6.1 AMetric for the Set of Intervals . . . . . . . . . . . . . . . . . . . . . 51
6.2 Reﬁnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
v interval
2008/11/18
page vi
i
i
i
i
i
i
i
i
vi Contents
6.3 Finite Convergence and Stopping Criteria . . . . . . . . . . . . . . . . 57
6.4 More Efﬁcient Reﬁnements . . . . . . . . . . . . . . . . . . . . . . . 64
6.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
7 Interval Matrices 85
7.1 Deﬁnitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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
8 Interval Newton Methods 105
8.1 Newton’s Method in One Dimension . . . . . . . . . . . . . . . . . . 105
8.2 The Krawczyk Method . . . . . . . . . . . . . . . . . . . . . . . . . 116
8.3 Safe Starting Intervals . . . . . . . . . . . . . . . . . . . . . . . . . . 121
8.4 Multivariate Interval Newton Methods . . . . . . . . . . . . . . . . . 123
8.5 Concluding Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . 127
9 Integration of Interval Functions 129
9.1 Deﬁnition and Properties of the Integral . . . . . . . . . . . . . . . . 129
9.2 Integration of Polynomials . . . . . . . . . . . . . . . . . . . . . . . 133
9.3 Polynomial Enclosure, Automatic Differentiation . . . . . . . . . . . 135
9.4 Computing Enclosures for Integrals . . . . . . . . . . . . . . . . . . . 141
9.5 Further Remarks on Interval Integration . . . . . . . . . . . . . . . . 145
9.6 Software and Further References . . . . . . . . . . . . . . . . . . . . 147
10 Integral and Differential Equations 149
10.1 Integral Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
10.2 ODEs and Initial Value Problems . . . . . . . . . . . . . . . . . . . . 151
10.3 ODEs and Boundary Value Problems . . . . . . . . . . . . . . . . . . 156
10.4 Partial Differential Equations . . . . . . . . . . . . . . . . . . . . . . 156
11 Applications 157
11.1 ComputerAssisted Proofs . . . . . . . . . . . . . . . . . . . . . . . . 157
11.2 Global Optimization and Constraint Satisfaction . . . . . . . . . . . . 159
11.2.1 APrototypical 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 Clariﬁcations . . . . . . . . . . . . . . . . . 164
11.2.7 Additional Centers of Study . . . . . . . . . . . . . . . . 167
11.2.8 Summary of Links for Further Study . . . . . . . . . . . 168 interval
2008/11/18
page vii
i
i
i
i
i
i
i
i
Contents vii
11.3 Structural Engineering Applications . . . . . . . . . . . . . . . . . . . 168
11.4 Computer Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
11.5 Computation of Physical Constants . . . . . . . . . . . . . . . . . . . 169
11.6 Other Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
11.7 For Further Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
A Sets and Functions 171
B Formulary 177
C Hints for Selected Exercises 185
D Internet Resources 195
E INTLAB Commands and Functions 197
References 201
Index 219 interval
2008/11/18
page viii
i
i
i
i
i
i
i
i interval
2008/11/18
page ix
i
i
i
i
i
i
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 deﬁne an arithmetic for intervals and interval valued extensions of functions
commonlyusedincomputing. Inthis way, aninterval [a, b] has a dual nature. It is a newkind
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 ﬁnite machine arithmetic. With interval computation we can program a computer to ﬁnd
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 higherdimensional spaces. Using multinomials with interval
coefﬁcients, 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 computerassisted 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 interval
2008/11/18
page x
i
i
i
i
i
i
i
i
x Preface
method, the interval Newton method can be used in an algorithm that is mathematically
guaranteed to ﬁnd 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 branchandbound 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 deﬁnes the set operations
(intersection and union) and arithmetic operations (addition, subtraction, multiplication,
and division) needed to work within this system.
The ﬁrst 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 ﬂexible 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 ﬁnding). 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 quickreference Formulary, provides a convenient handbook
style listing of major deﬁnitions, 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 ﬁrst 10 chapters is basic calculus plus some famil
iarity with the elements of scientiﬁc computing. The application topics of Chapter 11 may
require a bit more background, but anattempt has beenmade tokeepmuchof the presentation
accessible to the nonspecialist, including senior undergraduates or beginning graduate stu
dents in engineering, the sciences (physical, biological, economic, etc.), and mathematics. interval
2008/11/18
page xi
i
i
i
i
i
i
i
i
Preface xi
Of the various intervalbased 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 interval
2008/11/18
page xii
i
i
i
i
i
i
i
i interval
2008/11/18
page 1
i
i
i
i
i
i
i
i
Chapter 1
Introduction
1.1 Enclosing a Solution
In elementary mathematics, a problem is “solved” when we write down an exact solution.
We solve the equation
x
2
+x −6 = 0
by factoring and obtaining the roots x
1
= −3 and x
2
= +2. Few high school algebra
teachers would be satisﬁed with an answer of the form
One root lies between −4 and −2, while the other lies between 1 and 3.
We need not look far, however, to ﬁnd even elementary problems where answers of precisely
this form are appropriate. The quadratic equation
x
2
−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 ﬁnite 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
1 interval
2008/11/18
page 2
i
i
i
i
i
i
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
mare known exactly (i.e., to unlimited decimal precision). If the latter quantities are known
only to lie in certain ranges, say,
F
0
−F ≤ F ≤ F
0
+F and
m
0
−m ≤ m ≤ m
0
+m,
then a can only be bounded above and below:
a
l
≤ a ≤ a
u
. (1.2)
For a relation as simple as (1.1), it is easy to determine how a
l
and a
u
depend on F
0
, m
0
,
F, and m.
Exercise 1.2. Carry out this derivation to ﬁnd 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 commonly
1
represent
as an ordered pair. Instead of (1.2), for instance, we write
a ∈ [a
l
, a
u
] . (1.3)
We call the interval [a
l
, a
u
] an enclosure of a. The use of simple set notation will repay us
many times over in the book; the reader can ﬁnd a review and summary of this notation in
AppendixA. 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 scientiﬁc 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 ﬁrst paragraph
might be much happier with answers of the form
x
1
∈ [−3.001, −2.999], x
2
∈ [1.999, 2.001].
1
Other representations are discussed in Chapter 3. interval
2008/11/18
page 3
i
i
i
i
i
i
i
i
1.2. Bounding Roundoff Error 3
In fact, it is worth noting that if we obtain something like
x ∈ [0.66666, 0.66667],
then we do know x to four places. Moreover, there are times when we can and should be
satisﬁed 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.
1.2 Bounding Roundoff Error
The effects of ﬁnite number representation are familiar to anyone who has done scientiﬁc
computing. Rounding error, if it manages to accumulate sufﬁciently, can destroy a numerical
solution.
The folklore surrounding this subject can be misleading. Here we will provide one
example of a computation—involving only a small number of arithmetic operations—that
already foils a scheme often thought to be adequate for estimating roundoff error. The idea
is to perform the same computation twice, using higherprecision arithmetic the second
time. The number of ﬁgures to which the two results agree is supposed to be the number of
correct ﬁgures in the ﬁrst result.
Example 1.1. Consider the recursion formula
x
n+1
= x
2
n
(n = 0, 1, 2, . . .), (1.4)
and suppose that x
0
= 1 −10
−21
. We seek x
75
. Performing the computation with 10place
arithmetic, we obtain the approximate values
x
0
= 1, x
1
= 1, . . . , x
75
= 1.
Using 20place arithmetic, we obtain the same sequence of values; hence the two values of
x
75
agree to all 10 places carried in the ﬁrst computation. However, the exact value satisﬁes
x
75
< 10
−10
.
Exercise 1.4. Verify this.
Example 1.1 illustrates that repeating a calculation with higherprecision arithmetic
and obtaining the same answer does not show that the answer is correct. The reason
was simply that x
1
is not representable exactly in either 10 or 20place arithmetic. The
next example, ﬁrst given by Rump in [220], shows that the problem can occur in a more
subtle way. interval
2008/11/18
page 4
i
i
i
i
i
i
i
i
4 Chapter 1. Introduction
Example 1.2. Consider evaluation of f deﬁned by
f = 333.75 b
6
+ a
2
(11 a
2
b
2
− b
6
− 121 b
4
− 2) + 5.5 b
8
+ a/(2b)
with a = 77617.0 and b = 33096.0.
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:
single precision f = 1.17260361 . . .
double precision f = 1.17260394005317847 . . .
extended precision f = 1.17260394005317863185 . . . .
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 ﬁnd 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 INTLABprogramthat can compute
rigorous bounds for f to a speciﬁed 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 cases
2
it is true that by carrying enough places a result of arbitrarily high accuracy can be found in
any computation involving only a ﬁnite number of real arithmetic operations beginning with
exactly known real numbers. However, it is often prohibitively difﬁcult 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 limitedprecision
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 10place 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 x
0
.
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 ﬁrst digit.
2
There are cases in which no amount of precision can rectify a problem, such as when a ﬁnal result depends on
testing exact equality between the result of a ﬂoating point computation and another ﬂoating 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. interval
2008/11/18
page 5
i
i
i
i
i
i
i
i
1.3. Number Pair Extensions 5
1.3 Number Pair Extensions
Fromtime to time, mathematicians have found it necessary to produce a newnumber system
by extending an old one. Extensions of number systems involving ordered pairs of numbers
from a given system are commonplace. The rational numbers are essentially ordered pairs
of integers m/n. The complex numbers are ordered pairs of real numbers (x, y). In each
case, arithmetic operations are deﬁned with rules for computing the components of a pair
resulting from an arithmetic operation on a pair of pairs. For example, we use the rule
(x
1
, y
1
) +(x
2
, y
2
) = (x
1
+x
2
, y
1
+y
2
)
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. interval
2008/11/18
page 6
i
i
i
i
i
i
i
i interval
2008/11/18
page 7
i
i
i
i
i
i
i
i
Chapter 2
The Interval Number
System
2.1 Basic Terms and Concepts
Recall that the closed interval denoted by [a, b] is the set of real numbers given by
[a, b] = {x ∈ R: a ≤ x ≤ b}.
Although various other types of intervals (open, halfopen) appear throughout mathematics,
our work will center primarily on closed intervals. In this book, the term interval will mean
closed interval.
Endpoint Notation, Interval Equality
We will adopt the convention of denoting intervals and their endpoints by capital letters.
The left and right endpoints of an interval X will be denoted by X and X, respectively.
Thus,
X =
X, X
. (2.1)
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:
X = Y if X = Y and X = Y. (2.2)
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
0 = [0, 0]. (2.3)
7 interval
2008/11/18
page 8
i
i
i
i
i
i
i
i
8 Chapter 2. The Interval Number System
Intersection, Union, and Interval Hull
The intersection of two intervals X and Y is empty if either Y < X or X < Y. In this case
we let ∅ denote the empty set and write
X ∩ Y = ∅,
indicating that X and Y have no points in common. Otherwise, we may deﬁne the intersec
tion X ∩ Y as the interval
X ∩ Y = {z: z ∈ X and z ∈ Y}
=
max{X, Y} , min{X, Y}
. (2.4)
In this latter case, the union of X and Y is also an interval:
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, deﬁned 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)
for any two intervals X and Y.
Example 2.1. If X = [−1, 0] and Y = [1, 2], then X∪Y = [−1, 2]. Although X ∪ Y
is a disconnected set that cannot be expressed as an interval, relation (2.7) still holds.
Information is lost when we replace X ∪ Y with X∪Y, but X∪Y is easier to work with,
and the lost information is sometimes not critical.
On occasion we wish to save both parts of an interval that gets split into two disjoint
intervals. This occurs with the use of the interval Newton method discussed in Chapter 8.
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 ﬁnds that q = 10.3 with a measurement error less than 0.2. The other
ﬁnds 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. interval
2008/11/18
page 9
i
i
i
i
i
i
i
i
2.2. Order Relations for Intervals 9
Figure 2.1. Width, absolute value, and midpoint of an interval.
Width, Absolute Value, Midpoint
Afew other terms will be useful in the book:
1. The width of an interval X is deﬁned and denoted by
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
m(X) =
1
2
(X +X). (2.10)
See Figure 2.1.
Example 2.3. Let X = [0, 2] and Y = [−1, 1]. The intersection and union of X and Y are
the intervals
X ∩ Y = [max{0, −1} , min{2, 1}] = [0, 1],
X ∪ Y = [min{0, −1} , max{2, 1}] = [−1, 2].
We have w(X) = w(Y) = 2 and, for instance,
X = max{0, 2} = 2.
The midpoint of Y is m(Y) = 0.
2.2 Order Relations for Intervals
We know that the real numbers are ordered by the relation <. This relation is said to be
transitive: if a < b and b < c, then a < c for any a, b, and c ∈ R. Acorresponding relation
can be deﬁned for intervals, and we continue to use the same symbol for it:
X < Y means that X < Y. (2.11) interval
2008/11/18
page 10
i
i
i
i
i
i
i
i
10 Chapter 2. The Interval Number System
For instance, [0, 1] < [2, 3], and we still have
A < B and B < C =⇒ A < C. (2.12)
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:
X ⊆ Y if and only if Y ≤ X and X ≤ Y. (2.13)
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.
2.3 Operations of Interval Arithmetic
The notion of the degenerate interval permits us to regard the system of closed intervals as
an extension of the real number system. Indeed, there is an obvious onetoone pairing
[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.
Deﬁnitions of the Arithmetic Operations
We are about to deﬁne the basic arithmetic operations between intervals. The key point
in these deﬁnitions is that computing with intervals is computing with sets. For example,
when we add two intervals, the resulting interval is a set containing the sums of all pairs of
numbers, one from each of the two initial sets. By deﬁnition then, the sum of two intervals
X and Y is the set
X +Y = {x +y : x ∈ X, y ∈ Y}. (2.15)
We will return to an operational description of addition momentarily (that is, to the task
of obtaining a formula by which addition can be easily carried out). But let us deﬁne the
remaining three arithmetic operations. The difference of two intervals X and Y is the set
X −Y = {x −y : x ∈ X, y ∈ Y}. (2.16)
The product of X and Y is given by
X · Y = {xy : x ∈ X, y ∈ Y}. (2.17)
We sometimes write X · Y more brieﬂy as XY. Finally, the quotient X/Y is deﬁned as
X/Y = {x/y : x ∈ X, y ∈ Y} (2.18) interval
2008/11/18
page 11
i
i
i
i
i
i
i
i
2.3. Operations of Interval Arithmetic 11
provided
3
that 0 / ∈ Y. Since all these deﬁnitions 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 deﬁne functions of interval variables by treating these, in a similar fashion,
as “unary operations.” That is, we can deﬁne
f (X) = {f (x): x ∈ X}, (2.20)
where, say, f (x) = x
2
or f (x) = sin x. However, we shall postpone further discussion of
interval functions until Chapter 5.
Endpoint Formulas for the Arithmetic Operations
Addition
Let us ﬁnd an operational way to add intervals. Since
x ∈ X means that X ≤ x ≤ X
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.
Hence, the formula
X +Y =
X +Y , X +Y
(2.21)
can be used to implement (2.15).
Example 2.4. Let X = [0, 2] and Y = [−1, 1] as in Example 2.3. Then
X +Y = [0 +(−1) , 2 +1] = [−1, 3].
This is not the same as X ∪ Y = [−1, 2].
Exercise 2.1. Find X +Y and X ∪ Y if X = [5, 7] and Y = [−2, 6].
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. interval
2008/11/18
page 12
i
i
i
i
i
i
i
i
12 Chapter 2. The Interval Number System
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 ﬁnd the negative of an interval.
Example 2.5. If X = [−1, 0] and Y = [1, 2], then
−Y = [−2, −1]
and X − Y = X + (−Y) = [−3, −1].
Exercise 2.2. Find X − Y if X = [5, 6] and Y = [−2, 4].
Exercise 2.3. Do we have X − X = 0 in general? Why or why not?
Multiplication
In terms of endpoints, the product X · Y of two intervals X and Y is given by
X · Y = [min S , max S] , where S = {XY , XY , XY , XY}. (2.23)
Example 2.6. Let X = [−1, 0] and Y = [1, 2]. Then
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].
The multiplication of intervals is given in terms of the minimum and maximum of
four products of endpoints. Actually, by testing for the signs of the endpoints X, X, Y,
and Y, the formula for the endpoints of the interval product can be broken into nine special
cases. In eight of these, only two products need be computed. The cases are shown in
Table 2.1. Whether this table, equation (2.23), or some other scheme is most efﬁcient
in an implementation of interval arithmetic depends on the programming language and
the host hardware. Before proceeding further, we brieﬂy mention the wide availability of
selfcontained interval software. Many programming languages allow interval data types
for which all necessary computational details—such as those in Table 2.1—are handled
automatically. See Appendix D for further information. interval
2008/11/18
page 13
i
i
i
i
i
i
i
i
2.3. Operations of Interval Arithmetic 13
Table 2.1. Endpoint formulas for interval multiplication.
Case X · Y X · Y
0 ≤ X and 0 ≤ Y X · Y X · Y
X < 0 < X and 0 ≤ Y X · Y X · Y
X ≤ 0 and 0 ≤ Y X · Y X · Y
0 ≤ X and Y < 0 < Y X · Y X · Y
X ≤ 0 and Y < 0 < Y X · Y X · Y
0 ≤ X and Y ≤ 0 X · Y X · Y
X < 0 < X and Y ≤ 0 X · Y X · Y
X ≤ 0 and Y ≤ 0 X · Y X · Y
X < 0 < X and Y < 0 < Y min{XY, XY} max{XY, XY}
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 coefﬁcients a
and b are only known to lie in certain intervals A and B, respectively. We ﬁnd 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) +
−
1
2
w(X),
1
2
w(X)
= m(X) +
1
2
w(X)[−1, 1]. (2.26) interval
2008/11/18
page 14
i
i
i
i
i
i
i
i
14 Chapter 2. The Interval Number System
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±
w
2
=
m−
w
2
, m+
w
2
. (2.27)
2.4 Interval Vectors and Matrices
By an ndimensional interval vector, we mean an ordered ntuple of intervals
(X
1
, . . . , X
n
).
We will also denote interval vectors by capital letters such as X.
Example 2.9. Atwodimensional interval vector
X = (X
1
, X
2
) =
X
1
, X
1
,
X
2
, X
2
can be represented as a rectangle in the x
1
x
2
plane: it is the set of all points (x
1
, x
2
) such
that
X
1
≤ x
1
≤ X
1
and X
2
≤ x
2
≤ X
2
.
With suitable modiﬁcations, many of the notions for ordinary intervals can be extended
to interval vectors.
1. If x = (x
1
, . . . , x
n
) is a real vector and X = (X
1
, . . . , X
n
) is an interval vector, then
we write
x ∈ X if x
i
∈ X
i
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 X
i
∩Y
i
= ∅for some i, then X∩Y = ∅.
Otherwise, for X = (X
1
, . . . , X
n
) and Y = (Y
1
, . . . , Y
n
) we have
X ∩ Y = (X
1
∩ Y
1
, . . . , X
n
∩ Y
n
).
This is again an interval vector.
3. If X = (X
1
, . . . , X
n
) and Y = (Y
1
, . . . , Y
n
) are interval vectors, we have
X ⊆ Y if X
i
⊆ Y
i
for i = 1, . . . , n.
4. The width of an interval vector X = (X
1
, . . . , X
n
) is the largest of the widths of any
of its component intervals:
w(X) = max
i
w(X
i
).
5. The midpoint of an interval vector X = (X
1
, . . . , X
n
) is
m(X) = (m(X
1
), . . . , m(X
n
)). interval
2008/11/18
page 15
i
i
i
i
i
i
i
i
2.4. Interval Vectors and Matrices 15
Figure 2.2. Width, norm, and midpoint of an interval vector X = (X
1
, X
2
).
6. The norm of an interval vector X = (X
1
, . . . , X
n
) is
X = max
i
X
i
.
This serves as a generalization of absolute value.
Example 2.10. Consider the twodimensional constant interval vector
X = (X
1
, X
2
),
where X
1
= [1, 2] and X
2
= [4, 7]. We have
w(X) = max{2 − 1, 7 − 4} = 3,
m(X) =
1+2
2
,
4+7
2
=
3
2
,
11
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 ndimensional
“box.” We will see applications of this idea. Any bounded set of points in nspace 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 deﬁne an inner product
P = U
1
V
1
+ · · · + U
n
V
n
between two interval vectors (U
1
, . . . , U
n
) and (V
1
, . . . , V
n
). The interval P contains all
the real numbers deﬁned by values of the inner product of real vectors u and v with real
components taken from the given intervals U
1
, . . . , U
n
and V
1
, . . . , V
n
. interval
2008/11/18
page 16
i
i
i
i
i
i
i
i
16 Chapter 2. The Interval Number System
Exercise 2.5. A family of Cartesian vectors is given by (f, 6, −7), where 1 ≤ f ≤ 3.
Calculate the range of inner products between these vectors and
1
√
5
(1, 2, 0).
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 matrixvector multiplication that we will
discuss there.
2.5 Some Historical References
Much of the modern literature on interval arithmetic can be traced to R. E. Moore’s disser
tation [146], through his book [148]. Acollection of early papers by Moore and coworkers
can be found on the web (see Appendix D for some starting links relevant to the material
in this section). The earlier work [238], written independently and often overlooked, also
contained many of the ideas expressed in [146]. The paper [238], as well as other early
papers dealing with similar concepts, are available on the web. Moore describes the thought
process and inspiration that led to his seminal dissertation in [155].
Other researchers began work with interval computations almost contemporary with
or shortly after (that is, within a decade of) Moore’s early work.
• Eldon Hansen investigated reliable solution of linear systems and other topics; see
[58, 59, 60, 61, 62, 67, 68], etc. Adecade or so later, he began a lasting collaboration
with Bill Walster, including [69, 247]. Anotable recent reference is [57].
• WilliamKahan, known for his work in standardization of ﬂoating 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 deﬁned. 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 exceptionfree arithmetic, embodied in the IEEE 754 standard
for binaryﬂoatingpoint arithmetic. Infact, some properties of the binaryﬂoatingpoint
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 ﬂoating point standard, as well as the details and
mathematical underpinnings of extended interval arithmetic, continue to be debated
and revised.
• Several researchers at the University of Karlsruhe started a tradition in interval com
putation that continues to inﬂuence mathematics and computer science in Germany:
– Karl Nickel began at Karlsruhe, where he helped establish the discipline of
computer science in Germany. His early publications on interval computations
include [19, 41, 175, 176, 177, 178, 179]. Nickel later moved to the Univer
sity of Freiburg, where he supported the ﬁeld with work such as editing the
Freiburger Intervallberichte preprint series, in which there are many gems,
some not published elsewhere. One researcher he encouraged at Freiburg is interval
2008/11/18
page 17
i
i
i
i
i
i
i
i
2.5. Some Historical References 17
Arnold Neumaier, presently at the University of Vienna. Neumaier continues
to be active in interval computations and global optimization.
– Ulrich Kulisch, starting in 1966, has been inﬂuential through his work and that
of his students. His early work includes [15, 16, 17, 18, 19, 122, 123], as well
as slightly later technical reports at the University of Wisconsin at Madison
and the IBM Thomas Watson Research Center. Many of his 49 students hold
prominent academic positions in German universities. Two of his early students
are Götz Alefeld and Jürgen Herzberger, both receiving the Ph.D. in 1969.
Alefeld’s early work includes [4, 6, 5]; he has mentored 29 Ph.D. students
and continues to hold a chair at the University of Karlsruhe. Herzberger’s
early work includes his dissertation [73], [74, 75, 76, 77, 78], and a productive
collaboration with Alefeld, including [7, 8, 9, 10, 11, 14]. The most famous
fruit of this collaboration is the classic introduction to interval analysis [12],
which Jon Rokne translated into English a decade later [13]. Another student
of Kulisch is Siegfried Rump (1980), presently head of the Institute of Reliable
Computing at the Technical University of Hamburg. Rump has done work in
error bounds for solutions to linear and nonlinear systems, among other things.
He developed the INTLAB toolbox that we use throughout this book.
– Rudolf Krawczyk was at Karlsruhe in 1969 when he published [119], where the
muchstudied Krawczyk method ﬁrst appeared. (See section 8.2 of this work.)
• Soon after publication of Moore’s dissertation, he was invited to give a talk at a
seminar on error in digital computing at the Mathematics Research Center (MRC) at
the University of Wisconsin. The proceedings of this seminar, published as [195, 196],
were edited by Louis Rall. Moore joined MRCand wrote Interval Analysis during the
summer of 1965. Ulrich Kulisch and Karl Nickel visited the MRC, and the work in
interval analysis at the MRC continued through the 1980s, as evidenced in technical
reports such as [26, 30, 32, 124, 127, 180, 181, 182, 183, 197, 198, 199, 201, 202,
203, 204, 205, 206, 207, 208, 215, 251, 252, 253, 254, 255].
• There is early work other than at the aforementioned centers. For example, Peter
Henrici et al. have studied complex interval arithmetic, such as in [47].
We will draw upon these and more recent references throughout the book. interval
2008/11/18
page 18
i
i
i
i
i
i
i
i interval
2008/11/18
page 19
i
i
i
i
i
i
i
i
Chapter 3
First Applications of
Interval Arithmetic
3.1 Examples
Almost any scientiﬁc 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 ﬁnd 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] m
2
, (3.1)
which means, of course, that
1.99850025 m
2
≤ a ≤ 2.00150025 m
2
.
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 ﬁnal
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 speciﬁed exactly by (3.1). Suppose the true value of
a is
a = 1.99850026 m
2
. (3.2)
19 interval
2008/11/18
page 20
i
i
i
i
i
i
i
i
20 Chapter 3. First Applications of Interval Arithmetic
Clearly, if we were to round the endpoints of A both upward by one digit to obtain
A
= [1.9985003 , 2.0015003] m
2
,
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
A
= [1.998, 2.002] m
2
.
The statement
1.998 m
2
≤ a ≤ 2.002 m
2
is deﬁnitely true, and the ability to depend on this is essential as we proceed.
Exercise 3.1. Performoutwardrounding, at the thirddecimal place, onthe 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.
Exercise 3.3. A Wien bridge electric circuit oscillates at frequency f
0
given by f
0
=
1/(2πRC) Hz. If components having nominal values C = 1 nF and R = 15 k with
manufacturing tolerances of 10% are used, in what range must f
0
lie?
Interval arithmetic also makes it easy to track the propagation of initial uncertainties
through a series of calculations.
Example 3.2. Consider the formula
V =
2gM
E(M +E)
−V
0
, (3.3)
which has an application discussed in [149]. Suppose we know that
g ∈ [1.32710, 1.32715](10
20
),
V
0
∈ [2.929, 3.029](10
4
),
M ∈ [2.066, 2.493](10
11
),
E ∈ [1.470, 1.521](10
11
),
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 ﬁnal results at this time, however. We will discuss functions such as interval
2008/11/18
page 21
i
i
i
i
i
i
i
i
3.1. Examples 21
square roots systemically in Chapter 5, but for now it will sufﬁce to note that if x ∈ [a, b]
with a and b positive numbers such that a < b, then
√
x ∈
√
a ,
√
b
.
Carrying out the operations indicated in (3.3), we ﬁnd that
V ∈ [−324, 6394]. (3.4)
The interesting part is that instead of (3.3) we can use the expression
V =
2g
E(1 +
E
M
)
−V
0
.
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 +M
=
1
1 +
1
M
.
For the interval data M = [14, 15], the ﬁrst expression yields
[14, 15]
1 +[14, 15]
=
[14, 15]
[15, 16]
=
14
16
,
15
15
= [0.875, 1.0]
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
[14,15]
=
1
1 +
1
15
,
1
14
=
1
16
15
,
15
14
=
14
15
,
15
16
∈ [0.933, 0.938].
The result just shown, namely,
14
15
,
15
16
∈ [0.933, 0.938]
illustrates how we can maintain rigorous enclosure despite machine rounding error. In
decimal form, we would have the exact result,
14
15
,
15
16
= [0.933333 . . . , 0.9375].
However, the left endpoint is a repeating decimal and cannot be exactly represented by a
ﬁnite string of digits. Since we can compute only with ﬁnite strings of digits, we maintain
rigorous enclosure of interval results through outward rounding. Sometimes no rounding is
needed, if we have the exact result in no more than the maximum number of digits allowed.
If we allow only three places, we get the result shown above. We see that [0.933, 0.938] is
the narrowest interval, using only three places, that contains the interval
14
15
,
15
16
.
interval
2008/11/18
page 22
i
i
i
i
i
i
i
i
22 Chapter 3. First Applications of Interval Arithmetic
3.2 Outwardly Rounded Interval Arithmetic
In practice, outward rounding is implemented at every arithmetic operation—always at the
last digit carried. In optimal outward rounding, the outwardly rounded left endpoint is
the closest machine number less than or equal to the exact left endpoint, and the outwardly
rounded right endpoint is the closest machine number greater than or equal to the exact right
endpoint. Numerous interval software systems do this automatically (see Appendix D).
Deﬁnition 3.1. By outwardly rounded interval arithmetic (IA), we mean interval arithmetic,
implemented on a computer, with outward rounding at the last digit carried.
The classic reference on IA is the mathematically rigorous treatment by Kulisch and
Miranker [125].
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 inﬁmumsupremum notation (or lower
bound–upper bound representation, i.e., our usual endpoint notation). After providing con
ﬁrmation
5
of this default display setting, INTLAB returns to the MATLAB prompt and
awaits further instruction. We now type
>> g = infsup(1.32710e20,1.32715e20)
and hit enter; INTLAB responds (MATLAB style) with
intval g = 1.0e+020 * [ 1.3271 , 1.3272 ]
which merely conﬁrms 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
before attempting to read further.
5
For brevity we omit this conﬁrmation fromour examples. MATLABoutput has been lightly edited to conserve
space.
interval
2008/11/18
page 23
i
i
i
i
i
i
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, V
0
, 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 deﬁned 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.
interv
2008/11/
page 24
i
i
i
i
i
i
i
i
24 Chapter 3. First Applications of Interval Arithmetic
Example 3.4. The following MATLAB/INTLAB computations illustrate the display of
intervals in INTLAB.
>> format short
>> rx = 2/3
rx = 0.6667
>> format long
>> rx
rx = 0.666666666666667
>> format short
>> intvalinit(’DisplayInfsup’)
===> Default display of intervals by infimum/supremum
>> x = infsup(2/3,2/3)
intval x = [ 0.6666 , 0.6667 ]
>> format long
>> x
intval x = [ 0.66666666666666 , 0.66666666666667 ]
In these computations, when 2/3 is entered into MATLAB, it is converted (presumably
6
)
to the closest IEEE double precision binary number to 2/3 and stored in rx. When rx
is printed, this binary number is converted back to a decimal number, according to the
format (short or long) in effect when the output is requested. When the INTLAB command
x = midrad(2/3,0) is issued, an internal representation
7
corresponding to an interval
whose lower bound is less than 2/3 (a number that is not exactly representable in any binary
format) and whose upper bound is greater than 2/3 is generated. The lower bound and upper
bound are very close together in this case, possibly with no binary numbers in the system
between. When output in the short format, the decimal representation of the lower bound is
produced to be smaller than or equal to the exact lower bound of the stored binary interval,
and the decimal representation of the upper bound is greater than or equal to the exact upper
bound of the stored binary interval. Thus, the output interval is wider in the short format
than in the long format, but, in any case, the output will always contain the exact value 2/3.
INTLABprovides a special syntax for mathematically rigorous enclosures of decimal
numbers that are entered. For example, one may obtain a mathematically rigorous enclosure
for the interval [1.32710 × 10
20
, 1.32715 × 10
20
] from Example 3.3 with the following
MATLAB dialogue:
>> g = hull(intval(’1.32710e20’),intval(’1.32715e20’))
intval g = 1.0e+020 * [ 1.3271 , 1.3272 ]
The following MATLAB mﬁle
8
could also be used:
function [ivl] = rigorinfsup(x,y)
% [ivl] = rigorinfsup(x,y) returns an interval whose internal
% representation contains a rigorous enclosure for the
% decimal strings x and y. It is an error to call this function
6
We have not veriﬁed this on all systems for all inputs.
7
The representation is not necessarily in terms of lower bound and upper bound, but may be in terms of midpoint
and radius.
8
An mﬁle is essentially a MATLAB program. Appendix D contains instructions on how to obtain the mﬁles
used in this book. We will say more about mﬁles later. interval
2008/11/18
page 25
i
i
i
i
i
i
i
i
3.3. INTLAB 25
% if the arguments are not character.
if (ischar(x) & ischar(y))
ilower = intval(x);
iupper = intval(y);
ivl = infsup(inf(ilower), sup(iupper));
else
display(’Error in rigorinfsup; one of arguments is not’);
display(’a character string.’);
ivl = infsup(Inf, Inf);
end;
Use of rigorinfsup is exempliﬁed in the following short MATLAB dialogue:
>> g = rigorinfsup(’1.32710e20’,’1.32715e20’)
intval g = 1.0e+020 * [ 1.3271 , 1.3272 ]
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)inMATLABresults inaninternallystoredbinaryin
terval for g that may not contain the decimal interval [1.32710×10
20
, 1.32715×10
20
]. 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 canappear inINTLABcomputations: the inﬁmum
supremum representation, which we have already discussed, the midpointradius represen
tation, mentioned in Example 3.4, and the signiﬁcant digits representation. The midpoint
radius representation is analogous to the speciﬁcation of tolerances familiar to engineers.
For example, if an electrical resistor is given by R = 10 ± 1 , then the midpointradius
representation of the set of values for R would be 10, 1, whereas the inﬁmumsupremum
representation of the interval for R would be [9, 11]. (In the midpointradius 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.
interval
2008/11/18
page 26
i
i
i
i
i
i
i
i
26 Chapter 3. First Applications of Interval Arithmetic
the actual interval.) There are certain advantages and disadvantages to the midpointradius
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’)
will change INTLAB to Midrad mode. Now we can see
>> R
intval R = < 100.0000 , 10.0000 >
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 ]
The signiﬁcant digits or uncertainty representation is appropriate when we are ap
proximating a single real number and wish to easily see how many digits of it are known
with mathematical certainty. The interval is displayed as a single real number, and the last
digit displayed is correct to within one unit. The following MATLAB dialogue gives some
examples:
>> intvalinit(’Display_’)
>> infsup(1.11,1.12)
intval ans = 1.12__
>> infsup(1.1,1.5)
intval ans = 1.____
>> infsup(1.11,1.13)
intval ans = 1.12__
>> infsup(1.1111111,1.1111112)
intval ans = 1.1111
>> format long
>> infsup(1.11,1.12)
intval ans = 1.12____________
>> infsup(1.11111,1.11113)
intval ans = 1.11112_________
>> infsup(2,4)
intval ans = 1_.______________ interval
2008/11/18
page 27
i
i
i
i
i
i
i
i
3.3. INTLAB 27
In Example 6.4, the INTLABDisplay_ 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 ﬁnd 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ﬁle called Rump_example.m. With this ﬁle 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 INTLABusers 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ﬁles,
partially overlapping with ones we present. Rump describes the INTLAB system in [224], interval
2008/11/18
page 28
i
i
i
i
i
i
i
i
28 Chapter 3. First Applications of Interval Arithmetic
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 INTLABin [223]. The INTLABtoolbox features prominently in the solution
of 5 of the 10 problems posed in the SIAM 100digit challenge;
12
this is described in [27].
3.4 Other Systems and Considerations
Shin’ichi Oishi has developed SLAB, a standalone MATLABlike system speciﬁcally for
interval computations and the automatic result veriﬁcation it provides. It is available for
free (under the GNUlicense), and has builds for MSWindows, Linux, and Mac OS. Ashort
description appears in [104].
Tools are available for doing interval computations within traditional programming
languages. InFortran, there are theACMTransactions onMathematical Software algorithms
[101] and [96]. Various groups have also developed tools for use with C++. Prominent
among these is CXSC [80], developed by a group of researchers associated with Ulrich
Kulisch at the University of Karlsruhe and presently supported from members of that group
at the University of Wuppertal. Extensive libraries have been developed for automatically
veriﬁed versions of standard computations in numerical analysis using CXSC; an early
version of this toolbox is described in [56], while an update containing more advanced
algorithms is [117]. Alternate, widely used class libraries for interval arithmetic in C++ are
PROFIL/BIAS [111] and FILIB++ [132]. See Appendix D.
Under certain circumstances, it may be desirable to use higher precision (i.e., more
digits) in the interval representations than is available in, say, the IEEE 754 standard for
binary ﬂoating point arithmetic. Along these lines, Nathalie Revol et al. have developed
the multiple precision interval library MPFI [217].
A major thrust by Kulisch and his students at the University of Karlsruhe has been
to develop algorithms that provide narrow intervals to rigorously enclose the solutions to
point linear systems of equations, even if these linear systems happen to be illconditioned.
Central to this is the concept of accurate dot product. In particular, methods for solving
and for verifying bounds on the solutions of linear systems of equations involve repeated
computation of dot products. If outward roundings are done after each addition and mul
tiplication in the dot product, then the widths of the intervals can rapidly increase during
the computation, resulting in an enclosure for the dot product that is too wide to be useful.
This is especially true if there is much cancelation during the computation, something that
can happen for an illconditioned system, even if the components of the original vectors
are points. Kulisch has advocated a long accumulator, described in [126] among other
publications. The concept is that the sum in the dot product is stored in a register having so
many digits that, when the ﬁnal result is rounded to the usual number of digits, the result is
the closest number less than or the closest number greater than the mathematically correct
result. This long accumulator has been implemented in hardware in several machines and
is implemented in software in CXSC and the other XSC languages. However, the accurate
dot product is relatively slow when implemented in software, and its necessity has been
12
The SIAM 100digit challenge was a series of 10 numerical problems posed by Nick Trefethen in which the
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. interval
2008/11/18
page 29
i
i
i
i
i
i
i
i
3.4. Other Systems and Considerations 29
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 precision
13
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 veriﬁcation of solutions of linear
systems [186, 189, 226].
Accurate dot products in general will not help when there is interval uncertainty
in the coefﬁcients of the original linear system and the coefﬁcients 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 speciﬁed in the revision of the IEEE binary ﬂoating point standard. interval
2008/11/18
page 30
i
i
i
i
i
i
i
i interval
2008/11/18
page 31
i
i
i
i
i
i
i
i
Chapter 4
Further Properties of
Interval Arithmetic
In Chapter 2 we introduced the deﬁnitions 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 deﬁned only if 0 / ∈ Y.) These deﬁnitions lead to a
number of familiar looking algebraic properties. In addition, however, their settheoretic
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.
4.1 Algebraic Properties
Commutativity and Associativity
It is easy to show that both interval addition and multiplication are commutative and asso
ciative; we have
X +Y = Y +X, X +(Y +Z) = (X +Y) +Z,
XY = YX, X(YZ) = (XY)Z
for any three intervals X, Y, and Z.
Additive and Multiplicative Identity Elements
The degenerate intervals 0 and 1 are additive and multiplicative identity elements in the
system of intervals:
0 +X = X +0 = X,
1 · X = X · 1 = X,
0 · X = X · 0 = 0
for any X.
31 interval
2008/11/18
page 32
i
i
i
i
i
i
i
i
32 Chapter 4. Further Properties of Interval Arithmetic
Nonexistence of Inverse Elements
We caution that −X is not an additive inverse for X in the system of intervals. Indeed, we
have
X +(−X) =
X, X
+
−X, −X
=
X −X, X −X
,
and this equals [0, 0] only if X = X. If X does not have zero width, then
X −X = w(X)[−1, 1]. (4.2)
Similarly, X/X = 1 only if w(X) = 0. In general,
X/X =
X/X, X/X
if 0 < X,
X/X, X/X
if X < 0.
(4.3)
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.
Exercise 4.1. Show that X · [−1, 1] = max(X, X)[−1, 1].
Exercise 4.2. Show that if c > 0, then [c, c] ·
X, X
=
cX, cX
for any 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]:
X(Y +Z) = [1, 2] · ([1, 1] −[1, 1])
= [1, 2] · [0, 0]
= [0, 0],
whereas (4.2) gives
XY +XZ = [1, 2] · [1, 1] −[1, 2] · [1, 1]
= [min(1, 2) , max(1, 2)] −[min(1, 2) , max(1, 2)]
= [1, 2] −[1, 2]
= [−1, 1].
However, there is a subdistributive law:
X(Y +Z) ⊆ XY +XZ. (4.4) interval
2008/11/18
page 33
i
i
i
i
i
i
i
i
4.2. Symmetric Intervals 33
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
x(Y +Z) = xY +xZ. (4.5)
Interval multiplication can be distributed over a sum of intervals as long as those intervals
have the same sign:
X(Y +Z) = XY +XZ provided that YZ > 0. (4.6)
Example 4.1. We have
[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 identiﬁcation 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.
4.2 Symmetric Intervals
An interval X is said to be symmetric if
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),
X =
1
2
w(X) and X = X[−1, 1].
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:
X = m+W, where m = m(X) and W =
1
2
w(X)[−1, 1]. interval
2008/11/18
page 34
i
i
i
i
i
i
i
i
34 Chapter 4. Further Properties of Interval Arithmetic
The rules of interval arithmetic are slightly simpler when symmetric intervals are
involved. If X, Y, and Z are all symmetric, then
X +Y = X −Y = (X +Y)[−1, 1],
XY = XY[−1, 1],
X(Y ±Z) = XY +XZ = X(Y +Z)[−1, 1].
If Y is symmetric and X is any interval, then
XY = XY.
It follows that if Y and Z are symmetric, then
X(Y +Z) = XY +XZ
for any interval X. Compare this with the subdistributive property (4.4).
Numerical Exploitation of Interval Symmetry
Oliver Aberth’s RANGE software, detailed in [1] and referenced several times later in this
book, makes extensive use of the properties of symmetric intervals. See Appendix D.
In INTLAB, symmetric intervals can be exploited through the use of midpointradius
arithmetic. Although there is, in general, overestimation in multiplication if midpoint
radius arithmetic is used, the operations are exact when the intervals are symmetric, and
the resulting operations can be very fast. (See [223] for formulas for midpoint radius arith
metic, an analysis of its overestimation, and an analysis of speed that can be gained by
using it.) Midpointradius arithmetic is used internally in certain places in INTLAB for ma
trix multiplication.
14
In INTLAB, midpointradius arithmetic can be selected to be used in
those places by issuing the command intvalinit(’FastIVmult’), while endpoint arith
metic
15
canbe selectedbyissuingthe INTLABcommand intvalinit(’SharpIVmult’).
The type of multiplication in effect in those selected internal routines can be queried by issu
ing the MATLABcommand intvalinit(’IVmult’), which returns either FastIVmult
or SharpIVmult.
4.3 Inclusion Isotonicity of Interval Arithmetic
Let stand for interval addition, subtraction, multiplication, or division. If A, B, C, and
D are intervals such that
A ⊆ C and B ⊆ D,
then
A B ⊆ C D.
These relations follow directly from the deﬁnitions given in Chapter 2. However, these
relations are not purely algebraic; they serve to connect the algebraic and set properties of
14
See our Chapter 7 for more about linear algebra with intervals.
15
Executed with our formulas (2.21), (2.22), (2.23) or Table 2.1, and (2.24) on p. 13. interval
2008/11/18
page 35
i
i
i
i
i
i
i
i
4.3. Inclusion Isotonicity of Interval Arithmetic 35
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 e
x
. interval
2008/11/18
page 36
i
i
i
i
i
i
i
i interval
2008/11/18
page 37
i
i
i
i
i
i
i
i
Chapter 5
Introduction to Interval
Functions
In Example 3.1, we used the simple formula
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 deﬁne an intervalvalued function A of two interval variables L and W.
This chapter treats the basics of intervalvalued 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 intervalvalued mapping to progress
beyond interval arithmetic and into the realm of interval analysis. The reader can ﬁnd a
brief review of function terminology in Appendix A.
5.1 Set Images and United Extension
Let f be a realvalued function of a single real variable x. Ultimately, we would like to
know the precise range of values taken by f (x) as x varies through a given interval X. In
other words, we would like to be able to ﬁnd the image of the set X under the mapping f :
f (X) = {f (x): x ∈ X}. (5.1)
More generally, given a function f = f (x
1
, . . . , x
n
) of several variables, we will wish to
ﬁnd the image set
f (X
1
, . . . , X
n
) = {f (x
1
, . . . , x
n
): x
1
∈ X
1
, . . . , x
n
∈ X
n
}, (5.2)
where X
1
, . . . , X
n
are speciﬁed 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 deﬁnition mainly for completeness and for the convenient terminology
that it provides.
37
interv
2008/11/
page 38
i
i
i
i
i
i
i
i
38 Chapter 5. Introduction to Interval Functions
Deﬁnition 5.1. Let g: M
1
→ M
2
be a mapping between sets M
1
and M
2
, and denote by
S(M
1
) and S(M
2
) the families of subsets of M
1
and M
2
, respectively. The united extension
of g is the setvalued mapping ¯ g: S(M
1
) → S(M
2
) such that
¯ g(X) = {g(x): x ∈ X, X ∈ S(M
1
)}. (5.3)
The mapping ¯ g is sometimes of interest as a singlevalued mapping on S(M
1
) with
values in S(M
2
). For our purposes, however, it is merely necessary to note that
16
¯ g(X) =
x∈X
{g(x)},
i.e., that ¯ g(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).
5.2 Elementary Functions of Interval Arguments
For some functions, (5.1) is rather easy to compute. For example, consider
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
f (X) =
X
2
, X
2
, 0 ≤ X ≤ X,
X
2
, X
2
, X ≤ X ≤ 0,
0, max
X
2
, X
2
, X < 0 < X.
(5.5)
We will use (5.4) as the deﬁnition of X
2
. This is not the same as X · X. For instance,
[−1, 1]
2
= [0, 1], whereas [−1, 1] · [−1, 1] = [−1, 1].
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 ﬁrst factor, whereas, in the deﬁnition of the interval product X· X, it is assumed
that the values in the ﬁrst 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 ﬂoating 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 ¯ g is an extension of g in the sense that we can identify
singleton sets {x} ∈ S(M
1
) with their corresponding elements x ∈ M
1
. interval
2008/11/18
page 39
i
i
i
i
i
i
i
i
5.2. Elementary Functions of Interval Arguments 39
Figure 5.1. The image of an interval X under an increasing function f (x).
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
?
Use of Monotonic Functions
Let us apply some other familiar functions to interval arguments. The reasoning is particu
larly straightforward with functions f (x) that happen to be monotonic, i.e., either increasing
or decreasing with increasing x. An increasing function is depicted in Figure 5.1. Note that
it maps an interval X =
X, X
into the interval
f (X) =
f (X), f (X)
.
Let us take an example. As x varies through an interval X = [X, X], the exponential
function
f (x) = exp(x) = e
x
(x ∈ R)
takes values from exp(X) to exp(X). That is, we can deﬁne
exp(X) =
exp(X) , exp(X)
. (5.6) interval
2008/11/18
page 40
i
i
i
i
i
i
i
i
40 Chapter 5. Introduction to Interval Functions
The situation is similar for the logarithmic function
f (x) = log x (x > 0);
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 log
2
(1 + S/N) (bits/s), where B is the channel bandwidth, and
S/N is the signaltonoise ratio. The formula (S/N)
dB
= 10 log
10
(S/N) deﬁnes the signal
tonoise 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
lineofsight radio horizon is given by d =
√
2h. Hence, if a transmitting antenna sits atop
a tower of height h
1
ft, and a receiving antenna sits atop a building at height h
2
ft, their
maximum allowed separation for lineofsight communication is s =
√
2h
1
+
√
2h
2
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
X
y
=
X
y
, X
y
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 f
A
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 ﬁnd 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. interval
2008/11/18
page 41
i
i
i
i
i
i
i
i
5.2. Elementary Functions of Interval Arguments 41
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. Aprism has angle α. The index of refraction n of the glass can be determined
experimentally by measuring the minimum deviation angle δ and using the formula
n =
sin
1
2
(δ +α)
sin
1
2
α
.
If measurements indicate that α = 60
◦
±0.5
◦
and δ = 45
◦
±0.5
◦
, ﬁnd 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ﬁle. 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ﬁle
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 difﬁculties 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 andonce 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 machinerepresentable 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ﬁle
<intlabdir>/intval/@intval/sqr.m
17
In fact, consistent with the standard functions in MATLAB, INTLAB implements complex extensions of the
standard functions. An explanation is given in [29]. interval
2008/11/18
page 42
i
i
i
i
i
i
i
i
42 Chapter 5. Introduction to Interval Functions
Print out this ﬁle 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) deﬁne intervalvalued 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.
5.3 IntervalValued Extensions of Real Functions
In the last section, we were able to deﬁne a few intervalvalued functions. We did this by
selecting a realvalued function f and computing the range of values f (x) taken as x varied
through some interval X. By deﬁnition, the result was equal to the set image f (X).
Here we will consider a different process: that of extending a given realvalued
function f by applying its formula directly to interval arguments.
Formulas and Interval Extensions
Let us begin with an example. Consider the realvalued function f given by
f (x) = 1 −x, x ∈ R. (5.12)
Note carefully that a function is deﬁned by two things: (1) a domain over which it acts, and
(2) a rule that speciﬁes how elements of that domain are mapped under the function. Both
of these are speciﬁed in (5.12): the elements of Domf are real numbers x, and the mapping
rule is x → 1 −x. Taken in isolation, the entity
f (x) = 1 −x (5.13)
is a formula—not a function. Often this distinction is ignored; in many elementary math
books, for example, we would interpret (5.13) as a function whose domain should be taken
as the largest possible set over which the formula makes sense (in this case, all of R).
However, we will understand that Domf is just as essential to the deﬁnition of f as is the
formula f (x).
Now suppose we take the formula (5.13) that describes function (5.12) and apply it
to interval arguments. The resulting intervalvalued function
F(X) = 1 −X, X =
X, X
, (5.14)
is an extension of the function (5.12): we have enlarged the domain to include nondegenerate
intervals X as well as the degenerate intervals x = [x, x].
Deﬁnition 5.2. We say that F is an interval extension of f , if for degenerate interval
arguments, F agrees with f :
F([x, x]) = f (x). (5.15)
Let us compare F(X) with the set image f (X). We have, according to the laws of
interval arithmetic,
F(X) = [1, 1] −
X, X
= [1, 1] +
−X, −X
=
1 −X, 1 −X
. interval
2008/11/18
page 43
i
i
i
i
i
i
i
i
5.3. IntervalValued Extensions of Real Functions 43
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 deﬁnition 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.
Unfortunately, as we are about to see, the situation is not so simple in general.
A More Interesting Example
Consider next the realvalued function
f (x) = x(1 −x), x ∈ [0, 1]. (5.16)
For reasons that will become apparent, we use this to write two realvalued functions:
f (x) = x(1 −x), x ∈ [0, 1], (5.17)
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 from0 to 1, the values f (x) and g(x) both increase from0 to
1
4
then decrease
back to 0. Therefore,
f ([0, 1]) = g([0, 1]) =
0,
1
4
. (5.19)
Let us form intervalvalued extensions of f and g:
F(X) = X · (1 −X), X =
X, X
, (5.20)
and
G(X) = X −X
2
, X =
X, X
. (5.21)
Remembering that X
2
= 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], interval
2008/11/18
page 44
i
i
i
i
i
i
i
i
44 Chapter 5. Introduction to Interval Functions
where
S = { X(1 −X), X(1 −X), X(1 −X), X(1 −X)},
while
G(X) =
X, X
−
X, X
2
=
X, X
−
X
2
, X
2
=
X, X
+
−X
2
, −X
2
=
X −X
2
, X −X
2
.
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,
1
4
. 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:
h(x) =
1
4
−
x −
1
2
2
.
We get
H(X) =
1
4
−
X −
1
2
2
=
1
4
,
1
4
−
X, X
−
1
2
,
1
2
2
=
1
4
,
1
4
−
X −
1
2
, X −
1
2
2
=
1
4
,
1
4
−
(X −
1
2
)
2
, (X −
1
2
)
2
, X ≥
1
2
,
(X −
1
2
)
2
, (X −
1
2
)
2
, X ≤
1
2
,
0, max{(X −
1
2
)
2
, (X −
1
2
)
2
}
, X <
1
2
< X,
so that
H(X) =
1
4
−(X −
1
2
)
2
,
1
4
−(X −
1
2
)
2
, X ≥
1
2
,
1
4
−(X −
1
2
)
2
,
1
4
−(X −
1
2
)
2
, X ≤
1
2
,
1
4
−max{(X −
1
2
)
2
, (X −
1
2
)
2
},
1
4
, X <
1
2
< X.
It is easily veriﬁed that this is f (X). We have H([0, 1]) =
0,
1
4
.
Exercise 5.7. Let A
1
= [0, 1], A
2
= [1, 2], andA
3
= [−2, 1]. Evaluate the twoexpressions
(A
1
−A
2
) · (A
3
/A
2
) and (A
1
/A
2
−1) · A
3
and compare the results. Note that these expressions would be equivalent in ordinary
arithmetic. interval
2008/11/18
page 45
i
i
i
i
i
i
i
i
5.4. The Fundamental Theorem and Its Applications 45
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
deﬁne
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 deﬁne the same realvalued function. However, if one evaluates f , g, and
h using ﬂoating point arithmetic at points near x = 1 and plots the results, one obtains very
different graphs. Arelated phenomenon occurs with interval values.
1. Use ﬂoating 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 ﬂoating 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?
5.4 The Fundamental Theorem and Its Applications
Subset Property of United Extension
Looking back at (5.3), we see that the united extension ¯ g has the following subset property:
X, Y ∈ S(M
1
) with X ⊆ Y =⇒ ¯ g(X) ⊆ ¯ g(Y). (5.22)
We will return to this observation momentarily.
Interval Extensions of Multivariable Functions
So far, we have limited ourselves to functions of a single interval variable X. In principle,
there is no reason we should avoid more general functions,
f = f (X
1
, . . . , X
n
),
depending on n interval variables X
1
, . . . , X
n
.
Deﬁnition 5.3. By an interval extension of f , we mean an intervalvalued function F of n
interval variables X
1
, . . . , X
n
such that for real arguments x
1
, . . . , x
n
we have
F(x
1
, . . . , x
n
) = f (x
1
, . . . , x
n
). (5.23)
That is, if the arguments of F are degenerate intervals, then the lefthand side of (5.23) is
a degenerate interval equal to the righthand side. interval
2008/11/18
page 46
i
i
i
i
i
i
i
i
46 Chapter 5. Introduction to Interval Functions
As simple yet crucial examples of twovariable functions, we have the operations
of interval arithmetic. Let us take interval addition as an example. Although we do not
normally do so, we could denote this binary operation as a function of two variables:
f (X
1
, X
2
) = X
1
+X
2
= {x
1
+x
2
: x
1
∈ X
1
, x
2
∈ X
2
}.
The notation is consistent with our previous usage: indeed, it follows from the set deﬁnition
on the right that interval addition is the united extension of the function
f (x
1
, x
2
) = x
1
+x
2
that describes ordinary numerical addition. The operations of interval arithmetic are all
deﬁned 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
Deﬁnition 5.4. We say that F = F(X
1
, . . . , X
n
) is inclusion isotonic if
Y
i
⊆ X
i
for i = 1, . . . , n =⇒ F(Y
1
, . . . , Y
n
) ⊆ F(X
1
, . . . , X
n
).
Observe carefully that united extensions, which all have the subset property, are
inclusion isotonic. In particular, then, the operations of interval arithmetic must satisfy
Y
1
⊆ X
1
, Y
2
⊆ X
2
=⇒ Y
1
Y
2
⊆ X
1
X
2
. (5.24)
We made this observation in section 4.3. Here, we will go a step further.
Rational Interval Functions
Deﬁnition 5.5. Arational interval function is an intervalvalued function whose values are
deﬁned by a speciﬁc ﬁnite sequence of interval arithmetic operations.
Example 5.1. Consider the function given by
F(X
1
, X
2
) = ([1, 2]X
1
+[0, 1]) X
2
.
The computation of F(X
1
, X
2
) can be broken down into the ﬁnite sequence of interval
arithmetic operations described by
T
1
= [1, 2]X
1
(one interval multiplication),
T
2
= T
1
+[0, 1] (one interval addition),
F(X
1
, X
2
) = T
2
X
2
(one interval multiplication).
Hence F is a rational interval function.
By nature, a rational interval function must arise as an extension of some realvalued
function. In the example above, F(X
1
, X
2
) extends a real function of the form
f (x
1
, x
2
) = (c
1
x
1
+c
2
)x
2
, interval
2008/11/18
page 47
i
i
i
i
i
i
i
i
5.4. The Fundamental Theorem and Its Applications 47
where c
1
and c
2
are constants. The function
F(X) = m(X) +
1
2
(X −m(X))
is not a rational interval function (even though its computation entails only a ﬁnite number
of operations) because m(X) = (X +X)/2 is not an interval arithmetic operation.
Lemma 5.1. All rational interval functions are inclusion isotonic.
Proof. The lemma follows by ﬁnite induction from (5.24) and the transitivity of the relation
⊆.
The Fundamental Theorem
We are now ready to state a central theorem.
Theorem 5.1 (Fundamental Theorem of Interval Analysis [148]). If F is an inclusion
isotonic interval extension of f , then
f (X
1
, . . . , X
n
) ⊆ F(X
1
, . . . , X
n
).
Proof. By deﬁnition of an interval extension, f (x
1
, . . . , x
n
) = F(x
1
, . . . , x
n
). If F is
inclusion isotonic, then the value of f is contained in the interval F(X
1
, . . . , X
n
) for every
(x
1
, . . . , x
n
) in (X
1
, . . . , X
n
).
Natural Interval Extensions
In section 5.3, we obtained extensions F of real rational functions f by replacing (1) the
real variable x with an interval variable X and (2) the real arithmetic operations with corre
sponding interval operations. The result F is called a natural interval extension of f . The
same procedure can be performed with functions of n variables, and our general observation
from section 5.3 bears repeating:
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.
Corollary 5.1. If F is a rational interval function and an interval extension of f , then
f (X
1
, . . . , X
n
) ⊆ F(X
1
, . . . , X
n
).
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 ﬁnite evaluation of upper and lower bounds on
the ranges of values of real rational functions. interval
2008/11/18
page 48
i
i
i
i
i
i
i
i
48 Chapter 5. Introduction to Interval Functions
Example 5.2. Consider the polynomial
p(x) = 1 −5x +
1
3
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 +
1
3
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] +
1
3
[8, 27] =
−
34
3
, 0
.
Adifferent extension can be obtained by ﬁrst rewriting p(x) as
q(x) = 1 −x(5 −x
2
/3).
Anatural interval extension of this is
Q(X) = 1 −X(5 −X · X/3), (5.27)
and a straightforward calculation yields
Q([2, 3]) = [−10, −3].
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) ∈
−
10
3
√
5 +1 , −5
= [−6.453559 . . . , −5] for x ∈ [2, 3]. (5.28)
Exercise 5.10. Verify (5.28).
However, an important point is that we can ﬁnd intervals containing the exact range
of values without calculus — just by a single evaluation of an interval expression.
We cannot ﬁnd (5.28) exactly by any ﬁnite sequence of arithmetic operations with
rational numbers, since
√
5 is irrational. In Chapter 6, we will discuss interval methods for
computing convergent sequences of upper and lower bounds to exact ranges of values.
At this time, we point out that for polynomials, the nested form
A
0
+X(A
1
+X(A
2
+· · · +X(A
n
) · · · )
usually gives better (and never gives worse) results than the sumofpowers form
A
0
+A
1
X +A
2
X · X +· · · +A
n
X · X · · · · · X.
This statement holds by (4.4).
It turns out that any natural interval extension of a rational function in which each
variable occurs only once (if at all) and to the ﬁrst power only will compute the exact range
of values provided that no division by an interval containing zero occurs. Equation (5.14)
was a simple example of such an extension. Aproof will be provided in Chapter 6. interval
2008/11/18
page 49
i
i
i
i
i
i
i
i
5.5. Remarks on Numerical Computation 49
Exercise 5.11. Show by a counterexample that the interval function
F(X) = m(X) +
1
2
(X − m(X))
is not inclusion isotonic.
Exercise 5.12. The resistance of a parallel combination of two electrical resistors is given
by the formula R
−1
= R
−1
1
+ R
−1
2
. If R
1
and R
2
have nominal values of 47 and 10 ,
respectively, and manufacturing tolerances of 10%, ﬁnd an interval enclosure for R. Repeat
using the formula R = (R
1
R
2
)/(R
1
+ R
2
), which is equivalent in real arithmetic.
Exercise 5.13. Find f ([0, 3]) if f (x) =
1
3
x
3
− 2x. Compare with enclosures found by
evaluating some interval extensions of f .
A Further Property of Natural Extensions
Suppose that F(X) is a natural interval extension of a real rational function f (x), and
suppose we can evaluate F(X
0
) for some interval X
0
without encountering a division by
an interval containing zero. Then the range of values of f (x) for x in X
0
is bounded by
F(X
0
) ≤ f (x) ≤ F(X
0
).
Hence, f (x) cannot have any poles in X
0
. 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 ⊆ X
0
. In
other words, if F(X
0
) is deﬁned, then F(X) also is for every X ⊆ X
0
.
5.5 Remarks on Numerical Computation
As we close this chapter, let us remember that interval methods are for use with computers.
In particular, IAis an integral part of these methods. Aprincipal goal of interval computation
is to use computers to produce pairs of numbers, between which there are exact solutions
of various kinds of computational problems.
In section 5.2 we deﬁned X
2
, where X is an interval. Higher integral powers X
n
are
deﬁned by
X
n
=
X
n
, X
n
if X > 0 or n is odd,
X
n
, X
n
if X < 0 and n is even,
[0, X
n
] if 0 ∈ X and n is even.
(5.29)
This way we have
X
n
= {x
n
: x ∈ X}
for each n. To take the limited precision of machine arithmetic into account, we can treat X,
X, and X as degenerate intervals and compute X
n
, X
n
, and X in IA, using the appropriate
endpoint obtained in this way in (5.29). Thus we can compute, in each case, a machine
interval containing the exact result. interval
2008/11/18
page 50
i
i
i
i
i
i
i
i
50 Chapter 5. Introduction to Interval Functions
Exercise 5.14. Study the INTLAB ﬁle
<intlabdir>/intval/@intval/power.m
Explain where (5.29) is implemented. What other necessary complication exists in this
function?
In section 5.2 we used monotonicity to calculate the images of intervals X under
certain common functions. We saw examples of the fact that if f is increasing, then
f (X) =
f (X), f (X)
,
while if f is decreasing, then
f (X) =
f (X), f (X)
.
These united extension values are, of course, inaccessible in practice because the required
endpoints cannot be computed exactly. However, we can extend the machinecomputed
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 reﬁnements of
interval extensions, such that we enclose the corresponding united extensions arbitrarily
closely. interval
2008/11/18
page 51
i
i
i
i
i
i
i
i
Chapter 6
Sequences of Intervals and
Interval Functions
6.1 A Metric for the Set of Intervals
Review of Convergence and Continuity
In real analysis, we call a sequence {x
k
} convergent if there exists a real number x
∗
such
that for every ε > 0 there is a natural number N = N(ε) such that
x
k
−x
∗
 < ε (6.1)
whenever k > N. In this case, we write
x
∗
= lim
k→∞
x
k
or x
k
→ x
∗
and refer to x
∗
as the limit of {x
k
}. The quantity x
k
−x
∗
 in (6.1) is just the distance between
x
k
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, realvalued 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 deﬁnition of ordinary function continuity. We say that f (x) is
continuous at a point x
0
if for every ε > 0 there is a positive number δ = δ(ε) such that
f (x) −f (x
0
) < ε (6.2)
whenever x − x
0
 < δ. In this case, f (x) − f (x
0
) is the distance between the yaxis
points f (x) and f (x
0
), corresponding to the distance x −x
0
 along the xaxis.
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 realvalued function d is deﬁned such that for any two
elements x, y ∈ S the following statements hold:
51 interval
2008/11/18
page 52
i
i
i
i
i
i
i
i
52 Chapter 6. Interval Sequences
1. d(x, y) = 0 if and only if x = y;
2. d(x, y) = d(y, x);
3. d(x, y) ≤ d(x, z) +d(z, y) for any z ∈ S.
These can be regarded as the essential characteristics of distance between the objects x and
y, and they certainly hold in the real number system when x, y ∈ R and d(x, y) = x −y.
The function d is called a metric on S, and S is known as a metric space.
It is not our purpose to develop the theory of metric spaces. However, we must
discuss continuity and convergence in the context of interval analysis, and for this we
require a suitable metric. We will use
d(X, Y) = max{X −Y , X −Y} (6.3)
as a measure of distance between two intervals X = [X, X] and Y = [Y, Y].
Example 6.1. The distance between the intervals X = [1, 2] and X = [3, 5] is d(X, Y) =
max{1 −3 , 2 −5} = max{2, 3} = 3.
Convergence and Continuity in Interval Mathematics
Let {X
k
} be a sequence of intervals. We say that {X
k
} is convergent if there exists an interval
X
∗
such that for every ε > 0, there is a natural number N = N(ε) such that d(X
k
, X
∗
) < ε
whenever k > N. Here d is given by (6.3). As in the case of real sequences, we write
X
∗
= lim
k→∞
X
k
or X
k
→ X
∗
and refer to X
∗
as the limit of {X
k
}.
Exercise 6.1. Show that X
k
→ X if and only if X
k
→ X and X
k
→ X in the sense of real
sequences. Also show that the limit of a convergent sequence of intervals is unique.
Exercise 6.2. (a) Let F be an intervalvalued function of the interval variable X. What does
it mean for F to be continuous at some X
0
? (b) Propose a deﬁnition of uniform continuity
for an interval function.
It is not hard to show that the interval arithmetic operations and rational interval
functions are continuous if no division by an interval containing zero occurs.
Exercise 6.3. Show that interval addition is continuous.
Isometric Embedding
We knowthat the interval number systemrepresents 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. interval
2008/11/18
page 53
i
i
i
i
i
i
i
i
6.2. Reﬁnement 53
Exercise 6.4. Showthat (6.3) has the followingadditional properties: (a) d(X+Z, Y+Z) =
d(X, Y); (b) d(X, Y) ≤ w(Y) when X ⊆ Y; (c) d(X, 0) = X.
Exercise 6.5. In INTLAB, (6.3) is implemented with the function qdist(X,Y):
>> 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 speciﬁc function listed
there can be obtained in the command window with the “help” command. For example,
issuing help diamgives a summary of howto use the INTLABdiamfunction.
18
) Illustrate
Exercise 6.4 by using the INTLAB functions qdist and diam.
6.2 Reﬁnement
According to the fundamental theorem of interval analysis, we have
f (X
1
, . . . , X
n
) ⊆ F(X
1
, . . . , X
n
) (6.4)
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 X
1
, . . . , X
n
. 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 righthand
side substantially exceeded that of the lefthand side.
Lipschitz Interval Extensions
We now examine a process by which f (X
1
, . . . , X
n
) may be approximated as closely as
desired by a ﬁnite union of intervals. We begin with a concept closely related to continuity.
Deﬁnition 6.1. An interval extension F is said to be Lipschitz in X
0
if there is a constant L
such that w(F(X)) ≤ Lw(X) for every X ⊆ X
0
.
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 = (X
1
, . . . , X
n
).
Lemma 6.1. If F is a natural interval extension of a real rational function with F(X)
deﬁned for X ⊆ X
0
, where X and X
0
are intervals or ndimensional interval vectors, then
F is Lipschitz in X
0
.
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. interval
2008/11/18
page 54
i
i
i
i
i
i
i
i
54 Chapter 6. Interval Sequences
Proof. For any real numbers a and b and any intervals X
i
and Y
i
, we have the following
relations (which are not hard to prove):
w(aX
i
+bY
i
) = aw(X
i
) +bw(Y
i
),
w(X
i
Y
i
) ≤ X
i
w(Y
i
) +Y
i
w(X
i
),
w(1/Y
i
) ≤ 1/Y
i

2
w(Y
i
) if 0 / ∈ Y
i
. (6.5)
Since the natural interval extension has interval values F(X) obtained by a ﬁxed ﬁnite
sequence of interval arithmetic operations on real constants (from a given ﬁnite set of
coefﬁcients) and on the components of X (if X is an interval vector) and since X ⊆ X
0
implies that X
i
 ≤ X
0
for every component of X, it follows that a ﬁnite number of
applications of (6.5) will produce a constant L such that w(F(X)) ≤ Lw(X) for all X ⊆
X
0
.
By the following result, certain interval extensions of irrational functions are also
Lipschitz.
Lemma 6.2. If a realvalued function f (x) satisﬁes an ordinary Lipschitz condition in X
0
,
f (x) −f (y) ≤ Lx −y for x, y ∈ X
0
,
then the united extension of f is a Lipschitz interval extension in X
0
.
Proof. The function f is necessarily continuous. The interval (or interval vector) X
0
is
compact. Thus, w(f (X)) = f (x
1
) −f (x
2
) for some x
1
, x
2
∈ X ⊆ X
0
. But x
1
−x
2
 ≤
w(X); therefore, w(f (X)) ≤ Lw(X) for X ⊆ X
0
.
It follows that interval extensions which are united extensions, such as the following,
are also Lipschitz in X
0
:
1. X
n
given by (5.29);
2. e
X
= [e
X
, e
X
];
3. X
1/2
= [X
1/2
, X
1/2
] for 0 < X
0
;
4. ln X =
ln X, ln X
for 0 < X
0
;
5. sin X =
sin X, sin X
for X
0
⊆
−
π
2
,
π
2
;
6. sin X = [min
x∈X
(sin x) , max
x∈X
(sin x)] for arbitrary X
0
.
Lemma 6.3. Let F and G be inclusion isotonic interval extensions with F Lipschitz in Y
0
,
G Lipschitz in X
0
, and G(X
0
) ⊆ Y
0
. Then the composition H(X) = F(G(X)) is Lipschitz
in X
0
and is inclusion isotonic.
Proof. The inequality
w(H(X)) = w(F(G(X)) ≤ L
2
w(G(X)) ≤ L
2
L
1
w(X)
shows that H is Lipschitz in X
0
. interval
2008/11/18
page 55
i
i
i
i
i
i
i
i
6.2. Reﬁnement 55
Example 6.2. If G(X) is rational in X and G(X
0
) is deﬁned, then sin G(X) is Lipschitz
and inclusion isotonic for X ⊆ X
0
. Ordinary monotonicity is not required for inclusion
isotonicity.
Thus, an inclusion isotonic interval extension whose values F(X) are deﬁned by a
ﬁxed ﬁnite sequence of rational (interval arithmetic) operations or compositions of Lipschitz
extensions is a Lipschitz extension in some suitably chosen region.
Subdivisions and Reﬁnements
We are now in a position to accomplish the goal of this section.
Deﬁnition 6.2. By a uniform subdivision of an interval vector X = (X
1
, . . . , X
n
), we mean
the following. Let N be a positive integer and deﬁne
X
i,j
=
X
i
+(j −1) w(X
i
)/N , X
i
+j w(X
i
)/N
, j = 1, . . . , N.
We have X
i
= ∪
N
j=1
X
i,j
and w(X
i,j
) = w(X
i
)/N. Furthermore,
X = ∪
N
j
i
=1
(X
1,j
1
, . . . , X
n,j
n
), (6.6)
with w(X
1,j
1
, . . . , X
n,j
n
) = w(X)/N.
Deﬁnition6.3. Let F(X) be an inclusion isotonic, Lipschitz, interval extension for X ⊆ X
0
.
The interval quantity
F
(N)
(X) =
N
j
i
=1
F(X
1,j
1
, . . . , X
n,j
n
) (6.7)
is called a reﬁnement of F over X.
A reﬁnement 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) deﬁned for X ⊆ X
0
, then f (X) ⊆ F(X) for X ⊆ X
0
. We
have F(X) = f (X) + E(X) for some intervalvalued function E(X) with w(F(X)) =
w(f (X)) +w(E(X)).
Deﬁnition 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 reﬁnements of an extension F(X).
Theorem 6.1. If F(X) is an inclusion isotonic, Lipschitz, interval extension for X ⊆ X
0
,
then the excess width of a reﬁnement F
(N)
(X) is of order 1/N. We have
F
(N)
(X) = f (X
1
, . . . , X
n
) +E
N
, (6.9)
where w(E
N
) ≤ Kw(X)/N for some constant K.
interv
2008/11/
page 56
i
i
i
i
i
i
i
i
56 Chapter 6. Interval Sequences
Proof. Relation (6.9) follows from the fact that f (X) = ∪
s
f (X
s
), where the X
s
are the
elements of the uniform subdivision. We have F(X
s
) = f (X
s
) +E
s
for some E
s
and
w(E
s
) = w(F(X
s
)) −w(f (X
s
)) ≤ w(F(X
s
)) ≤ Lw(X
s
) ≤ Lw(X)/N
for each X
s
. The inequality for w(E
N
) 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 realvalued 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 veriﬁed that
f ([0, 1]) =
0,
1
4
. The interval extension
F(X) = X −X · X
has F([0, 1]) = [−1, 1]. Hence, its excess width is 2 −
1
4
=
7
4
. Let us split [0, 1] into n
subintervals X
i
= [(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
ﬁnd 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 strongly suggest convergence, and every F
(n)
(X) contains the exact range of values
0,
1
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 ﬁle named example6p3.m. This happens
automatically if MATLAB’s editor is used and the default “save ﬁle” is done the ﬁrst time
the ﬁle 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) interval
2008/11/18
page 57
i
i
i
i
i
i
i
i
6.3. Finite Convergence and Stopping Criteria 57
% computes a uniform refinement of the interval X with N
% subintervals, to compute an interval enclosure for
% the range of the interval function f (passed as a
% character string). See Section 6.2 of "Introduction
% to Interval Analysis" by Moore, Kearfott, and Cloud.
% First form the N subintervals 
h = (sup(X)inf(X))/N;
xi=inf(X);
x1=xi;
for i=1:N
% This is more accurate for large N than
% xip1 = xi + h
xip1 = x1 + i*h;
Xs(i) =infsup(xi,xip1);
% Do it this way so there are no "cracks" due
% to roundoff error 
xi=xip1;
end
% Redefine the upper bound to eliminate roundoff
% error problems 
Xs(N) = infsup(inf(Xs(N)),sup(X));
% Now compute the extension by computing the natural
% extensions over the subintervals and taking the union 
Y = feval(f,Xs(1));
if N>1
for i=2:N
Y = hull(Y,feval(f,Xs(i)));
end
end
For example, we might create the following dialogue in the MATLAB command window:
>> X = infsup(0,1);
>> Y = refinement(X,’example6p3’,10)
intval Y = [ 0.1000 , 0.3501 ]
Use this to check the table in Example 6.3.
6.3 Finite Convergence and Stopping Criteria
Nested Interval Sequences
Deﬁnition 6.5. An interval sequence {X
k
} is nested if X
k+1
⊆ X
k
for all k.
Lemma 6.4. Every nested sequence {X
k
} converges and has the limit ∩
∞
k=1
X
k
.
Proof. {X
k
} is a nondecreasing sequence of real numbers, bounded above by X
1
, and so
has a limit X. Similarly, {X
k
} is nonincreasing and bounded below by X
1
and so has a
limit X. Furthermore, since X
k
≤ X
k
for all k, we have X ≤ X. Thus {X
k
} converges to
X =
X, X
= ∩
∞
k=1
X
k
.
interv
2008/11/
page 58
i
i
i
i
i
i
i
i
58 Chapter 6. Interval Sequences
Lemma 6.5. Suppose {X
k
} is such that there is a real number x ∈ X
k
for all k. Deﬁne {Y
k
}
by Y
1
= X
1
and Y
k+1
= X
k+1
∩ Y
k
for k = 1, 2, . . .. Then Y
k
is nested with limit Y, and
x ∈ Y ⊆ Y
k
for all k. (6.10)
Proof. By induction, the intersection deﬁning Y
k+1
is nonempty so {Y
k
} is well deﬁned. It
is nested by construction. Relation (6.10) follows from Lemma 6.4.
Finite Convergence
Deﬁnition 6.6. By the ﬁnite convergence of a sequence {X
k
}, we mean there is a positive
integer K such that X
k
= X
K
for k ≥ K. Such a sequence converges in K steps.
Example 6.4. It is not hard to see that
X
0
= [1, 2], X
k+1
= 1 + X
k
/3 (k = 0, 1, 2, . . .),
generates a nested sequence {X
k
}. The rational interval function F(X) = 1 + X/3 is
inclusion isotonic. Therefore, X
1
= F(X
0
) = 1 + [1, 2]/3 =
4
3
,
5
3
⊆ X
0
= [1, 2]. It
follows that X
k+1
= F(X
k
) ⊆ X
k
for all k by ﬁnite induction. By Lemma 6.4, the sequence
has a limit X. If we compute {X
k
} using IA, we will obtain a sequence {X
∗
k
} with X
k
⊆ X
∗
k
for all k. More precisely, let X
∗
k
be deﬁned by X
∗
0
= X
0
= [1, 2], and
X
∗
k+1
= {1 + X
∗
k
/3: computed in IA} ∩ X
∗
k
for k = 0, 1, 2, . . . (which we can apply, since X ⊆ X
k
for all k). It follows fromLemma 6.5
that X
∗
k
is nested and that the limit of {X
k
} is contained in the limit X
∗
of {X
∗
k
}. The sequence
{X
∗
k
} will converge in a ﬁnite number of steps. For instance, with threedigit IAwe ﬁnd
X
∗
0
= [1, 2],
X
∗
1
= [1.33, 1.67],
X
∗
2
= [1.44, 1.56],
X
∗
3
= [1.48, 1.52],
X
∗
4
= [1.49, 1.51],
X
∗
5
= [1.49, 1.51],
and X
∗
k
= X
∗
for all k ≥ 4. We have ﬁnite convergence in four steps. The real sequence
x
k+1
= 1 + x
k
/3 converges to 1.50 (after inﬁnitely many steps) from any x
0
.
We can also illustrate the ﬁnite 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_’); interval
2008/11/18
page 59
i
i
i
i
i
i
i
i
6.3. Finite Convergence and Stopping Criteria 59
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 ﬁnite number of steps (34 steps) when using
standard binary arithmetic.
Next we examine a sequence of reﬁnements computed in IA and intersected to yield
a nested sequence that converges in a ﬁnite number of steps.
Example 6.5. Consider the interval polynomial F(X) = X(1 − X) and its reﬁnements
F
(N)
(X). Let X = [0, 1] and take the sequence
Y
1
= F
(1)
([0, 1]) = F([0, 1]), Y
k+1
= F
(k+1)
([0, 1]) ∩ Y
k
(k = 1, 2, . . .).
The intersections are nonempty because each reﬁnement contains the range of values of
f (x) = x(1 − x) for x ∈ [0, 1], namely [0,
1
4
]. By construction, {Y
k
} is nested. By
Theorem 6.1 and Lemma 6.5,
f (X) =
∞
k=1
F
(k)
(X) = lim
k→∞
Y
k
. (6.11) interval
2008/11/18
page 60
i
i
i
i
i
i
i
i
60 Chapter 6. Interval Sequences
We have
F
(k)
([0, 1]) =
0,
1
4
+1/(2k) +1/(4k
2
)
, k odd,
0,
1
4
+1/(2k)
, k even.
We can compute a subsequence of {Y
k
}, for example, for k of the form k = 2
t
, t = 1, 2, . . ..
If we compute the nested sequence of intervals Y
∗
1
= [0, 1], and for t = 1, 2, . . .,
Y
∗
t +1
= F
∗
(2
t
)
([0, 1]) ∩ Y
∗
i
,
where F
∗
(k)
([0, 1]) is F
(k)
([0, 1]) computed in threeplace IA, we obtain again a nested
sequence {Y
∗
t
}. This converges in nine steps to the interval [0, 0.251]. We have Y
∗
t
=
[0, 0.251] for all t ≥ 9.
Natural Stopping Criterion
For any ﬁxed (as opposed to “variable”) precision representation of machine numbers,
there is a ﬁnite set of machine numbers represented by strings of bits b
0
b
1
. . . b
s
with s
ﬁxed. Hence there is only a ﬁnite set of intervals with machine number endpoints. Any
nested sequence of such intervals is necessarily ﬁnitely convergent.
For any iterative interval method that produces a nested sequence with endpoints
represented by ﬁxed precision machine numbers, we have a natural stopping criterion.
Since the sequence {X
k
} converges in a ﬁnite number of steps, we can compute the X
k
until
X
k+1
= X
k
. (6.12)
If the X
k
are generated by a procedure of the form
X
k+1
= F(X
k
) (6.13)
such that each X
k+1
depends only on the previous X
k
, then it is clear that (6.12) is sufﬁcient
to guarantee convergence.
In particular, if F(X) is a rational expression in X and if X
0
is an interval such that
F(X
0
) ⊆ X
0
, which can be tested on the computer, it follows that {X
k
} deﬁned by
X
k+1
= F(X
k
) (k = 0, 1, 2, . . .) (6.14)
is nested with
X
0
⊇ X
1
⊇ X
2
⊇ · · ·
and hence converges to some X
∗
with X
∗
= F(X
∗
) and X
∗
⊆ X
k
for all k = 0, 1, 2, . . ..
With IA, it may happen that X
1
= F(X
0
) ⊆ X
0
but that X
k+1
X
k
for some k. If
instead of (6.14), we compute
X
k+1
= F(X
k
) ∩ X
k
(6.15)
and stop when (6.12) is satisﬁed (which will happen always for some k using ﬁxed ﬁnite
precision IA), we have the narrowest possible interval containing X
∗
= F(X
∗
). Anarrower
interval would require using higherprecision arithmetic.
Furthermore, if for a chosen X
0
, the interval F(X
0
) ∩ X
0
is empty, then X
0
contains
no ﬁxed points of F (i.e., there is no X ∈ X
0
such that F(X) = X). This follows from the
inclusion isotonicity of F, for if F(X) = X and X ⊆ X
0
, then X = F(X) ⊆ F(X
0
) and so
X ⊆ F(X
0
) ∩ X
0
; therefore, if F(X
0
) ∩ X
0
is empty, there is no such X. interval
2008/11/18
page 61
i
i
i
i
i
i
i
i
6.3. Finite Convergence and Stopping Criteria 61
Example 6.6. Let
F(X) =
1
2
X +2.
If we take X
0
= [1, 2], then
F(X
0
) =
1
2
[1, 2] +2 =
5
2
, 3
.
Since F(X
0
)∩X
0
= ∅, there is no ﬁxed point of F in [1, 2]. If we take X
0
=
2,
7
2
instead,
then
F(X
0
) =
1
2
2,
7
2
+2 =
3,
15
4
.
Here F(X
0
) ∩X
0
=
3,
7
2
; we cannot conclude anything since F(X
0
) X
0
. Finally, with
X
0
= [2, 5], we have F(X
0
) = F([2, 5]) =
3,
9
2
. This time, F(X
0
) ⊆ X
0
, so F has a
ﬁxed point X in X
0
. The iterations
X
k+1
= F(X
k
) ∩ X
k
, k = 0, 1, 2, . . . , (6.16)
produce, in threedigit IA,
X
1
= [3, 4.5] ∩ [2, 5] = [3, 4.5],
X
2
= [3.5, 4.25] ∩ [3, 4.5] = [3.5, 4.25],
X
3
= [3.75, 4.13] ∩ [3.5, 4.25] = [3.75, 4.13],
X
4
= [3.87, 4.07],
X
5
= [3.93, 4.04],
X
6
= [3.96, 4.02],
X
7
= [3.98, 4.01],
X
8
= [3.99, 4.01],
X
9
= [3.99, 4.01],
X
k+1
= X
k
, k = 8, 9, 10, . . . .
F has a ﬁxed point in [3.99, 4.01].
If the process generating the sequence depends explicitly on k as well as on X
k
, say,
X
k+1
= F(k, X
k
),
then we might have X
k+1
= X
k
for some k and yet X
k+2
= X
k
even though {X
k
} is nested.
An example is
X
k+1
= ([0, 2]/k) ∩ X
k
, X
1
= [0, 1]. (6.17)
interv
2008/11/
page 62
i
i
i
i
i
i
i
i
62 Chapter 6. Interval Sequences
Here
X
1
= [0, 1],
X
2
= [0, 1],
X
3
= [0, 1],
X
4
= [0,
2
3
],
X
5
= [0,
1
2
],
.
.
.
X
k+1
= [0, 2/k], k > 2.
Hence, (6.12) is a valid stopping criterion if and only if {X
k
} is nested and generated by
(6.16) with F(X
k
) depending only on X
k
.
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 IAinstead 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 modiﬁed
problem contain the exact result of the corresponding ﬁnite sequence of operations using
exact (inﬁnite precision) real arithmetic for all arithmetic operations.
Note Although we may, in principle, apply this to all computer programs originally written
with ﬂoating 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)
interv
2008/11/
page 63
i
i
i
i
i
i
i
i
6.3. Finite Convergence and Stopping Criteria 63
% returns the result of a step of interval
% fixed point iteration
% X_{k+1} = intersect(X_k, f(X_k)) as explained
% in Section 6.3.
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 ]
Do the same iteration for Example 6.6.
Exercise 6.8. The MATLAB function from Exercise 6.7 implementing a step of interval
ﬁxed point iteration can be called iteratively to convergence with the following MATLAB
function:
function [X_limit,N] = interval_fixed_point_limit(f,X)
% [X_limit,N] = interval_fixed_point_convergence(f,X) returns
% the limit of fixed point iteration X_{k+1} = f(X_k) as
% explained in Section 6.3, and returns the number of iterations
% required in N. If one or both of the bounds of X_limit is NaN,
% then the limit is the empty set.
old_X = infsup(Inf,Inf);
N = 0;
while (old_X ˜= X) & ˜( isnan(inf(X))  isnan(sup(X)) )
N = N+1;
old_X = X;
X = interval_fixed_point_step(f,X);
end
X_limit = X;
For instance, we might have the following MATLAB dialogue for Example 6.4: interval
2008/11/18
page 64
i
i
i
i
i
i
i
i
64 Chapter 6. Interval Sequences
>> 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 binarytodecimal 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?
6.4 More Efﬁcient Reﬁnements
We have seen that reﬁnement of an interval extension is a method for computing arbitrarily
sharp upper and lower bounds on the range of values of a real function, but it is of prac
tical importance to be able to obtain these bounds as efﬁciently as possible. We begin by
characterizing the class of functions most commonly used in computing.
Code Lists and the Class FC
Let FC
n
(X
0
) be the class of realvalued functions f of n real variables whose values
f (x
1
, . . . , x
n
) for each f are deﬁned for all x = (x
1
, . . . , x
n
) in the interval vector X
0
=
(X
10
, . . . , X
n0
) by some ﬁxed, ﬁnite sequence of operations
T
1
= h
1
(y
1
, z
1
)
T
2
= h
2
(y
2
, z
2
)
.
.
. (6.18)
f (x) = T
M
= h
M
(y
m
, z
m
)
for y
1
, z
1
∈ S
1
= {x
1
, . . . , x
n
, c
1
, . . . , c
p
}, where c
1
, . . . , c
p
are given real numbers (the
coefﬁcients of f ), and where h
1
, . . . , h
M
are the arithmetic functions +, −, ·, /, or unary
functions (of only one of the variables y
i
, z
i
) of elementary type: exp(·), ln(·),
√
·, etc.
Furthermore, y
i+1
, z
i+1
∈ S
i+1
= S
i
∪ {T
i
}, i = 1, . . . , M − 1. The integer M, the
coefﬁcients c
1
, . . . , c
p
(if any), and the sequence of operations h
1
, . . . , h
M
deﬁne a particular
function f ∈ FC
n
(X
0
). Each y
i
, z
i
may be an x; or a constant c
i
or one of the previous T
j
(j < i).
Example 6.7. The function f deﬁned by
f (x
1
, x
2
) = x
1
e
x
1
+x
2
2
−x
2
2 interval
2008/11/18
page 65
i
i
i
i
i
i
i
i
6.4. More Efﬁcient Reﬁnements 65
can be expressed as the sequence (commonly called a code list or computational graph)
T
1
= x
2
2
,
T
2
= x
1
+T
1
,
T
3
= e
T
2
,
T
4
= T
3
x
1
,
f (x
1
, x
2
) = T
4
−T
1
.
Therefore, it belongs to FC
2
(X
0
) for any X
0
.
We assume that we can compute arbitrarily sharp bounds on the exact range of values
of each of the unary functions occurring in the sequence of operations for f (x). The class
FC
n
is further assumed to include only functions f that are deﬁned for all x ∈ X
0
and
that have inclusion isotonic, Lipschitz, interval extensions F(X) for X ⊆ X
0
. For some of
the discussion to follow, we also assume that the ﬁrst and second partial derivatives of f
satisfy the same conditions as f . This ﬁnal assumption, concerning the existence of interval
extensions with desirable properties (inclusion isotonicity, etc.) is satisﬁed automatically
for all f ∈ FC
n
(X
0
), provided only that F(X
0
) is deﬁned, where F(X) is the interval
extension
T
1
= H
1
(Y
1
, Z
1
),
T
2
= H
2
(Y
2
, Z
2
),
.
.
. (6.19)
F(x) = T
M
= H
M
(Y
m
, Z
m
),
where H
1
, . . . , H
M
are the united extensions of the functions h
1
, . . . , h
M
, respectively. This
is the case, replacing real arithmetic operations by interval arithmetic operations and using
the united extensions of the unary functions, as long as for the interval vector X
0
, no division
by an interval containing 0 occurs during the computation of T
1
, . . . , T
M
and provided that
no arguments containing zero occur for such unary operations as ln(·) or
√
·. (The latter
would spoil the Lipschitz property for the interval extension.) Since such an F is inclusion
isotonic, F(X) is deﬁned for every X ⊆ X
0
.
Under these conditions, Theorem 6.1 states that the excess width of the reﬁnement
F
(N)
(X) of the interval extension F(X) given by (6.19) of a function f ∈ FC
n
(X
0
) satisﬁes
w(E
n
) ≤ K
f
w(X)/N for some K
f
depending only on f . (6.20)
An evaluation of F requires one pass through the ﬁnite 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), 1000
2
= 10
6
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 interval
2008/11/18
page 66
i
i
i
i
i
i
i
i
66 Chapter 6. Interval Sequences
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 ∈ FC
n
(X
0
)
with F(X) deﬁned for X ⊆ X
0
by (6.19).
Theorem6.2. If eachof the variables x
1
, . . . , x
n
occurs at most once inthe list y
1
, z
1
, . . . , y
n
,
z
n
of arguments in the sequence (6.18) deﬁning f (x), then the interval extension F(X) de
ﬁned by (6.19) is the united extension of f for all X ⊆ X
0
.
Proof. We have F(X) = f (X) if and only if f (X) ⊆ F(X) and F(X) ⊆ f (X). The
ﬁrst 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 = (x
1
, . . . , x
n
)
with x
i
∈ X
i
for i = 1, . . . , n. In fact, each H
i
is the united extension of h
i
. 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 ⊆ X
0
with one evaluation of F(X) using (6.19).
If some x
i
occurs more than once in the list of arguments in (6.18), then the corre
sponding X
i
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 ∈ FC
1
([0, 1]) deﬁned by
T
1
= 1 −x
1
, f (x
1
) = T
2
= T
1
x
1
.
The variable x
1
occurs twice as an argument. The corresponding list for F(X) is
T
1
= 1 −X
1
, F(X
1
) = T
2
= T
1
X
1
.
NowF([0, 1]) = [0, 1], but there is nox
1
∈ [0, 1] suchthat f (x
1
) = (1−x
1
)x
1
= 1 ∈ [0, 1].
On the other hand, the interval function
T
1
= 1 −X
1
, F(X
1
, X
2
) = T
2
= T
1
X
2
,
is the united extension of the real function
T
1
= 1 −x
1
, f (x
1
, x
2
) = T
2
= T
1
x
2
.
In particular, F([0, 1], [0, 1]) = [0, 1] is the exact range of values of f (x
1
, x
2
) = (1−x
1
)x
2
for x
1
∈ [0, 1] and x
2
∈ [0, 1].
Another explanation for the difference between these two results is the following. In
both cases, we ﬁrst compute 1 −[0, 1] = [0, 1]. This is the exact range of values of 1 −x
1
for x
1
∈ [0, 1]. The discrepancy comes at the next step. When we compute T
1
X
1
with
T
1
= [0, 1] and X
1
= [0, 1], we obtain [0, 1]. We obtain the same result for T
1
X
2
with
T
1
= [0, 1] and X
2
= [0, 1].
In the second case, this is the desired exact range of values of f (x
1
, x
2
). In the ﬁrst
case, we get an overestimation of the range of values of f (x
1
) = (1−x
1
)x
1
because, during
the numerical evaluation of T
1
X
1
, we have not made use of the information that T
1
= [0, 1]
represents the range of values of 1 − x
1
for x
1
∈ X
1
. We have not distinguished between
this and T
1
= [0, 1] as the range of values of 1−x
2
for a variable x
2
independent of x
1
. interval
2008/11/18
page 67
i
i
i
i
i
i
i
i
6.4. More Efﬁcient Reﬁnements 67
Example 6.8 shows that it is better to use the interval extension X
n
deﬁned 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 X
2
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 6cube 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 (x
1
, x
2
, x
3
) be deﬁned by
f (x
1
, x
2
, x
3
) =
x
1
+ x
2
x
1
− x
2
x
3
, (6.21)
which we can rewrite as
f (x
1
, x
2
, x
3
) = x
3
1 +
2
(x
1
/x
2
) − 1
. (6.22)
For x
1
∈ [1, 2], x
2
∈ [5, 10], and x
3
∈ [2, 3], the natural interval extension of (6.22)
produces the correct range of values
−7, −
22
9
since each variable occurs only once. How
ever, the natural interval extension of (6.21) produces
−12, −
12
9
with an excess width
of
55
9
.
Given a function f ∈ FC
n
(X
0
) deﬁned by a ﬁnite 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 monotonicitytest form.
The Centered Form
We nowdiscuss the centered form, a secondorder interval extension. To obtain the centered
form F
c
(X
1
, . . . , X
n
), we ﬁrst rewrite f (x
1
, . . . , x
n
) as
f (x
1
, . . . , x
n
) = f (c
1
, . . . , c
n
) + g(y
1
, . . . , y
n
) (6.23)
with y
i
= x
i
− c
i
and with g deﬁned by (6.23):
g(y
1
, . . . , y
n
) = f (y
1
+ c
1
, . . . , y
n
+ c
n
) − f (c
1
, . . . , c
n
).
For rational f , we can express g in the form
g(y
1
, . . . , y
n
) = y
1
h
1
(y
1
, . . . , y
n
) + · · · + y
n
h
n
(y
1
, . . . , y
n
),
where h
i
is rational and h
i
(0, . . . , 0) is deﬁned if f (c
1
, . . . , c
n
) is. We deﬁne F
c
by
F
c
(X
1
, . . . , X
n
) = f (c
1
, . . . , c
n
) +
n
i=1
Y
i
H
i
(Y
1
, . . . , Y
n
), (6.24)
where c
i
= m(X
i
), Y
i
= X
i
− c
i
, and H
i
is the natural interval extension of h
i
. interval
2008/11/18
page 68
i
i
i
i
i
i
i
i
68 Chapter 6. Interval Sequences
Example 6.10. We reconsider the polynomial p(x) = 1 − 5x +
1
3
x
3
given in (5.25). We
rewrite p(x) as
p(x) = 1 −5c +
1
3
c
3
+g(y), where y = x −c,
and
g(y) = p(x) −p(c) = y(−5 +
1
3
((y +c)
2
+(y +c)c +c
2
)).
We deﬁne P
c
by
P
c
(X) = p(c) +YH(Y),
where c = m(X), Y = X −m(X), and
H(Y) = −5 +
1
3
((Y +c)
2
+(Y +c)c +c
2
).
Now, for X = [2, 3], we obtain
c = m(X) =
5
2
, Y =
−
1
2
,
1
2
, p(c) = p(
5
2
) = −
151
24
.
We have H(Y) =
1
12
,
31
12
, so
P
c
([2, 3]) =
−
91
12
, −5] = [−7.5833333 . . . , −5
.
Compare this with the bounds computed using (5.26) and (5.27). Again, the exact range of
values is [−
10
3
√
5 +1, −5] = [−6.454559 . . . , −5].
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) deﬁned in (6.7), we have
w(E
N
) ≤ K
f
w(X)/N
2
for some K
f
instead of (6.20). Using the centered form instead of the natural interval extension for
rational functions, we can reduce the excess width of reﬁnements 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 higherorder centered forms.
Exercise 6.10. Apply the centered form technique to the expression f (x) =
1
3
x
3
−2x and
the interval [1.2, 1.6].
Mean Value Form
Another useful interval extension is the mean value form. We can apply this to functions
in FC
n
(X
0
). Let X be an interval vector in X
0
and let m = m(X). Let D
i
F be an interval interval
2008/11/18
page 69
i
i
i
i
i
i
i
i
6.4. More Efﬁcient Reﬁnements 69
extension of ∂f/∂x
i
; we will showhowto obtain these presently. By the mean value theorem
we have, for all X ⊆ X
0
,
f (X) ⊆ F
mv
(X) = f (m) +
n
i=1
D
i
F(X)(X
i
−m
i
). (6.25)
F
mv
(X) is the mean value extension of f on X.
Example 6.11. Consider
f (x
1
, x
2
) = x
1
e
x
1
+x
2
2
−x
2
2
deﬁned by the sequence
T
1
= x
2
2
,
T
2
= x
1
+T
1
,
T
3
= e
T
2
,
T
4
= T
3
x
1
,
f (x) = T
4
−T
1
. (6.26)
Noting that D
i
X
j
= 1 if j = i and 0 if j = i, we have
D
1
T
1
= 0, D
2
T
1
= 2X
2
,
D
1
T
2
= 1, D
2
T
2
= D
2
T
1
,
D
1
T
3
= 0, D
2
T
3
= T
3
(D
2
T
2
),
D
1
T
4
= T
3
+X
1
(D
1
T
3
), D
2
T
4
= (D
2
T
3
)X
1
,
D
1
F(X) = D
1
T
4
, D
2
F(X) = D
2
T
4
−D
2
T
1
. (6.27)
For X
1
= [1, 2] and X
2
= [0, 1], we ﬁnd m = (
3
2
,
1
2
), and from (6.26), f (m) = (3/2)e
7/4
−
1
4
= 8.3819040 . . .. In (6.27), the quantities T
1
, T
2
, T
3
, T
4
must ﬁrst 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 X
1
and X
2
. We ﬁnd
T
1
= [0, 1],
T
2
= [1, 3],
T
3
= [e
1
, e
3
] = [2.7182818 . . . , 20.0855369 . . .],
T
4
⊆ [2.7182818, 40.171074].
interv
2008/11/
page 70
i
i
i
i
i
i
i
i
70 Chapter 6. Interval Sequences
We next compute
D
1
T
1
= 0,
D
1
T
2
= 1,
D
1
T
3
= [2.7182818 . . . , 20.0855369 . . .],
D
1
T
4
⊆ [5.4365636 . . . , 60.256611],
D
1
F(X) ⊆ [5.4365636, 60.256611],
D
2
T
1
= [0, 2],
D
2
T
2
= [0, 2],
D
2
T
3
⊆ [0, 40.171074],
D
2
T
4
⊆ [0, 80.342148],
D
2
F(X) ⊆ [−2, 80.342148].
Finally,
F
mv
([1, 2], [0, 1]) ⊆ [−61.917477, 78.681284]
by (6.25).
Exercise 6.11. Repeat Exercise 6.10 using the mean value form.
The Mean Value Form and INTLAB
The process in Example 6.11 can be fully automated, using a process called operator over
loading; for example, see [200] for one of the ﬁrst explanations or [97, section 1.4.4, p. 43ff]
for some perspective. Operator overloading consists of extension of the deﬁnitions of arith
metic and logical operators and standard functions such as sin, to userdeﬁned data types,
such as an interval as an array of two double precision words. Then subroutines are written to
implement the arithmetic and logical operations on this data type. In our context, we would
have a Taylor data type, and we would compute Taylor coefﬁcients by performing arith
metic operations on this data type. This technique has been implemented in the gradient
toolbox distributed with INTLAB. While running INTLAB, issuing the command demo
from within MATLAB’s command window opens the demo tab of MATLAB’s help screen,
from which you can select help on the gradient toolbox and other topics.
19
Computations
for Example 6.11 can be done with the following MATLAB command window dialogue:
>> format short
>> X = [infsup(1,2), infsup(0,1)]
intval X =
[ 1.0000 , 2.0000 ] [ 0.0000 , 1.0000 ]
>> m = mid(X)
m =
1.5000 0.5000
>> Xg = gradientinit(X)
intval gradient value Xg.x =
19
Beginning with INTLAB version 5.4, extensive documentation for INTLAB is integrated into MATLAB’s
help system. In earlier releases of INTLAB, typing help in the MATLAB command window gives a list of
toolbox help ﬁles, including those for INTLAB, upon which one can click. interval
2008/11/18
page 71
i
i
i
i
i
i
i
i
6.4. More Efﬁcient Reﬁnements 71
[ 1.0000 , 2.0000 ] [ 0.0000 , 1.0000 ]
intval gradient derivative(s) Xg.dx =
intval Xg.dx(1,1,:) =
[ 1.0000 , 1.0000 ] [ 0.0000 , 0.0000 ]
intval Xg.dx(1,2,:) =
[ 0.0000 , 0.0000 ] [ 1.0000 , 1.0000 ]
>> fm = m(1)*exp(m(1)+m(2)ˆ2)  m(2)ˆ2
fm = 8.3819
>> DFX = Xg(1)*exp(Xg(1)+Xg(2)ˆ2)  Xg(2)ˆ2
intval gradient value DFX.x = [ 1.7182 , 40.1711 ]
intval gradient derivative(s) DFX.dx =
[ 5.4365 , 60.2567 ] [ 2.0000 , 80.3422 ]
>> Xminusm = Xm
intval Xminusm =
[ 0.5000 , 0.5000 ] [ 0.5000 , 0.5000 ]
>> Fmv = fm + DFX.dx * Xminusm’
intval Fmv = [ 61.9175 , 78.6813 ]
In fact, using the gradient toolbox, we can write the following mﬁle to compute the mean
value form of a general function:
function Fmv = mean_value_form(f,X)
% Fmv = mean_value_form(f,X) returns the value for the
% mean value form for f evaluated over the interval X,
% as explained in Section 6.3. If X has more
% than one coordinate, it must be represented as a
% row vector.
m = mid(X);
Xg = gradientinit(X);
fm = feval(f,m);
DFX = feval(f,Xg);
Xminusm = Xm;
Fmv = fm + DFX.dx * Xminusm’;
If we supply a ﬁle example6p11.m containing
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:
>> X = [infsup(1,2), infsup(0,1)];
>> Fmv = mean_value_form(’example6p11’,X)
intval Fmv = [ 61.9175 , 78.6813 ]
Exercise 6.12. Repeat Exercise 6.11 using INTLAB. interval
2008/11/18
page 72
i
i
i
i
i
i
i
i
72 Chapter 6. Interval Sequences
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
T
1
= x
2
,
T
2
= T
2
1
,
T
3
= T
1
+T
2
,
f (x) = T
3
+1,
while another might be
T
1
= x
4
,
T
2
= x
2
,
T
3
= T
2
+1,
f (x) = T
3
+T
1
.
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.
(a) Write down two different code lists for
f (x) = x
1
e
x
2
+x
2
e
2x
2
,
assuming the system is not rearranged.
(b) Write down a third code list for f , assuming the expression has been rearranged, such
as by factoring out an e
x
2
from both terms.
(c) Evaluate your three code lists step by step using INTLAB. Try different intervals,
such as (X
1
, X
2
) = ([−1, 1], [−1, 1]), (X
1
, X
2
) = ([−1, 1], [1, 2]), etc. What do
you observe?
Slope Form
It is possible to replace the interval extensions D
i
F(X) in the mean value form (6.25) by
intervals S
i
(F, X, m) that are often narrower than D
i
F(X) but that still result in an enclosure
for f (X). The S
i
(F, X, m) are interval enclosures for the slope of f at m over X.
Deﬁnition 6.7. Suppose f : D ⊆ R
n
→R, and suppose x ∈ R
n
, y ∈ R
n
. Then the slope
s(f, x, y) is deﬁned to be that number such that
f (y) −f (x) = s(f, x, y)(y −x).
interval
2008/11/18
page 73
i
i
i
i
i
i
i
i
6.4. More Efﬁcient Reﬁnements 73
Note that s(f, x, y) exists for particular f , x, and y under various assumptions. For
instance, if f has a continuous ﬁrst 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 ﬁxed, 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 S
i
(f, X, y). Assuming we have such slope
enclosures, we obtain, for x ∈ X and Y
i
= X
i
−y
i
,
f (x) ∈ F
s
(X, y) = f (y) +
n
i=1
Y
i
S
i
(f, X, y). (6.28)
We call this the slope form.
Example 6.13. Take f (x) = x
2
, and take X = [−0.5, 0.5]. For the mean value form
(6.25), we generally take m to be the midpoint of X, but m must in any case lie within X.
However, for the slope form, the base point y can in principle be any point in the domain
of f . Let us choose y = 1.5. Then, the exact range f
(X) = 2[−0.5, 0.5] = [−1, 1]
has lower bound equal to the slope of the left dotted line in Figure 6.1 and upper bound
equal to the slope of the right dotted line in Figure 6.1, while the exact range s(f, X, y) =
1.5
2
− [−0.5, 0.5]
2
= [2, 2.25] has lower bound equal to the slope of the left solid line in
Figure 6.1 and upper bound equal to the slope of the right solid line in Figure 6.1. The mean
value form is thus
f (0) +[−1, 1][−0.5, 0.5] = [−0.5, 0.5],
while the slope form for this particular y is
f (1.5) +[2, 2.25]([−0.5, 0.5] −1.5) = [−2.25, 0.25].
Similarly, if we take y = −1.5, we see by symmetry that we get an interval enclosure of
[−0.25, 2.25] for f ([−0.5, 0.5]). In this case intersecting these two enclosures gives us the
exact range:
[−2.25, 0.25] ∩ [−0.25, 2.25] = [−0.25, 0.25] = f ([−0.5, 0.5]).
Interval bounds onslopes canbe computedvia a process similar tothat describedabove
for computing interval bounds on partial derivatives. An early, if not the ﬁrst, reference to
this in the literature is [120]. Complementary to that development, in [64], Hansen proposed
a technique similar to computation of slope enclosures, in which some of the variables in
the expressions for interval enclosures for derivatives are replaced by points. Hansen’s
technique and other techniques for slope enclosures can be combined. Details, examples,
and illustrations appear in [97, section 1.3.1, p. 26ff].
interv
2008/11/
page 74
i
i
i
i
i
i
i
i
74 Chapter 6. Interval Sequences
−0.5 0 0.5 1 1.5
0.5
1
1.5
2
2.5
X y
f(x) = x
2
Figure 6.1. Slope extensions versus mean value extension (Example 6.13).
INTLAB and the Slope Form
Such slope computations are implemented in INTLAB. For information and references,
type help slopeinit and help slope from the MATLAB command window. Also see
[222] for an explanation of the improved version of slopes that is used in INTLAB. The
following function will compute slope enclosures of the form (6.28):
function Fs = slope_form(f,X,y)
% Fs = slope_form(f,X,y) returns the value for the
% slope form for f evaluated over the interval X,
% with center y, as explained in Section 6.4 and
% in the references. Note that, if X and y have more
% than one coordinate, they must be represented as
% row vectors.
Xs = slopeinit(y,X);
fy = feval(f,y);
S = feval(f,Xs);
Y = Xy;
Fs = fy + S.s * Y’;
With this function, the following MATLABcommand windowdialogue computes the slope
form corresponding to Example 6.11:
>> X = [infsup(1,2), infsup(0,1)];
>> y = [1.5 0.5]; interval
2008/11/18
page 75
i
i
i
i
i
i
i
i
6.4. More Efﬁcient Reﬁnements 75
>> 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 Deﬁnition 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 sawthat 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 sawthat 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 Deﬁnition 6.7, one sees that s(f, x, y) is the ﬁrstorder divided difference of f
between x and y. Reps and Rall [216] discuss automatically computing such slopes,
including higherorder divided differences.
2. More recently, Schnurr [229] has carefully described a secondorder version of slopes
in an interval context, as well as use of this in global optimization.
The Monotonicity Test Form
We can also obtain narrower bounds on the range of values for many functions in FC
n
(X
0
)
by using a modiﬁcation of the mean value form known as the monotonicity test form. Let
us reconsider Example 6.11. Because D
1
F(X) turned out to lie completely in an interval of
positive real numbers, we see that f (x
1
, x
2
) is monotonic increasing with x
1
for all (x
1
, x
2
)
in X = ([1, 2], [0, 1]). Hence, we can ﬁnd a lower bound on the range of values of f (x
1
, x
2
)
in X by ﬁnding a lower bound on the range of values of f (1, x
2
). Similarly, we can ﬁnd an
upper bound by ﬁnding an upper bound on the range of values of f (2, x
2
). For instance,
we can do this with
f (X) ⊆ [F
mv
(1, X
2
), F
mv
(2, X
2
)] ⊆ [−36.9308, 58.8966]. (6.29)
For Example 6.11, the natural extension gives the bounds [1.7182818, 40.171074]. This is
sharper than the mean value form, and is sharper on one end than the slope form given by
INTLAB.
By (6.27) we have D
2
T
1
= 2X
2
, …, D
2
F(X) = D
2
T
4
−D
2
T
1
. If we substitute each
expression into the following ones as appropriate, we can rewrite D
2
F(X) as
D
2
F(X) = 2X
2
(e
T
2
X
1
−1) (6.30)
by factoring out 2X
2
. Using (6.30), we ﬁnd that
D
2
F([1, 2], [0, 1]) = 2[0, 1](e
[1,2]+[0,1]
2
[1, 2] −1) = [0, 78.342148]. (6.31) interval
2008/11/18
page 76
i
i
i
i
i
i
i
i
76 Chapter 6. Interval Sequences
By (6.31), we see that f (x
1
, x
2
) is also monotonic increasing with x
2
for all (x
1
, x
2
) ∈ X,
so the exact range of values can be bounded sharply by computing
f (X) = [F
mv
(1, 0), F
mv
(2, 1)]
= [f (1, 0), f (2, 1)]
⊆ [2.7182818, 39.171074]. (6.32)
It follows froma theoremof Alefeld and Herzberger [13] that the mean value extension, like
the centered formor 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 X
1
= [1, 1.01] and X
2
= [.4, .401] from
(6.25) and (6.27),
F
mv
(X) = [3.029529, 3.096156],
whereas the natural extension
F(X) = X
1
e
X
1
+X
2
2
−X
2
2
yields
F(X) = [3.029132, 3.096821].
The excess width of F(X) is 0.001602, while that of F
mv
(X) is only 0.000539.
We can modify (6.25) to obtain the monotonicity test form F
mt
(X) as follows. Let S
be the set of integers i (indices) such that
D
i
F(X) < 0 < D
i
F(X).
Then, we deﬁne
F
mt
(X) = [f (u), f (v)] +
i∈S
D
i
F(X)(X
i
−m(X
i
)), (6.33)
where we specify the ith components of the point vectors u and v by
(u
i
, v
i
) =
(X
i
, X
i
), D
i
F(X) ≥ 0,
(X
i
, X
i
), D
i
F(X) < 0 and D
i
F(X) ≤ 0,
(m(X
i
), m(X
i
)) otherwise.
(6.34)
Theorem 6.3. For f ∈ FC
n
(X
0
) with F(X) and D
i
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) ⊆ F
mt
(X)
for all X ⊆ X
0
.
Proof. Without loss of generality, let S = {i : j ≤ i ≤ n}. Write m
i
= m(X
i
). We have
f (x
1
, . . . , x
j−1
, m
j
, . . . , m
n
) ∈ [f (u), f (v)] (6.35) interval
2008/11/18
page 77
i
i
i
i
i
i
i
i
6.4. More Efﬁcient Reﬁnements 77
for all x
i
∈ X
i
, i = 1, . . . , j −1. Here, u = (u
1
, . . . , u
n
) and v = (v
1
, . . . , v
n
), where u
i
and v
i
are deﬁned by (6.34). Now
f (x
1
, . . . , x
j
, . . . , x
n
) −f (x
1
, . . . , m
j
, . . . , m
n
) ∈
i∈S
D
i
F(X)(X
i
−m
i
) (6.36)
for all x
i
∈ X
i
, i = 1, . . . , n. Adding (6.35) and (6.36), we get f (x) ∈ F
mt
(X) for all
x ∈ X.
As the previous example shows, the better the extensions D
i
F(X) of the partial
derivatives, the better the results for the form F
mv
(X). (Compare (6.32) using (6.30) with
(6.29) using (6.27).)
Skelboe’s Algorithm
Skelboe [232] introduced a much more efﬁcient algorithm for computing reﬁnements. We
ﬁrst 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 ﬁnite 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 modiﬁcation 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 reﬁnements, 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 simpliﬁcation of Skelboe’s algorithm, known as the
Skelboe–Moore algorithm.
Suppose we are given an interval extension F(X) of f ∈ FC
n
(X
0
), and we want to
bound the range of values of f in X
0
using reﬁnements of F. We ﬁrst ﬁnd a lower bound
and then, replacing F(X) by −F(X), repeat the procedure to be described to ﬁnd an upper
bound. If the evaluations are done in IA, the procedure will converge in a ﬁnite number of
steps. To ﬁnd 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.
Algorithm 6.1 (Skelboe–Moore). Given an interval extension F of f , a tolerance , and
a box X
0
, this algorithm returns a lower bound LB on the range of f over X that is within
of the actual minimal value of lower bound as well as lists C and L of boxes that has been
produced during the process of computing these, such that C ∪ L = X
0
.
(1) Set
20
f
ub
←f (m(X
0
)), where f (m(X
0
)) is computed with either upward rounding
or interval arithmetic
21
as F(m(X
0
));
20
We use ←to denote the operation of setting a value equal to another value, while we reserve = to assert that
what’s on the left of the = is equal to what’s on the right.
21
f
ub
represents a mathematically rigorous upper bound on the lower bound of f over X.
interv
2008/11/
page 78
i
i
i
i
i
i
i
i
78 Chapter 6. Interval Sequences
(2) set X ← X
0
;
(3) initially, the lists L and C are empty;
(4) bisect X in coordinate direction i such that w(X
i
) = w(X) = max
1≤i≤n
w(X
i
):
X = X
(1)
∪ X
(2)
;
(5) f
ub
← min
f
ub
, F(m(X
(1)
)), F(m(X
(2)
))
;
(6) IF max{F(X
(1)
), F(X
(2)
)} −min{F(X
(1)
), F(X
(2)
)} < , then
(a) Place X
(1)
and X
(2)
into C in order
(b) IF L is not empty THEN
(i) remove the ﬁrst item from L and place its box into X;
(ii) IF F(X) > f
ub
THEN
RETURN with LB equal to lower bound on the ﬁrst box in C and with
the lists C and L
END IF
ELSE
RETURN with LB equal to the lower bound on the ﬁrst box in C and with
list C
END IF
ELSE
(a) enter the items (X
(1)
, F(X
(1)
)) and (X
(2)
, F(X
(2)
)) in proper order in the list L;
(b) set X ← the argument (ﬁrst member of the pair) of the ﬁrst item in the list L
(with lowest F(X)) and remove the item (X, F(X)) from the list;
END IF
(7) IF L isn’t empty THEN return to step (4).
Step (4) means we replace X by two interval vectors,
X
(1)
= (X
1
, . . . , X
i−1
, X
(1)
i
, X
i+1
, . . . , X
n
),
X
(2)
= (X
1
, . . . , X
i−1
, X
(2)
i
, X
i+1
, . . . , X
n
),
where
X
(1)
i
= [X
i
,
1
2
(X
i
+X
i
)], X
(2)
i
= [
1
2
(X
i
+X
i
) , X
i
].
Straightforward reﬁnement 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 ﬁnite number of isolated extrema in X
0
, the algorithm above produces bounds on the
range of values, of comparable excess width, in about Cn(log
2
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. interval
2008/11/18
page 79
i
i
i
i
i
i
i
i
6.4. More Efﬁcient Reﬁnements 79
function [LB, X_lb, N_iter, completed_list]...
= Skelboe_Moore (f, X0, epsilon)
% [LB, X_lb, N_iter, completed_list]...
% = Skelboe_Moore (f, X0, epsilon)
% implements the Skelboe  Moore algorithm in Chapter 6
% of Moore / Kearfott / Cloud. f is the function handle
% for the objective, while X0 is the starting box, and
% epsilon is the tolerance by which the returned lower bound
% can fail to be sharp.
% On return 
% LB is the mathematically rigorous lower bound on
% f over X0.
% X_lb is a box over which this lower bound has
% been computed by interval evaluation of f.
% N_iter is the number of bisections that were done
% to complete the computation.
% completed_list is the linked list of boxes produced
% during the subdivision process. It may be plotted
% using "plot_list."
% It is assumed that X0 is an interval column vector.
To simplify programming Skelboe_Moore, we have written some simple linked list pro
cessingfunctions 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 reﬁnement 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)],1e4)
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)],1e4)
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
result rigorously rounded down. interval
2008/11/18
page 80
i
i
i
i
i
i
i
i
80 Chapter 6. Interval Sequences
exhibits more interval dependency due to lack of monotonicity when it is evaluated over
boxes containing this critical point, so the reﬁnement must be ﬁner there.
In addition to the output seen in the preceding MATLAB dialogue, the routine
plot_list, as seen in the dialogue, produces a onedimensional graph with the intervals
in the list plotted in cyclically varying colors.
Example 6.14. We will use Skelboe_Moore.m to ﬁnd 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ﬁles simple_2d.m and
minus_simple_2d.m, and we proceed with the following dialogue:
23
>> [LB, X_lb, N_iter, completed_list] ...
= Skelboe_Moore(’simple_2d’,[infsup(1,1);infsup(1,1)],1e4)
intval LB = [ 3.0000 , 3.0000 ]
intval X_lb = [ 0.0000 , 0.0001 ] [ 1.0000 , 0.9999 ]
N_iter = 4417
completed_list = 1x8000 struct array
>> plot_list(completed_list,1,2,’’,0)
>> [LB, X_lb, N_iter, completed_list] ...
= Skelboe_Moore(’minus_simple_2d’,[infsup(1,1);infsup(1,1)],1e4)
intval LB = [ 6.0000 , 6.0000 ]
intval X_lb = [ 0.9999 , 1.0000 ] [ 0.0001 , 0.0000 ]
N_iter = 856
completed_list = 1x1000 struct array
>> plot_list(completed_list,1,2,’’,0)
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 variables
24
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 ×10
8
boxes would be required.
Greater efﬁciencycanbe gainedbyincorporatingaccelerationdevices intothe 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
23
Abbreviated.
24
Not true at critical points.
25
However, more work is required per interval. interval
2008/11/18
page 81
i
i
i
i
i
i
i
i
6.4. More Efﬁcient Reﬁnements 81
−1 −0.5 0 0.5 1
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
Figure 6.2. Boxes for the lower bound in Example 6.14.
−1 −0.5 0 0.5 1
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
Figure 6.3. Boxes for the upper bound in Example 6.14.
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.
Modern Context of the Skelboe–Moore Algorithm:
Global Optimization
Examination of the Skelboe–Moore algorithm shows that although we have set out to ﬁnd
the range of f over a box X, this is equivalent to ﬁnding the unconstrained global minimum interval
2008/11/18
page 82
i
i
i
i
i
i
i
i
82 Chapter 6. Interval Sequences
−1
−0.5
0
0.5
1
−1
−0.5
0
0.5
1
3
3.5
4
4.5
5
5.5
6
Figure 6.4. Surface and contours for f in Example 6.14.
of f over X. This is a difﬁcult problemfor 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 R
n
is
termed global optimization, and f is called the objective function. The Skelboe–Moore
algorithm is a prototypical branchandbound algorithm. Here, we “bound” the value of
the objective function over a region. If the bounds are not sufﬁciently accurate, then we
“branch,” that is, we cut the region into two or more smaller regions to obtain more accurate
bounds.
As a branchandbound 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 branchand
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 signiﬁcance today in the context of interval
2008/11/18
page 83
i
i
i
i
i
i
i
i
6.5. Summary 83
global optimization. Algorithms in the above books, and algorithms tailored to speciﬁc
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].
Aclustering problem, perhaps ﬁrst described in [44] and [102, 43], is the accumulation
of a large number of tiny boxes near a global minimum point of f (x
1
, . . . , x
n
). This
phenomenon occurs, especially for large n. If interval Newton methods are used with
methods for ﬁnding local optimizers, the cluster problem can be avoided with a process
called epsilon inﬂation;
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. Avery early example of such an algorithmis Step 4 in
Algorithm2.6 in [93]. Neumaier has further clariﬁed the clustering problemmathematically,
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 reﬁnements, 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 ﬁrst use of the term “epsilon inﬂation” of which we are aware occurs in [218] as “Aufblähung,” near
the top of p. 99 of that work. interval
2008/11/18
page 84
i
i
i
i
i
i
i
i interval
2008/11/18
page 85
i
i
i
i
i
i
i
i
Chapter 7
Interval Matrices
7.1 Deﬁnitions
By an interval matrix, we mean a mean a matrix whose elements are interval numbers. For
example, we might have
A =
A
11
A
12
A
21
A
22
=
[1, 2] [−1, 1]
[0, 4] [6, 8]
. (7.1)
If A is an interval matrix with elements A
ij
and B is a matrix with real elements B
ij
such
that B
ij
∈ A
ij
for all i and j, then we write B ∈ A.
Matrix Norm, Width, and Midpoint
We use the matrix norm
A = max
i
j
A
ij
 (7.2)
for an interval matrix A. This is an interval extension of the maximum row sum norm for
real matrices. If B is any real matrix contained in an interval matrix A, then B ≤ A.
We deﬁne the width w(A) of an interval matrix A by
w(A) = max
i,j
w(A
ij
). (7.3)
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(A
ij
).
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 interval
2008/11/18
page 86
i
i
i
i
i
i
i
i
86 Chapter 7. Interval Matrices
w(A) = max{w([1, 2]), w([−1, 1]), w([0, 4]), w([6, 8])}
= max{1, 2, 4}
= 4,
and
m(A) =
m([1, 2]) m([−1, 1])
m([0, 4]) m([6, 8])
=
0.5 0
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.
7.2 Interval Matrices and Dependency
Even though, as indicated in Exercise 7.1, the ijth element C
ij
of the product C = AB of
an mby p interval matrix Aand a p by n interval matrix B gives sharp bounds on the range
C
ij
=
M
ij
=
p
k=1
P
ik
Q
kj
: P
ik
∈ A
ik
and Q
kj
∈ B
kj
for 1 ≤ k ≤ p
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
A =
[1, 2] [3, 4]
and B =
[5,6] [7,8]
[9,10] [11,12]
.
Then the product of the interval matrices A and B is
C = AB =
[32,52] [40,64]
.
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 ﬁrst 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 ﬁrst 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 fromthe interval elements of Ain 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 (Theorem5.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. interval
2008/11/18
page 87
i
i
i
i
i
i
i
i
7.3. INTLAB Support for Matrix Operations 87
7.3 INTLAB Support for Matrix Operations
INTLAB has extensive support for linear algebra operations involving interval matrices.
INTLAB uses the MATLAB environment, which originated as a system for interactively
doing numerical linear algebra and continues to have numerical linear algebra as its foun
dation. The following exercises deal with some elementary matrix and norm capabilities in
INTLAB.
Exercise 7.2. Several functions of intervals are related to the absolute value function of a
real number.
mag: mag(X), the magnitude of the interval X, is the real number representing the maxi
mum absolute value of any real number in X.
mig: mig(X), the mignitude of the interval X, is the real number representing the minimum
absolute value of any real number in X. (For example, the mignitude is used, in
determining whether every matrix within an interval matrix is diagonally dominant.)
abs: abs(X) is an interval that represents the range of the absolute value function over the
interval X.
INTLAB has the functions mag, mig, and abs that operate on intervals, interval vectors,
and interval matrices. Use INTLAB to compute abs(X), mag(X), and mig(X) for the
following X:
1. X = [1, 2],
2. X = [−1, 2],
3. X = [−2, −1],
4. X the matrix A from Example 7.1.
Hint: The matrix A may be entered:
>> A = [infsup(1,2) infsup(1,1)
infsup(0,4) infsup(6,8)]
intval A =
[ 1.0000 , 2.0000 ] [ 1.0000 , 1.0000 ]
[ 0.0000 , 4.0000 ] [ 6.0000 , 8.0000 ]
Exercise 7.3. INTLABimplements normand 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 2norm of A and is the same as norm(A,2), while norm(A,1) and norm(A,inf)
compute the 1norm and ∞norm of A, respectively. INTLAB does not deﬁne norm(A,2)
when A is an interval matrix, but it does deﬁne norm(A,1) and norm(A,inf); the norm
deﬁned 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 ﬂoating point approximation. Use INTLAB to compute A
and m(A) for A as in Example 7.1. interval
2008/11/18
page 88
i
i
i
i
i
i
i
i
88 Chapter 7. Interval Matrices
Exercise 7.4. For scalar intervals, the INTLABfunction 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 deﬁned by
(7.3).
7.4 Systems of Linear Equations
In this section, we consider ﬁnite systems of linear algebraic equations
Ax = b, (7.4)
where A is an nbyn matrix and b is an ndimensional vector. There are two cases to
consider for the coefﬁcients 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 A
ij
and B
i
.
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 ﬁnite number of arithmetic operations if Ais nonsingular
and if inﬁnite 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
i
j
M
ij
. (7.5)
An exact solution in case (2) is much more difﬁcult; the set of all solutions to (7.4),
when the coefﬁcients of A and b can range over intervals, may be a very complicated set,
27
and its computation is, in general, an NPhard problem[121]. An example of such a solution
set, with
A =
[ 2, 4] [−2, 1]
[−1, 2] [ 2, 4]
, B =
[−2, 2]
[−2, 2]
, (7.6)
27
See, for instance [97, section 1.2.1] and the references there for a discussion of different kinds of solution sets. interval
2008/11/18
page 89
i
i
i
i
i
i
i
i
7.4. Systems of Linear Equations 89
T
E
r
r
r r
r
r
r
r
¨
¨
¨
¨
¨
¨ d
d
d
d
de
e
e
e
e
e
¨
¨
¨
¨
¨
¨
d
d
d
d
de
e
e
e
e
e
(1, 0)
(3, −4)
(4, 3)
(0, 1)
¢
¢
¢
(−3, 4)
(−1, 0)
(−4, −3)
(0, −1)
Figure 7.1. Exact solution set to Ax = B, A, and B in Equation (7.6).
appears in Figure 7.1 (from [97, p. 20]). However, such a solution set can be enclosed in an
interval vector (an ndimensional 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 coefﬁcients.
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 overﬂowor underﬂow),
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 2by2 linear system
a
11
x
1
+a
12
x
2
= b
1
,
a
21
x
1
+a
22
x
2
= b
2
.
Formally, we can eliminate x
1
fromthe second equation by subtracting termby terma
21
/a
11
times the ﬁrst equation, as done in Gaussian elimination. Doing that, we can solve for x
2
by a division from the equation
(a
22
−(a
21
/a
11
)a
12
)x
2
= b
2
−(a
21
/a
11
)b
1
.
Then we can use that value of x
2
and the ﬁrst equation to solve for x
1
by another division
from
a
11
x
1
= b
1
−a
12
x
2
.
We can carry out all that numerically with interval coefﬁcients for all the a’s and b’s to obtain
intervals X
1
and X
2
containing all the possible solutions (x
1
, x
2
) for any choices of real
coefﬁcients in the corresponding interval coefﬁcients. All this can be done if the interval
for a
11
does not contain zero and if the computed interval containing a
22
− (a
21
/a
11
)a
12
does not contain zero.
The determinant of the matrix is the product of those two quantities: a
11
(a
22
−
(a
21
/a
11
)a
12
). The conditions stated above are sufﬁcient for the matrix to be nonsingu
lar for any choice of real coefﬁcients in the interval coefﬁcients. interval
2008/11/18
page 90
i
i
i
i
i
i
i
i
90 Chapter 7. Interval Matrices
Exercise 7.5. The mesh equations for an electric circuit are expressed as
R
1
+R
2
−R
2
−R
2
R
2
+R
3
I
1
I
2
=
V
1
−V
2
.
Take V
1
= 10, V
2
= 5, and R
1
= R
2
= R
3
= 1000 ± 10%. Find enclosures for I
1
and
I
2
.
In case (1), with exactly representable real coefﬁcients, if the hypothesis of Theo
rem 7.1 is satisﬁed, the resulting interval vector has a width which approaches zero as the
number of digits carried (in the IA) increases.
Example 7.3. Consider the following illconditioned system:
2.0000x
1
+3.001x
2
= 1.0000,
0.6667x
1
+1.000x
2
= 0.3333.
We will carryout a direct methodfor solvingthe systemusingnplace IAfor n = 4, 5, 6, 7, 8,
and 9. We can eliminate the x
1
term in the second equation to obtain
(1.000 −(0.6667/2.0000)(3.001))x
2
= 0.3333 −(0.6667/2.0000)(1.0000).
If we carry out the arithmetic using nplace IA, we obtain (for x
2
):
for n = 4,
0.6667/2.0000 ∈ [0.3333, 0.3334],
(0.6667/2.0000)(3.001) ∈ [1.000, 1.001],
.3333 −(.6667/2.000)(1.000) ∈ [−.0001, 0],
(1.000 −(0.6667/2.0000)(3.001)) ∈ [−0.0010, 0],
x
2
∈ [0, ∞) (no upper bound on x
2
);
for n = 5,
0.6667/2.000 ∈ [.33335, .33335],
(0.6667/2.000)(3.001) ∈ [1.0003, 1.0004],
0.3333 −(0.6667/2.000)(1.000) ∈ [−0.00005, −0.00005],
(1.000 −(0.6667/2.000)(3.001)) ∈ [−0.00040, −0.00030],
x
2
∈ [0.12500, 0.16667];
for n = 6, x
2
∈ [0.128205, 0.131579];
for n = 7, x
2
∈ [0.1302083, 0.1305484];
for n = 8, x
2
∈ [0.13041210, 0.13044613];
for n = 9, x
2
∈ [0.130429111, 0.130429112]. interval
2008/11/18
page 91
i
i
i
i
i
i
i
i
7.4. Systems of Linear Equations 91
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 ﬁnal division for x
2
. 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 ﬁrst, was observed during early experiments
with interval versions of Gaussian elimination. In case (1), with real coefﬁcients, 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 ﬁxed number of digits carried in the IAoperations, the width of the
resulting interval vector increases as the order nincreases for most matrices at about the same
rate as the worstcase analysis of von Neumann and Goldstine [246]. During the Gaussian
elimination process, there are multiple occurrences of the coefﬁcients 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
A
ii
 >
j=i
A
ij
 (i = 1, . . . , n).
See [13] and [57] for further discussion. Also see the section ACommon Misuse of Interval
Arithmetic in the demo for INTLAB.
First Look at the Krawczyk Method
Iterative methods for interval linear systems were begun by Hansen, e.g., [57]. One such
method is a linear version of the Krawczyk method, which we cover more completely in
section 8.2. We can multiply both sides of (7.4) by a matrix Y (for instance, an approximate
inverse of m(A)) and deﬁne
E = I − YA.
If E < 1 using (7.2), then the sequence
X
(k+1)
= {Yb + EX
(k)
} ∩ X
(k)
(k = 0, 1, 2, . . .) (7.7)
with
X
(0)
i
= [−1, 1] Yb /(1 − E) (i = 1, . . . , n)
is a nested sequence of interval vectors containing the unique solution to (7.4) for every
real matrix in A and every real vector in b. In IA, the sequence (7.7) converges in a ﬁnite
number of steps to an interval vector containing the set of solutions to (7.4). Thus, we have
the next theorem.
Theorem 7.2. Using the norm (7.2), the system (7.4) has a unique solution x for every
real matrix in A and every real vector in b (for interval matrix A and interval vector b) if
I − YA < 1 for some matrix Y (real or interval). Furthermore, the solution vector x is
contained in the interval vector X
(k)
deﬁned by (7.7) for every k = 0, 1, . . . . Using IA, the
sequence {X
(k)
} converges in a ﬁnite number of steps to an interval vector containing the
set of solutions to (7.4). interval
2008/11/18
page 92
i
i
i
i
i
i
i
i
92 Chapter 7. Interval Matrices
Example 7.4. Consider (7.4) with
A =
3 1
3 2
, b =
1
0
.
If we choose
Y =
0.6 −0.3
−1 1
, an approximate inverse of A,
we ﬁnd, using threedigit IA,
E =
0.1 0
0 0
, Yb =
0.6
−1
, X
(0)
=
[−1.12, 1.12]
[−1.12, 1.12]
,
and we obtain
X
(1)
=
[0.478, 0.712]
−1
, X
(2)
=
[0.647, 0.672]
−1
,
X
(3)
=
[0.664, 0.668]
−1
, X
(4)
=
[0.666, 0.667]
−1
,
with X
(k)
= X
(4)
for k ≥ 4.
The iterative method (7.7) is also applicable in case Aand b have interval components.
Alternate methods and methods that give sharper bounds on the set of solutions to linear
systems with interval coefﬁcients 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 solutioncanbe obtainedinpractice througha defectcorrection
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.
7.5 Linear Systems with Inexact Data
There are a few special types of matrices for which satisfactory results can be obtained.
Unfortunately, the use of direct methods, such as Gaussian elimination with interval arith
metic, cannot be recommended in the general case for ﬁnding enclosures of the set of all
solutions to linear systems with inexact data, represented by interval coefﬁcients. Bounds
of intermediate quantities tend to grow rapidly especially because of dependence among interval
2008/11/18
page 93
i
i
i
i
i
i
i
i
7.5. Linear Systems with Inexact Data 93
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
R
1
+R
2
−R
2
−R
2
R
2
+R
3
I
1
I
2
=
V
1
−V
2
with V
1
= 10, V
2
= 5, and R
1
= R
2
= R
3
= 1000±10%. We can use the iterative method
(7.7) to ﬁnd enclosures for I
1
and I
2
. In this example, the matrix A in (7.7) can be written
A =
[1800, 2200] −[900, 1100]
−[900, 1100] [1800, 2200]
,
and the righthand side vector is
b =
10
−5
.
Now the midpoint matrix is
m(A) =
2000 −1000
−1000 2000
= 2000
1 −
1
2
−
1
2
1
,
which has the inverse
[m(A)]
−1
=
1
2000
4
3
2
3
2
3
4
3
=
4
6000
2
6000
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 ﬁnd the exact inverse, although in this simple case, we can do it. In
fact, it will sufﬁce to choose as our approximation to [m(A)]
−1
the matrix
Y = 10
−4
6 3
3 6
.
What we need is a matrix Y that makes the norm of E = I − YA smaller than 1, and the
smaller the better. Here, we have
E =
1 0
0 1
−
6 3
3 6
[0.1800, 0.2200] −[0.0900, 0.1100]
−[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
X
(0)
=
Yb
1 −E
[−1, 1]
[−1, 1]
, interval
2008/11/18
page 94
i
i
i
i
i
i
i
i
94 Chapter 7. Interval Matrices
where
Yb = 10
−4
6 3
3 6
10
−5
=
0.0045
0
,
so, with outward rounding to two digits, we can choose
X
(0)
=
[−0.0072, 0.0072]
[−0.0072, 0.0072]
.
Thus we already know at this point that
−7.2 ×10
−3
≤ I
1
≤ 7.2 ×10
−3
,
−7.2 ×10
−3
≤ I
2
≤ 7.2 ×10
−3
for every solution of the mesh equations for the given electric circuit, within the uncertainty
speciﬁed for the inexact data. We can try to improve this initial enclosure, using the interval
iteration formula (7.7), which for this example is
X
(k+1)
1
X
(k+1)
2
=
0.0045
0
+
[−0.05, 0.25] [−0.12, 0.12]
[−0.12, 0.12] [−0.05, 0.25]
X
(k)
1
X
(k)
2
∩
X
(k)
1
X
(k)
2
.
From
X
(0)
=
X
(0)
1
X
(0)
2
=
[−0.0072, 0.0072]
[−0.0072, 0.0072]
,
we obtain
0.0045
0
+
[−0.05, 0.25] [−0.12, 0.12]
[−0.12, 0.12] [−0.05, 0.25]
[−0.0072, 0.0072]
[−0.0072, 0.0072]
=
[0.001836, 0.0117]
[−0.002664, 0.002664]
.
Hence, the set of solutions also is contained in
X
(1)
1
X
(1)
2
=
[0.001836, 0.0117]
[−0.002664, 0.002664]
∩
[−0.0072, 0.0072]
[−0.0072, 0.0072]
=
[0.001836, 0.0072]
[−0.002664, 0.002664]
.
Another iteration yields
0.0045
0
+
[−0.05, 0.25] [−0.12, 0.12]
[−0.12, 0.12] [−0.05, 0.25]
[0.001836, 0.0072]
[−0.002664, 0.002664]
=
[0.00382032, 0.00661968]
[−0.00153, 0.00153]
, interval
2008/11/18
page 95
i
i
i
i
i
i
i
i
7.5. Linear Systems with Inexact Data 95
so the set of solutions is also contained in
X
(2)
1
X
(2)
2
=
[0.00382032, 0.00661968]
[−0.00153, 0.00153]
∩
[0.001836, 0.0117]
[−0.002664, 0.002664]
=
[0.00382032, 0.00661968]
[−0.00153, 0.00153]
.
We could continue the iterations to further sharpen the enclosure. The computations dis
played above illustrate the interval operations needed.
For this example, we can compare the enclosure above with the one found in the
solution of Exercise 7.5. Using a direct method for this small linear system, we found the
sharper enclosure
I
1
= [0.00433, 0.00582], I
2
= [−0.000419, 0.000419].
Exercise 7.6. Use INTLAB to check the above computations. Hint: There are several
ways of doing this. One is to check the computations directly by entering the matrices and
vectors, then doing the matrixvector multiplications, taking midpoints, inversions, etc., in
INTLAB. You can also use the function Krawczyk_step displayed on p. 118 with y = 0
and f (y) = Ay −b, but you will need to check the starting vector separately. Here is a set
of commands to get you started:
A = [infsup(1800,2200), infsup(900,1100);...
infsup(900,1100), infsup(1800,2200)]
B = [10;5]
Y = 10ˆ(4) * [6 3; 3 6]
E = eye(2)  Y*A
xmult = norm(Y*B)/(1mag(norm(E,inf)))
X = xmult * [infsup(1,1);infsup(1,1)]
(Above, you see mag(norm(E,inf)) because INTLAB computes the matrix norm as an
interval, and mag(norm(E,inf)) corresponds to the matrix norm we have deﬁned.) You
can then duplicate the ﬁrst step of the above computations via
X1 = Y*B + E*X
etc. Alternately, to use Krawczyk_step, issue the line
X = intersect(Krawcayk_step(X,[0.0],’example7p5’),X)
where example7p5 (also supplied) is as follows:
function [val] = example7p5(x)
% [y] = example7p5(x) implements Example 7.5 for
% Krawczyk_step
A = [ infsup(1800,2200) infsup(900,1100)
infsup(900,1100) infsup(1800,2200)];
b = [midrad(10,0);midrad(5,0)];
val = A*x  b;
You can then iterate the Krawczyk method by pressing the uparrow key followed by the
return key. However, the results from Krawczyk_step will differ a bit from those on the
preceding pages, because Krawczyk_step uses a more accurate approximation to m(A)
−1
for Y. (See p. 200 for other possible discrepancies.)
interval
2008/11/18
page 96
i
i
i
i
i
i
i
i
96 Chapter 7. Interval Matrices
Exercise 7.7. The INTLAB routine verifylss computes veriﬁed 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 Ais 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
Gx = C, where G = YA and C = YB. (7.9)
Formally solving the ith row of the preconditioned system (7.9) for x
i
, and assuming we
iterate to obtain a new range for X
i
by substituting the ranges for X
j
, j = i, using the
most recent value of X
j
wherever possible, we obtain the iteration equations for the interval
Gauss–Seidel method:
X
(0)
i
is given, 1 ≤ i ≤ n,
˜
X
(k+1)
i
←
1
G
i,i
C
i
−
i−1
j=1
G
i,j
X
(k+1)
j
−
n
j=i+1
G
i,j
X
(k)
j
, i = 1, 2, . . . , n,
X
(k+1)
i
←
˜
X
(k+1)
i
∩ X
(k)
i
,
(7.10)
where G = {G
i,j
}.
In the Krawczyk method, as long as a preconditioner matrix Y is available, the iteration
(7.7) contains no divisions and consists of a single box. However, it could happen that
0 ∈ G
i,i
, where the diagonal element G
i,i
of Gis the denominator in (7.10); thus, analogous
to what we will see in section 8.1 for the univariate interval Newton method, extended
interval arithmetic can be used, and the result of a step of (7.10) can be two boxes. The
following mﬁle computes a step of (7.10) for a single i without intersecting. (That is,
gauss_seidel_step evaluates the right side of the middle assignment in (7.10) for a
given i.) The preconditioner is not given as a matrix but rather is given as a row Y
i
to allow
the preconditioner matrix to be computed rowwise, as explained in [97, Chapter 3]. The
interv
2008/11/
page 97
i
i
i
i
i
i
i
i
7.5. Linear Systems with Inexact Data 97
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.)
function [new_X_i, second_new_X_i, there_are_2,...
numerator, denominator]...
= gauss_seidel_step(i, Y_i, A, B, X)
% [new_X_i, second_new_X_i, there_are_2]...
% = gauss_seidel_step(i, Y_i, A, B, X) returns
% the result of applying a GaussSeidel step with variable i,
% preconditioner matriX Y_i, and initial guess X. The variable
% there_are_2 is set to 1 if 2 semiinfinite intervals are returned,
% in which case second_new_X_i has the second interval; there_are_2
% is set to 0 and second_new_X_i is not set if there is only
% one interval returned.
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:i1)*X(1:i1);
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
interv
2008/11/
page 98
i
i
i
i
i
i
i
i
98 Chapter 7. Interval Matrices
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ﬁle repeatedly calls gauss_seidel_step to do an entire sweep of
(7.10), that is, to compute X
(k+1)
i
, 1 ≤ i ≤ n, given X
(k)
i
, 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 GaussSeidel 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 GaussSeidel sweep is returned in X_kp1.
n = length(B);
Y = inv(mid(A));
error_occurred = 0;
is_empty = 0;
i=1; interval
2008/11/18
page 99
i
i
i
i
i
i
i
i
7.5. Linear Systems with Inexact Data 99
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:
>> A = [ infsup(1800,2200) infsup(900,1100)
infsup(900,1100) infsup(1800,2200)]
intval A =
1.0e+003 *
[ 1.8000 , 2.2000 ] [ 1.1000 , 0.9000 ]
[1.1000 , 0.9000 ] [ 1.8000 , 2.2000 ]
>> b = [midrad(10,0);midrad(5,0)]
intval b =
[ 10.0000 , 10.0000 ]
[ 5.0000 , 5.0000 ]
>> X0 = [infsup(1,1), infsup(1,1)]
intval X0 =
[ 1.0000 , 1.0000 ] [ 1.0000 , 1.0000 ]
>> [X1,is_empty, error_occurred] = Gauss_Seidel_image(A, b, X0)
intval X1 =
[ 0.1541 , 0.1661 ]
[ 0.1601 , 0.1601 ]
is_empty = 0
error_occurred = 0
.
.
.
>> [X6,is_empty, error_occurred] = Gauss_Seidel_image(A, b, X5)
intval X6 =
[ 0.0041 , 0.0062 ]
[ 0.0011 , 0.0011 ]
is_empty = 0
error_occurred = 0
>> [X7,is_empty, error_occurred] = Gauss_Seidel_image(A, b, X6)
intval X7 =
[ 0.0041 , 0.0062 ]
[ 0.0010 , 0.0010 ] interval
2008/11/18
page 100
i
i
i
i
i
i
i
i
100 Chapter 7. Interval Matrices
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 narrowas 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 ﬁrst 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 alsocansolve the linear systemfor selectedreal data fromwithinthe givenintervals
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 coefﬁcients may be found in [13], [57] and in various other references.
An Additional Note The interval Gauss–Seidel method as illustrated in our example
routine Gauss_Seidel_image could be made to execute more quickly with faster imple
mentations of interval arithmetic. Also, designers of methods for veriﬁcation of solutions
generally follow a principle of using ﬂoating point arithmetic to ﬁrst obtain good approxi
mations, wherever possible, resorting to interval computations only where necessary. From
this point of view,
28
the interval Gauss–Seidel method requires more interval arithmetic
than certain other methods of enclosing solution sets.
7.6 More on Gaussian Elimination
Gaussian elimination is an example of an algorithmthat cannot be converted directly into an
intervalarithmeticbased algorithmby simply replacing ﬂoating point operations by interval
operations. This is true even if partial pivoting is used.
It is wellknown that, in the worst case, the errors in the elements of the triangular fac
tors in Gaussian elimination carried out in ﬂoating point arithmetic can grow proportionally
to 2
n−1
, where n is the number of equations and unknowns. This is shown with the famous
example of Wilkinson [248, p. 212]. However, Gaussian elimination with partial pivoting,
carried out in ﬂoating point arithmetic, does not exhibit undue magniﬁcation of roundoff
error for most matrices that occur in practice, although Stephen Wright has presented a
class of matrices that are important in practice, for which Gaussian elimination with partial
pivoting is unstable [249].
In contrast, as we explained on p. 91, if we begin with a point matrix Aand point right
handside vector b, but then use interval arithmetic in the Gaussian elimination algorithm
to obtain veriﬁed bounds on the solution vector x, the typical result is that the widths of the
resulting bounds X will be on the order of 2
n−1
times the rounding error unit, except for
certain special matrices.
29
Furthermore, there is more of a question about how the pivot
28
Assuming that interval computations are expensive compared to ordinary ﬂoating point computations; how
ever, fast implementations in software can be close to a factor of 5.
29
Such as diagonally dominant matrices, Mmatrices, or Hmatrices. interval
2008/11/18
page 101
i
i
i
i
i
i
i
i
7.7. Sparse Linear Systems Within INTLAB 101
element should be chosen, since the pivots become intervals.
30
Indeed, it is likely that all
potential pivots in the jth column will contain zero at some step, due to magniﬁcation of
widths, so that production of ﬁnite 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 ﬁrst use ﬂoating point arithmetic to produce an approximate
inverse Y ≈ A
−1
, then use interval arithmetic to do the matrixmatrix multiplication and
matrixvector multiplication, to produce an interval matrix G that contains the exact matrix
YAand an interval vector C that contains the exact vector Yb. 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 systemAx = B is an interval systemof 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.
7.7 Sparse Linear Systems Within INTLAB
MATLAB has a sparse matrix format, and the routines in INTLAB (and in particular
verifylss) can use this sparse format. Depending upon how wide the intervals are,
the structure of the matrix, and the condition of the matrix, meaningful answers can be
obtained for some very large matrices. Here, we will give an example with cursory ex
planation; complete understanding of this example can be obtained by studying the sparse
matrix format within MATLAB’s help system.
Example 7.6. Suppose we wish to bound the solutions to Ax = b, where A is the 1000 by
1000 matrix given by
A =
[2.9999, 3.0001] −1 0 · · ·
−1 [2.9999, 3.0001] −1 0 · · ·
.
.
.
.
.
.
0 · · · 0 −1 [2.9999, 3.0001]
,
and b ∈ R
1000
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 x
i
where, in general x
i
= x
j
, although each x
i
lies in the interval
30
One way of choosing a pivot element during the jth step would be to choose A
i
0
,j
to be the pivot row, where
i
0
= argmax
i
mig(A
i,j
)
, where “mig” is the mignitude deﬁned on p. 87. interval
2008/11/18
page 102
i
i
i
i
i
i
i
i
102 Chapter 7. Interval Matrices
[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.)
AMATLAB 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,1e4)
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).
Material on mathematically rigorous bounds to solutions of sparse systems of equa
tions can be found in [221] and [226]. interval
2008/11/18
page 103
i
i
i
i
i
i
i
i
7.8. Final Notes 103
7.8 Final Notes
Mayer, Alefeld, Rohn, and others have made signiﬁcant advances in characterizing the
solution sets to interval linear systems. These results include characterizing necessary
and sufﬁcient conditions for when interval Gaussian elimination and other algorithms for
bounding solution sets can be carried out and when they give sharp enclosures for the
solution sets. They also include results for interval matrices with assumed dependency in
their entries, such as for symmetric, persymmetric, Toeplitz, and Hankel matrices. Günter
Mayer provided an excellent review of this in [140].
Jiri Rohn, aside from his role as a leader in these developments and in the analysis
of computational complexity in interval numerical linear algebra, has made available a
sizeable suite of INTLAB programs for interval linear systems of equations. He has written
a concise summary of results on interval linear problems. See Appendix D.
In the next chapter, the ideas and techniques discussed in Chapters 6 and 7 are used to
develop methods for mathematically rigorous bounds on the solutions to nonlinear systems
of equations. interval
2008/11/18
page 104
i
i
i
i
i
i
i
i interval
2008/11/18
page 105
i
i
i
i
i
i
i
i
Chapter 8
Interval Newton Methods
In Chapter 6, we discussed iterative interval methods for solving equations in ﬁxedpoint
form. Given an equation
x = f (x), (8.1)
we take an interval extension F of f (which is automatically inclusion isotonic if f is
rational) and set up an iterative procedure of the form
X
k+1
= F(X
k
) ∩ X
k
(k = 0, 1, 2, . . .). (8.2)
If we start with an X
0
such that F(X
0
) ⊆ X
0
, then (8.2) produces a nested sequence of
intervals {X
k
} convergent to an interval X
∗
such that X
∗
= F(X
∗
) and X
∗
⊆ X
k
for all
k = 0, 1, 2, . . .. On a computer, the procedure can be halted when X
k+1
= X
k
; using IA
at a speciﬁc 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.
8.1 Newton’s Method in One Dimension
Our approach will be to initially develop Newton’s method in its simplest form. Let f be a
realvalued function of a real variable x, and suppose that f is continuously differentiable.
By the mean value theorem, we can write
f (x) = f (y) + f
(s)(x − y) (8.3)
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 interval
2008/11/18
page 106
i
i
i
i
i
i
i
i
106 Chapter 8. Interval Newton Methods
Asolution x, if it exists, would satisfy
f (y) +f
(s)(x −y) = 0 (8.5)
for any y ∈ [a, b], in particular for y = m([a, b]) = (a +b)/2. Hence,
x = y −f (y)/f
(s). (8.6)
Let F
(X) be an inclusion monotonic interval extension of f
(x) and consider the algorithm
X
(k+1)
= X
(k)
∩ N(X
(k)
) (k = 0, 1, 2, . . .), (8.7)
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, . . ., deﬁned by (8.7). Furthermore, the intervals X
(k)
form a nested sequence
converging to x if 0 / ∈ F
(X
(0)
).
Proof. If 0 / ∈ F
(X
(0)
), then 0 / ∈ F
(X
(k)
) for all k and m(X
(k)
) is not contained in N(X
(k)
),
unless f (m(X
(k)
) = 0. Therefore w(X
(k+1)
) <
1
2
w(X
(k)
). Convergence of the sequence
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)
An interval extension of f
(x) = 2x is F
(X) = 2X. Hence,
N(X) = m(X) −
[m(X)]
2
−2
2X
,
and (8.7) looks like
X
(k+1)
= X
(k)
∩
m(X
(k)
) −
[m(X
(k)
)]
2
−2
2X
(k)
.
Taking X
(0)
= [1, 2], we obtain
X
(1)
= [
22
16
,
23
16
],
X
(2)
= [1.41406 . . . , 1.41441 . . .],
X
(3)
= [1.414213559 . . . , 1.414213566 . . .].
Of course, (8.4) has solution x =
√
2. Rounding X
(3)
out at the eighth place, we see that
√
2 lies in [1.41421355, 1.41421357]. interval
2008/11/18
page 107
i
i
i
i
i
i
i
i
8.1. Newton’s Method in One Dimension 107
The rapid convergence exhibited here is a consequence of the fact that the interval
Newton method is asymptotically error squaring. Aformal 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
[x
1
, x
2
] for which F([x
1
, x
2
]) is deﬁned and F
([x
1
, x
2
]) is deﬁned and does not contain
zero, there is an interval X
0
⊆ [x
1
, x
2
] 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 xaxis, the new interval X
(k+1)
is deﬁned 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 ﬁgure, the blue slopes
represent the lower bounds on F
(X
(k)
), and the red slopes represent the upper bounds on
F
(X
(k)
).)
X
(k)
X
(k)
(k)
m( )
X
X
(k+1)
Figure 8.1. Geometrical interpretation of the univariate interval Newton method.
Exercise 8.2. Show that X
(k)
= X
(3)
for all k > 3 in Example 8.1. That is, show that we
have ﬁnite convergence to eight places in three iterations.
interv
2008/11/
page 108
i
i
i
i
i
i
i
i
108 Chapter 8. Interval Newton Methods
If the intersection X
(k)
∩ N(X
(k)
) in (8.7) is empty, there is no zero of f in X
(k)
.
Exercise 8.3. Illustrate this by taking X
(0)
= [4, 6] in Example 8.1.
Example 8.2. The iteration equation (8.7) can be implemented easily with INTLAB in the
following mﬁle i_newton_step.m:
function [NX_intersect_X, is_empty] = i_newton_step(f,f_prime,X)
% [NX_intersect_X, is_empty] = i_newton_step(f,f_prime,X)
% returns the result of a single step of the interval Newton
% method for a single variable, as defined in (8.8) of
% the text, using X as initial interval. The string f should
% be the name of an "m" file for evaluating the function,
% while the string "f_prime" should be the name of an "m"
% file for evaluating the derivative of f. The flag "is_empty"
% is set to "0" if the intersection is nonempty, and is set
% to "1" if the intersection is empty.
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ﬁles:
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ﬁles, 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 interval
2008/11/18
page 109
i
i
i
i
i
i
i
i
8.1. Newton’s Method in One Dimension 109
>> [X,is_empty] = i_newton_step(’example8p1’,’example8p1_prime’,X)
intval X = [ 1.41421356237309 , 1.41421356237310 ]
is_empty = 0
>> [X,is_empty] = i_newton_step(’example8p1’,’example8p1_prime’,X)
intval X = [ 1.41421356237309 , 1.41421356237310 ]
is_empty = 0
Exercise 8.4. It is important for mathematical rigor to deﬁne midX as infsup(mid(X),
mid(X)) rather than simply as mid(X). Explain.
Withsome extra knowledge of the toolboxes distributedwithINTLAB, there is noneed
to explicitly program the derivative, since the “gradient” package, supplying automatic (or
computational) differentiation capabilities within INTLAB, may be used. (One of the ﬁrst
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ﬁle:
function [NX_intersect_X, is_empty] = i_newton_step_no_fp(f,X)
% [NX_intersect_X, is_empty] = i_newton_step(f,f_prime,X)
% returns the result of a single step of the interval Newton
% method for a single variable, as defined in (8.6) of
% the text, using X as initial interval. The string f should
% be the name of an "m" file for evaluating the function,
% while the string "f_prime" should be the name of an "m"
% file for evaluating the derivative of f. The flag "is_empty"
% is set to "0" if the intersection is nonempty, and is set
% to "1" if the intersection is empty.
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?)
Extended Interval Arithmetic
Let us continue to consider the function (8.9). After all, it has another zero, −
√
2. It would
be nice if we could choose a sufﬁciently wide starting interval to encompass both zeros and
ﬁnd them both. However, for (8.9), a starting interval such as [−2, 2] would violate the interval
2008/11/18
page 110
i
i
i
i
i
i
i
i
110 Chapter 8. Interval Newton Methods
condition 0 / ∈ F
(X
(0)
) in the proof of Theorem 8.1. This situation can be handled using
extended interval arithmetic.
The deﬁnition of interval division can be extended as follows. Recall that
[a, b]/[c, d] = [a, b](1/[c, d]),
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 speciﬁes three cases:
31
1. If c = 0 < d, then 1/[c, d] = [1/d, +∞).
2. If c < 0 < d, then 1/[c, d] = (−∞, 1/c] ∪ [1/d, +∞).
3. If c < d = 0, then 1/[c, d] = (−∞, 1/c].
We will not allow the case c = d = 0 here.
This deﬁnition makes the most sense if we keep in mind that the result of the operation
should be the set of all possible values that can be obtained as we select numbers from the
interval operand.
Exercise 8.6. Use extended interval arithmetic to compute 1/[−24, 3].
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 ﬁnite interval X
in the iteration formula
X
(k+1)
= N(X
(k)
) ∩ X
(k)
,
we obtain two disjoint ﬁnite 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,
N(X
(0)
) = m(X
(0)
) −f (m(X
(0)
))/f
(X
(0)
)
= 0 −{−2/[−4, 4]}
= 1/[−2, 2]
=
−∞, −
1
2
∪
1
2
, ∞
.
31
These deﬁnitions can be derived according to Cset theory, which we brieﬂy describe on p. 113. There is some
variation, depending on whether −∞ and ∞ are included in the underlying set. These deﬁnitions 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.
interv
2008/11/
page 111
i
i
i
i
i
i
i
i
8.1. Newton’s Method in One Dimension 111
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
]
X
[
(1)
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 ﬁnite intervals,
X
(1)
=
−2, −
1
2
∪
1
2
, 2
.
This is illustrated in Figure 8.2.
We can momentarily put aside one of these two intervals, say,
−2, −
1
2
, and set
X
(0)
=
1
2
, 2
. After convergence for that case (which we have already seen), we can go
back and set X
(0)
=
−2, −
1
2
to ﬁnd the other root in [−2, 2]. In this way, the interval
Newton method can ﬁnd all the zeros of a function in a given starting interval.
A more difﬁcult case was carried out [154] for ﬁnding all the zeros of the function
deﬁned by
f (x) = x
2
+sin(1/x
3
) for x in [0.1, 1].
After repeated splittings and eventual convergence of all the generated subintervals, all 318
zeros in [0.1, 1] were found, each within computed intervals of width less than 10
−10
. They
are packed very close together, especially near x = 0.1. The closest zero of f to that left
endpoint of the starting interval [0.1, 1], is contained in [0.10003280626, 0.10003280628].
Exercise 8.7. Use the interval Newton method with extended arithmetic to ﬁnd all zeros of
the polynomial x
3
−5x −1. (You may corroborate your results with alternate techniques.)
Start with an interval in which you know all roots lie.
Exercise 8.8. It can be shown [234] that if a wooden sphere has radius 1 ft and speciﬁc
gravity
2
3
, then the depth h (in ft) to which it will sink in water is given by h
3
−3h
2
+
8
3
= 0.
Find h.
The interval arithmetic in INTLAB does not implement sharp extended arithmetic;
division A/B by any interval B that contains zero results in the interval [−∞, ∞]. This is
a “correct” enclosure of the exact range of the operation but is in general not “sharp,” since
it contains many values that are not obtainable as a/b for a ∈ A and b ∈ B. However, we
may use the following function: interval
2008/11/18
page 112
i
i
i
i
i
i
i
i
112 Chapter 8. Interval Newton Methods
function [Y1,Y2,two] = xreciprocal(X)
%[Y1,Y2,two] = xreciprocal(X) returns the extended reciprocal
% of X defined by the three cases above Exercise 8.5 in the
% text. The return value two is set to 0 if only one interval
% is returned and is set to 1 if two intervals are returned.
% If X does not contain zero, the result of ordinary
% interval division is returned in Y1, and two is set to 0.
% In the case inf(X) = sup(X) = 0, avoided in the text,
% two is set to 1, and two empty intervals are returned.
% (INTLAB represents an empty interval as infsup(NaN,NaN) )
% In cases where there is only one interval, Y2 is set
% to INTLAB’s representation of the empty interval.
if (inf(X) > 0)  (sup(X) < 0) % do ordinary interval division
two=0;
Y1 = 1/X;
Y2 = infsup(NaN,NaN);
elseif (inf(X)==0) & (sup(X) > 0) % Case 1 of the text 
two=0;
lower_bound = infsup(1,1) / infsup(sup(X),sup(X));
Y1 = infsup(inf(lower_bound),Inf);
Y2 = infsup(NaN,NaN);
elseif (inf(X)<0) & (sup(X) > 0) % Case 2 of the text 
two=1;
upper_bound = infsup(1,1) / infsup(inf(X),inf(X));
Y1=infsup(Inf,sup(upper_bound));
lower_bound = infsup(1,1) / infsup(sup(X),sup(X));
Y2 = infsup(inf(lower_bound),Inf);
elseif (inf(X) < 0) & (sup(X) == 0) % Case 3 of the text 
two = 0;
upper_bound = infsup(1,1) / infsup(inf(X),inf(X));
Y1=infsup(Inf,sup(upper_bound));
Y2 = infsup(NaN,NaN);
else % This is the case where X=0, not covered in the text 
two =1;
Y1 = infsup(NaN,NaN);
Y2 = infsup(NaN,NaN);
end
The function xreciprocal can be used to automate the computations explained above
for ﬁnding 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. interval
2008/11/18
page 113
i
i
i
i
i
i
i
i
8.1. Newton’s Method in One Dimension 113
In case we wish to ﬁnd intervals containing the roots of a rational function f which
has coefﬁcients 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 coefﬁcients and use the more
general form
N(X) = m(X) −
F(m(X))
F
(X)
(8.10)
for the Newton iteration function N(X).
Example 8.3. To ﬁnd the roots of f (x) = x
2
−c that lie in the interval [1, 2], for c ∈ [2, 3],
we can put
F(X) = X
2
−[2, 3], F
(X) = 2X, X
0
= [1, 2],
and ﬁnd N(X
0
) ⊆ [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 ﬁnd 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 speciﬁc examples.
Exercise 8.11. The current I (mA) ﬂowing in a diode circuit satisﬁes the equation 1 −I −
0.0052 ln(10
9
I) = 0. Solve by the Newton method.
Exercise 8.12. The oddnumbered transverse electric modes of a glass slab waveguide have
permitted incidence angles θ
i
given by [83],
tan
3
2
π cos θ
i
=
sin
2
θ
i
−(9/4)
−1
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 ﬁrst such work, still widely referenced and the basis of what
followed, is “Kahan arithmetic” [89]; the extended reciprocation deﬁned here can
be considered to contain elements of Kahan arithmetic. The extended reciprocation
deﬁned here serves well in the context of our univariate interval Newton algorithm.
However, there are contexts when it is useful to represent both semiinﬁnite 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 efﬁciency interval
2008/11/18
page 114
i
i
i
i
i
i
i
i
114 Chapter 8. Interval Newton Methods
of the operations when using standards such as the IEEE 745 standard for binary
ﬂoating 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 R
n
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 deﬁned 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 deﬁnitions (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/0as the set [−∞, −∞]∪[∞, ∞], rather thanthe emptyset; 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
N(X) = 0 −
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
˜
N(X) = m(X) − F(m(X)) ·
1
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
˜
N(X) = [0, 0]. Thus, in this case,
˜
N(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 deﬁnitions
of 0/[−1, 1] and 0 · (−∞, ∞) are implemented in many currently available and
proposed systems for doing interval arithmetic. interval
2008/11/18
page 115
i
i
i
i
i
i
i
i
8.1. Newton’s Method in One Dimension 115
In contrast, if we assume the twopoint compactiﬁcation of R, that is, if we assume
that −∞and ∞are numbers in the system, then the Cset of 0/[−1, 1] is [−∞, ∞],
while the Cset of the product 0 · [−∞, ∞] must contain the Csets of 0 · −∞ and
0 · ∞. However, the set of all limits of x · y as x → 0 and y → ±∞is [−∞, ∞],
so N(X) =
˜
N(X) = [−∞, ∞], and it is not critical how N(X) is implemented.
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 undeﬁned result.”
4. A ﬁnal issue related to interval Newton methods and to the Krawczyk method we
present in the next section is how to deﬁne 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 simpliﬁcation of the Brouwer
ﬁxedpoint theorem
32
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 deﬁne 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].
In contrast, suppose we knew that x ∈ [−4, 4] and that x = (x + 3)
2
, and we
wanted to ﬁnd a narrower interval than [−4, 4] in which x must lie, if such an x exists
in [−4, 4]. (Such computations are important in various systems found in practice,
involvingconstraint propagation.) We wouldthenhave x =
√
x−3, or x = −
√
x−3,
and the above computation correctly gives x ∈ [−3, −1] ∩ [−4, 4] = [−3, −1] or
x ∈ [−5, −3] ∩ [−4, 4] = [−4, −3], whence x ∈ [−4, −1], a correct result. (We
may then plug [−4, −1] into the original equation to obtain x ∈ ([−4, 1] + 3)
2
=
[−1, 4]
2
= [0, 16], and, since [−3, −1] ∩ [0, 16] = 0, we conclude that there is no
x ∈ [−4, 4] satisfying x = (x +3)
2
.)
Thus, evaluation of an interval extension over an interval that is partially out of
the domain will not lead to a practical result in the case of proving existence of
solutions but does lead to a practical result in the case of constraint propagation. One
proposal for handling this problem in implementations of interval arithmetic is with a
“discontinuous” ﬂag
33
that is raised when functions are evaluated over intervals that
lie partially outside their domains.
After issuing a warning, INTLAB returns the complex interval [−2, 2] +[−2, 2]i for
√
[−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 ﬁxedpoint theorem.
33
Similar to the “inexact” ﬂag and other ﬂags that are raised in systems conforming to the IEEE 754 standard
for binary ﬂoating point arithmetic. interval
2008/11/18
page 116
i
i
i
i
i
i
i
i
116 Chapter 8. Interval Newton Methods
8.2 The Krawczyk Method
In this and the following sections, we consider ﬁnite systems of nonlinear equations
f
1
(x
1
, . . . , x
n
) = 0,
.
.
. (8.11)
f
n
(x
1
, . . . , x
n
) = 0,
which we may write in vector notation as
f (x) = 0. (8.12)
In this section, we consider the Krawczyk method (ﬁrst 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 f
i
are exactly representable realvalued
functions, or (2) the functions f
i
have coefﬁcients known only to lie in certain intervals.
We will discuss case (1) ﬁrst 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
, deﬁned
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
= ∂f
i
(x)/∂x
j
at x = m(X). Let y
be a real vector contained in the interval vector X ⊆ D. Deﬁne K(X) by
K(X) = y −Yf (y) +{I −YF
(X)}(X −y). (8.13)
If K(X) ⊆ X, then (8.12) has a solution in X. It is also in K(X).
An early work containing the proof of this theorem is [150]. The proof is based on
a generalization of the Brouwer ﬁxedpoint theorem, or a speciﬁc instance of the Schauder
ﬁxedpoint theorem. Namely, if X is a closed convex subset of R
n
, and g maps X into itself,
then g has a ﬁxed point x
∗
, x
∗
= g(x
∗
), x
∗
∈ X.
Proof (of Theorem8.2). Deﬁne g(y) = y −Yf (y). Then, since Y is nonsingular, g(y) = y
if and only if f (y) = 0. Thus, if there exists an x ∈ X such that g(x) = x, that is, if there
is a ﬁxed point of g in x, then there is a solution to f (x) = 0 in x. However, if by g
(y) we
mean the Jacobian matrix of g at y, then
g
(y) = I −Yf
(y).
Therefore, the mean value extension (see (6.25)) of g over X about the point y ∈ X is
simply
34
y −Yf (y) +{I −YF
(X)}(X −y) = K(X).
34
Here, we have (6.25) for each component of f . interval
2008/11/18
page 117
i
i
i
i
i
i
i
i
8.2. The Krawczyk Method 117
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 ﬁxedpoint theorem hold, so g has a ﬁxed
point in X, so f (x) = 0 has a solution in X.
If the interval vector X = (X
1
, . . . , X
n
) is an ncube so that w(X
i
) = w(X) for
i = 1, . . . , n, and if we choose y = m(X), then K(X) lies in the interior of X if
K(X) − m(X) < w(X)/2. (8.14)
Thus, for an ncube X, (8.14) is sufﬁcient for the existence of a solution to (8.12) in X. The
same condition (8.14), which can be veriﬁed computationally by evaluating K(X), is also
sufﬁcient to guarantee convergence of the interval Krawczyk method.
Theorem 8.3. Let X be an ncube, y = m(X), and Y a nonsingular real matrix. Suppose
(8.14) is satisﬁed. 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]:
X
(k+1)
= X
(k)
∩ K(X
(k)
) (k = 1, 2, . . .), (8.15)
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
Y
(k)
=
Y, an approximation to [m(F
(X
(k)
))]
−1
if
I − YF
(X
(k)
)
≤
I − Y
(k−1)
F
(X
(k−1)
)
,
Y
(k−1)
otherwise.
Example 8.4. Consider the system of equations
f
1
(x
1
, x
2
) = x
2
1
+ x
2
2
− 1 = 0,
f
2
(x
1
, x
2
) = x
1
− x
2
2
= 0. (8.16)
For f
we have the Jacobian matrix
f
(x) =
2x
1
2x
2
1 −2x
2
. (8.17)
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:
F
1
(X) = X
2
1
+ X
2
2
− 1,
F
2
(X) = X
1
− X
2
2
,
and F
(X) =
2X
1
2X
2
1 −2X
2
.
interval
2008/11/18
page 118
i
i
i
i
i
i
i
i
118 Chapter 8. Interval Newton Methods
Suppose we decide to try X = ([0.5, 0.8], [0.6, 0.9])
T
. Then, we have
m(F
(X)) =
m([1, 1.6]) m([1.2, 1.8])
m([1, 1]) m([−1.8, −1.2])
=
1.3 1.5
1 −1.5
.
As an approximate inverse of this matrix, we will take
Y =
0.43 0.43
0.29 −0.37
. (8.18)
Putting y = (0.65, 0.75)
T
= m(X), we ﬁnd from (8.13) for the 2cube X,
K(X) ⊆ ([0.559, 0.68], [0.74, 0.84])
T
.
Since K(X) − m(X) = 0.091 < w(X)/2 = .15, the hypotheses for Theorem 8.3 are
satisﬁed. 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 ﬁnite 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ﬁle:
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 noninterval column vector contained in X, and
% that f is the desired function in an "m" file that returns
% a column vector.
% First compute f(y) using interval arithmetic to bound
% roundoff error 
n=length(X);
iy = midrad(y,0);
fy = feval(f,iy);
% Now compute F’(X) and the preconditioning matrix Y 
Xg = gradientinit(X);
FXg = feval(f,Xg);
Y = inv(mid(FXg.dx)); interval
2008/11/18
page 119
i
i
i
i
i
i
i
i
8.2. The Krawczyk Method 119
% Finally, compute the actual Krawczyk step 
KX = y  Y*fy + (eye(n,n)  Y*FXg.dx) * (X  y);
Since INTLAB’s gradient package is used in Krawczyk_step.m, there is no need to
explicitly program the Jacobian matrix. To use Krawczyk_step to do the computations
above for Example 8.4, we supply the following mﬁle:
function [f] = example8p4(x)
% [fx] = example8p4(x) returns the components f_1 and f_2
% for Example 8.4 of the text in f. It is important that
% the return value f be a column vector. (If f is defined
% by componentwise assignment f(1) = ..., f(2) = ..., then
% Matlab represents f as a row vector by default, and one
% must take f=f’.)
f = [x(1)ˆ2 + x(2)ˆ2  1
x(1)  x(2)ˆ2];
The MATLAB command window dialogue can then be as follows:
>> X = [infsup(.5,.8)
infsup(.6,.9)]
intval X =
[ 0.50000000000000 , 0.80000000000001 ]
[ 0.59999999999998 , 0.90000000000001 ]
>> y = mid(X)
y = 0.650000000000000
0.750000000000000
>> Kx = Krawczyk_step(X,y,’example8p4’)
intval Kx =
[ 0.55978260869565 , 0.67717391304348 ]
[ 0.74427536231884 , 0.83036231884059 ]
Exercise 8.13. Using INTLAB, repeat Example 8.4 with f
2
replaced by f
2
(x
1
, x
2
) =
x
1
−x
2
.
Exercise 8.14. An electric circuit is described by the equations
20 −20I −V = 0, I −
V
20
−10
−9
e
V/0.052
= 0.
Find I and V using INTLAB.
Exercise 8.15. The state (x
1
, x
2
) of a certain nonlinear systemis described by the differential
equations [110]
dx
1
dt
= 0.5[−h(x
1
) +x
2
],
dx
2
dt
= 0.2(−x
1
−1.5x
2
+1.2),
where h(x
1
) = 17.76 x
1
−103.79 x
2
1
+229.62 x
3
1
−226.31 x
4
1
+83.72 x
5
1
. Use the Krawczyk
method within INTLAB to ﬁnd the system’s critical points. interval
2008/11/18
page 120
i
i
i
i
i
i
i
i
120 Chapter 8. Interval Newton Methods
Exercise 8.16. If the semicolonis removedfromthe endof a line inanmﬁle, thenMATLAB
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 “epsiloninﬂation” process, commonly used today, was introduced. Epsilon
inﬂation 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ﬁle verifynlss, supplied with INTLAB. verifynlss uses ﬂoating 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 ﬂoating 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 ﬁnd 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 f
i
in (8.11)
have coefﬁcients 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 coefﬁcients and
such that f
(x) is contained in F
(X) for every choice of real constants from the interval
coefﬁcients and for every x in X. We replace f (y
(k)
) in (8.15) by F(y
(k)
), and the condition
(8.14) nowimplies that the system (8.11) has a solution in X (perhaps a set of them) and that interval
2008/11/18
page 121
i
i
i
i
i
i
i
i
8.3. Safe Starting Intervals 121
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 ﬁnite number of steps (using IA) to an interval vector
containing all the solutions to (8.11) in X for any choice of the real coefﬁcients from the
given interval coefﬁcients. Thus we can compute bounds on the set of possible solutions
in X.
8.3 Safe Starting Intervals
A safe starting interval for the interval Newton method is an X
(0)
from which the method
(8.15) converges to a solution of a given nonlinear systemof the form (8.11) or (8.12). From
Theorem 8.3, X
(0)
is a safe starting interval if (8.14) holds; equivalently if K(X
(0)
) ⊂ X
(0)
,
that is, if K(X
(0)
) is contained in the interior of X
(0)
,
K(X
(0)
) ⊂ X
(0)
=⇒ a solution is in K(X
(0)
). (8.19)
From Theorem 8.2, with K(X) deﬁned by (8.13), if K(X) ⊆ X, there is a solution
in X, and it is also in K(X), so there is a solution in the intersection K(X) ∩ X. It follows
that if K(X) ∩ X is empty, there is no solution in X:
K(X) ∩ X = ∅ =⇒ no solution in X. (8.20)
In searching within a region B of interest, where we would like to ﬁnd solutions, we
can delete any part of B for which (8.20) holds. Furthermore, the extended deﬁnition of
interval division discussed following Exercise 8.3, which splits an interval and produces a
gap containing no solutions, can be extended to systems of nonlinear equations.
Example 8.5. We reconsider Exercise 8.12 to illustrate how we can ﬁnd safe starting
intervals. We are interested in ﬁnding all solutions that lie in the interval [
π
8
,
π
2
] to the
equation
tan
3
2
π cos θ
i
=
sin
2
θ
i
−(9/4)
−1
cos θ
i
.
We can rewrite the equation in the form f (x) = 0, using x instead of θ
i
, where
f (x) = cos(x) tan
3
2
π cos x
−
(sin x)
2
−
4
9
.
The problem presents the interesting challenge that f (x) is not deﬁned on all of the interval
of interest
π
8
,
π
2
.
We can ﬁnd the expression for
K(X) = y −Yf (y) +{I −YF
(X)}(X −y)
for this example as follows. For the derivative of f (x), we ﬁnd that
f
(x) = −tan
3
2
π cos x
(sin x) −
3
2
π
sin x
cos
2
3
2
π cos x
(cos x)
−3
sin x
√
5 −9 cos
2
x
cos x. (8.21) interval
2008/11/18
page 122
i
i
i
i
i
i
i
i
122 Chapter 8. Interval Newton Methods
We cannot evaluate the natural interval extension of f
(x) for the interval X =
π
8
,
π
2
for
several reasons.
First, the term
√
5 −9 cos
2
x deﬁnes only a realvalued function for values of x such
that 5 −9 cos
2
x ≥ 0. This will be the case only if cos
2
x ≤
5
9
. 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
(
5
9
),
π
2
= [0.7297276562 . . . , 1.570796326 . . .].
Furthermore,
tan
3
2
π cos x
= sin
3
2
π cos x
/ cos
3
2
π cos x
,
so both the ﬁrst and second terms in (8.21) have cos(
3
2
π cos x) in the denominator, and
there is a division by 0 in those two terms for x such that
3
2
π cos x =
π
2
. This happens for
x = cos
−1
(
1
3
) = 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
(
1
3
)] and [cos
−1
(
1
3
),
π
2
]. To 10 places, these are the intervals
cos
−1
(
5
9
), cos
−1
(
1
3
)
= [0.7297276562 . . . , 1.230959417 . . .]
and
cos
−1
(
1
3
),
π
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 tothe unique solutioninX
(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)
.
3. K(X
(0)
) ∩X
(0)
= ∅ =⇒ no conclusion, but we can restart with X
(0)
NEW
= K(X
(0)
) ∩
X
(0)
.
4. K(X
(0)
) is not deﬁned. In this case, we can bisect X
(0)
and process each half sepa
rately.
Note. K(X
(0)
) ⊂ int(X
(0)
) =⇒ there exists a unique solution to f (x) = 0 in X
only if f is continuous over X. However, it is useful in some types of interval systems
to produce interval values even if part of the domain interval X lies outside the domain
of the function. For example, if we have y = x
3/2
− 1/2, and X =
−
1
2
,
1
2
, then we
might evaluate
−
1
2
,
1
2
3/2
by ignoring the part of X where x
3/2
is undeﬁned, thus obtaining interval
2008/11/18
page 123
i
i
i
i
i
i
i
i
8.4. Multivariate Interval Newton Methods 123
X
3/2
⊆
0, 2
−3/2
⊆ [0, 0.3536], and x
3/2
−1/2 ⊆ [−0.5, −0.1464]. Acorrect conclusion
would be that if y = x
3/2
− 1, then y ∈ [−0.5, −0.1464]. However, if we were looking
at ﬁxedpoint iteration x
k+1
= g(x
k
) 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 ﬁxed point
in X; indeed, the only solution to g(x) = x lies in [1.1913, 1.1917]. The problem is that
the ﬁxedpoint 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 allowevaluation over partial ranges, but raise a discontinuous
flag if the function is not deﬁned over part of the range.
Exercise 8.20. Issue the command sqrt(infsup(1,1)) in INTLAB. Explain what
INTLAB returns. Is that a reasonable alternative for handling this case? Would this lead to
incorrect conclusions concerning existence and uniqueness?
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.
Exercise 8.21. Write a routine
[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_uniquenessshould set narrower_Xto Xif 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 INTLABexamples 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 ﬁrst
blank line, to the command window.)
Exercise 8.22. Use either Krawczyk_step or verifynlss to compute narrow bounds
on the two solutions in Example 8.5.
8.4 Multivariate Interval Newton Methods
An alternative to the Krawczyk method can be developed more closely analogously to the
univariate case. In particular, using the notation for f and F
from (8.11), (8.12), and
Theorem 8.2, we have the following analogues to (8.5), (8.6), and (8.7). First, (8.5)
f (y) −f (x) = A(y −x) (8.22)
interv
2008/11/
page 124
i
i
i
i
i
i
i
i
124 Chapter 8. Interval Newton Methods
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 form
35
A
i,:
= ∇
T
f
i
(c
i
) =
∂f
i
∂x
1
(c
i
), . . . ,
∂f
i
∂x
n
(c
i
)
,
where c
i
∈ R
n
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 ∈ R
n
. 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
A(y −x) = f (y), (8.23)
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 Atakes 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 deﬁne 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
x ∈ N(X) = y +V, where V bounds the solution set to F
(X)v = −F(y). (8.25)
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].
Theorem8.4. Suppose f has continuous partial derivatives over XandF
(X) is anelement
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
N(X) ⊂ int(X) =⇒ f has a unique solution in X that is also in N(X).
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 G
i,i
in (7.10) could contain zero, and we have a ﬁfth 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 jth 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].
interv
2008/11/
page 125
i
i
i
i
i
i
i
i
8.4. Multivariate Interval Newton Methods 125
For example, the following nonlinear_Gauss_Seidel_image function can be
used in place of the Krawczyk_step function on p. 118:
function [NX,error_occurred] = nonlinear_Gauss_Seidel_image(X,y,f)
% [NX,error_occurred] = nonlinear_Gauss_Seidel_image(X,y,f)
% returns the image of X from a single sweep of the nonlinear
% GaussSeidel method, with base point y, where
% the function is programmed in the function whose name is in
% the string f. If error_occurred = 1, no image NX is returned;
% otherwise, error_occurred = 0 is returned.
% 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 noninterval column vector contained in X, and
% that f is the desired function in an "m" file that returns
% a column vector.
% First compute f(y) using interval arithmetic to bound
% roundoff error 
n = length(X);
iy = midrad(y,0);
fy = feval(f,iy);
% Now compute F’(X) and the preconditioning matrix Y 
Xg = gradientinit(X);
FXg = feval(f,Xg);
% Compute the initial V 
V = Xy;
% Now, do the GaussSeidel sweep to find V 
[new_V,is_empty,error_occurred] = Gauss_Seidel_image(FXg.dx, fy, V);
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’)
interv
2008/11/
page 126
i
i
i
i
i
i
i
i
126 Chapter 8. Interval Newton Methods
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 ﬁrst iteration is contained in the corresponding image after
the ﬁrst 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)ˆ21;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 = Xy
intval V =
[ 0.1501 , 0.1500 ]
[ 0.1501 , 0.1500 ]
>> Y = [.43 .43; .29 .37]
Y =
0.4300 0.4300
0.2900 0.3700 interval
2008/11/18
page 127
i
i
i
i
i
i
i
i
8.5. Concluding Remarks 127
>> [new_V_1, V12, there_are_2, num, denom] ...
= gauss_seidel_step(1,Y(1,:),fprimex, fy, V)
intval new_V_1 = [ 0.0813 , 0.0088 ]
intval V12 = [ 0.1501 , 0.1500 ]
there_are_2 = 0
intval num = [ 0.0699 , 0.0076 ]
intval denom = [ 0.8599 , 1.1181 ]
>> new_X(1) = y(1)+new_V_1
intval new_X = [ 0.5687 , 0.6588 ]
Note We have stated the multidimensional interval Newton method somewhat more gen
erally than the univariate one. In the univariate case, we ﬁxed 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).
8.5 Concluding Remarks
See Hansen and Walster [57] (especially their Chapters 9 and 11) for a thorough discussion
of interval Newton methods for nonlinear equations and nonlinear systems of equations.
A treatment of the theory underlying the Krawczyk operator, the interval Gauss–Seidel
operator, and other aspects of interval techniques for linear and nonlinear systems appears
in [167].
It is possible to use a slope matrix (see p. 72) instead of a componentwise extension
to the Jacobian matrix in the interval Newton method. In [257], Shen and Wolfe study slope
enclosures and show that, in using them in the Krawczyk method, the method has higher
existenceproving power than the Newton–Kantorovich theorem.
36
However, if slopes are
used in interval Newton methods, uniqueness is lost. In [219], Rump discusses this and
explains an efﬁcient twostage method whereby slopes can be used to prove both existence
and uniqueness.
Anumber of experts in interval computations have produced software that automati
cally ﬁnds all solutions, with mathematical rigor, to systems of nonlinear equations. Some
of our work, publicly available, is GlobSol. GlobSol implements a branchandbound
method in combination with computational existence and uniqueness based on a multivari
ate interval Newton method to ﬁnd all global optimizers of unconstrained or constrained
optimization problems or (with conﬁguration variable NONLINEAR_SYSTEM set to .TRUE.)
all solutions to nonlinear systems of equations within a particular box. Abrief description of
the history and capabilities of GlobSol can be found in [104], while an indepth description
of some of the techniques in GlobSol, along with details concerning a very early version
of GlobSol (which was called intopt_90), can be found in [97]. The system of equations
or optimization problem is provided to GlobSol in the form of a Fortran 90 program. A
selfcontained, easily installed version of GlobSol (distributed with a copy of the GNU
Fortran 95 compiler) for MS Windows is available.
36
One place where this theorem is stated is [188, p. 421]. Interestingly, the hypotheses of the Newton–
Kantorovich theorem can be veriﬁed using interval arithmetic. interval
2008/11/18
page 128
i
i
i
i
i
i
i
i
128 Chapter 8. Interval Newton Methods
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
veriﬁed error bounds. interval
2008/11/18
page 129
i
i
i
i
i
i
i
i
Chapter 9
Integration of Interval
Functions
In this chapter we introduce the interval integral
[a,b]
F(t ) dt
and use it to compute enclosures for the deﬁnite integrals of realvalued 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.).
9.1 Deﬁnition and Properties of the Integral
Let us begin with a realvalued continuous function f . We typically denote the ordinary
deﬁnite integral
b
a
f (t ) dt by either
[a,b]
f (t ) dt or
X
f (t ) dt.
where X = [a, b].
Lemma 9.1. If f is continuous in X = [a, b], then
X
f (t ) dt ∈ f (X)w(X). (9.1)
Proof. According to the mean value theorem for integrals, we can write
[a,b]
f (t ) dt = f (s)(b −a) for some s ∈ [a, b]. (9.2)
But f (s) ∈ f (X), so the lemma follows.
129 interval
2008/11/18
page 130
i
i
i
i
i
i
i
i
130 Chapter 9. Integration of Interval Functions
Theorem 9.1. Suppose f ∈ FC
1
(X
0
) and F is an inclusion isotonic, Lipschitz, interval
extension of f with F(X) deﬁned for all X ⊆ X
0
. Let N be a positive integer and subdivide
[a, b] ⊆ X
0
into N subintervals X
1
, . . . , X
N
so that
a ≤ X
1
< X
1
= X
2
< X
2
< · · · < X
N
= b.
Then
[a,b]
f (t ) dt ∈
N
i=1
F(X
i
)w(X
i
). (9.3)
Furthermore, there is a constant L, independent of both N and the mode of subdivision,
such that
w
N
i=1
F(X
i
)w(X
i
)
≤ L
N
i=1
w(X
i
)
2
. (9.4)
Proof. Because
¯
f (X) ⊆ F(X), we have
X
f (t ) dt ∈ F(X)w(X) for all X ⊆ X
0
(9.5)
by Lemma 9.1. Therefore,
X
i
f (t ) dt ∈ F(X
i
)w(X
i
) (i = 1, . . . , N).
This and the additivity property
[a,b]
f (t ) dt =
N
i=1
X
i
f (t ) dt (9.6)
yield (9.3). Finally, by Deﬁnition 6.1, there is a constant L such that w(F(X)) ≤ Lw(X)
for all X ⊆ [a, b] ⊆ X
0
. We have
w
N
i=1
F(X
i
)w(X
i
)
=
N
i=1
w(F(X
i
))w(X
i
) ≤ L
N
i=1
w(X
i
)
2
as desired.
For a uniform subdivision of [a, b] with
w(X
i
) = (b − a)/N (i = 1, . . . , N), (9.7)
deﬁne
S
N
= S
N
(F; [a, b]) =
N
i=1
F(X
i
)(b − a)/N. (9.8)
We have the following theorem. interval
2008/11/18
page 131
i
i
i
i
i
i
i
i
9.1. Deﬁnition and Properties of the Integral 131
Theorem 9.2.
[a,b]
f (t ) dt =
∞
N=1
S
N
(F; [a, b]) = lim
N→∞
S
N
(F; [a, b]). (9.9)
Proof. By (9.7), inequality (9.4) becomes
w(S
N
) ≤ L(b −a)
2
/N. (9.10)
Therefore, w(S
N
) → 0 as N → ∞, with the value of the integral lying in every S
N
by
(9.3).
It follows from Lemma 6.5 that the sequence of intervals deﬁned by
Y
1
= S
1
, Y
k+1
= S
k+1
∩ Y
k
(k = 1, 2, . . .)
is nested and converges to the value of the integral. We have ﬁnite convergence if IA is
used.
We can use Theorem 9.2 to deﬁne the integral of an intervalvalued function of a
real variable t . However, we ﬁrst note that, while F(t ) must be realvalued for a Lipschitz
interval extension F, this is not true for all useful inclusion isotonic interval functions. The
interval polynomial enclosures discussed later have interval number coefﬁcients. In such
cases, the width of F(t ) may not be zero for real t .
Suppose that an intervalvalued function with values F(X) is continuous and inclusion
isotonic for X ⊆ X
0
. If [a, b] ⊆ X
0
, the sums S
N
(F; [a, b]) given in (9.8) are well deﬁned.
For real arguments t (degenerate intervals [t, t ]), the values of F(t ) may be real numbers
or intervals.
Deﬁnition 9.1. We deﬁne the interval integral
[a,b]
F(t ) dt =
∞
N=1
S
N
(F; [a, b]). (9.11)
It follows fromthe continuity of F that there are two continuous realvalued functions
F and F such that, for real t ,
F(t ) =
F(t ), F(t )
.
Moreover, the integral deﬁned by (9.11) is equivalent to
[a,b]
F(t ) dt =
[a,b]
F(t ) dt ,
[a,b]
F(t ) dt
. (9.12)
Example 9.1. Suppose 0 < a < b and let F(t ) = At
k
, where A =
A, A
and k is a
positive integer. By (9.12) we have
[a,b]
F(t ) dt =
[a,b]
At
k
dt ,
[a,b]
At
k
dt
=
A
b
k+1
−a
k+1
k +1
, A
b
k+1
−a
k+1
k +1
= A
b
k+1
−a
k+1
k +1
.
interv
2008/11/
page 132
i
i
i
i
i
i
i
i
132 Chapter 9. Integration of Interval Functions
Exercise 9.1. Rework Example 9.1 for the case where a < 0 < b and k is an odd positive
integer.
We will discuss the integration of interval polynomials in the next section.
Computation with INTLAB
The computation in (9.8) can be done with a routine that is similar in structure to the routine
refinement on p. 56, except that w(X
i
) needs to be computed with interval arithmetic to
take roundoff error into account. Additionally, we use the internal MATLAB helper routine
fcnchk that allows us to pass either a string deﬁning the function or a string giving the
mﬁle deﬁning the function. We obtain
function S_N = integral_sum(X,f,N)
% Y = S_N = integral_sum(X,f,N)
% computes the sum defined in (9.8) of the text.
strfun = fcnchk(f);
% First form the N subintervals 
h = (midrad(sup(X),0)midrad(inf(X),0))/midrad(N,0);
% h represents w(X_i) as in (9.7) of the text.
% The computations above and below should be done with intervals
% so roundoff error is taken into account.
xi = midrad(inf(X),0);
x1 = xi;
for i=1:N
xip1 = x1 + i*h;
Xs(i) = infsup(inf(xi),sup(xip1));
xi = xip1;
end
% Now compute the sum 
S_N = feval(strfun,Xs(1));
if N > 1
for i=2:N
S_N = S_N + feval(strfun,Xs(i));
end
end
S_N = S_N * h;
For example, to compute bounds on
[0,1]
x
2
dx, we might have the following dialogue in
the MATLAB command window:
>> value = integral_sum(infsup(0,1),’xˆ2’,5)
intval value = [ 0.2399 , 0.4401 ]
>> value = integral_sum(infsup(0,1),’xˆ2’,50)
intval value = [ 0.3233 , 0.3435 ]
>> value = integral_sum(infsup(0,1),’xˆ2’,500)
intval value = [ 0.3323 , 0.3344 ] interval
2008/11/18
page 133
i
i
i
i
i
i
i
i
9.2. Integration of Polynomials 133
>> value = integral_sum(infsup(0,1),’xˆ2’,5000)
intval value = [ 0.3332 , 0.3335 ]
Just as Riemann sums are not the most efﬁcient or accurate way to approximately
evaluate integrals using ﬂoating point arithmetic, (9.8) is not the most efﬁcient 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,
efﬁcient 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 ﬁrst kind F(k, φ) =
φ
0
(1−k
2
sin
2
t )
−1/2
dt with parameters
φ = 2π and k = 0.5;
(b) the Fresnel sine integral f (x) =
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
[a,b]
F(t ) dt ⊆
[a,b]
G(t ) dt. (9.13)
In other words, interval integration preserves inclusion.
Exercise 9.4. Prove (9.13).
9.2 Integration of Polynomials
Exercise 9.1 shows that care must be taken when integrating powertype functions having
interval coefﬁcients. Here we will summarize the results for an interval polynomial of the
form
P(t ) = A
0
+A
1
t +· · · +A
q
t
q
, (9.14)
where t is real and A
i
= [A
i
, A
i
] for i = 0, 1, . . . , q. There are two cases:
Case 1. If a and b have the same sign, then
[a,b]
P(t ) dt = A
0
(b −a) +· · · +A
q
(b
q+1
−a
q+1
)/(q +1).
37
See the web page for this book, www.siam.org/books/ot110. interval
2008/11/18
page 134
i
i
i
i
i
i
i
i
134 Chapter 9. Integration of Interval Functions
Case 2. If a < 0 < b, then
[a,b]
P(t ) dt = T
0
+ T
1
+ · · · + T
q
,
where
T
i
=
A
i
(b
i+1
− a
i+1
)/(i + 1), i even,
(A
i
b
i+1
− Aa
i+1
)/(i + 1) , (A
i
b
i+1
− Aa
i+1
)/(i + 1)
, i odd.
Note that for “real” (degenerate interval) coefﬁcients A
i
, with A
i
= A
i
, 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ˆiiaˆ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 interval
2008/11/18
page 135
i
i
i
i
i
i
i
i
9.3. Polynomial Enclosure, Automatic Differentiation 135
Exercise 9.5. Try interval_poly_integral to compute
[−1,1]
[1, 2] +[−3, 4]x +[−0.5, 0.5]x
2
dx.
Check the result by hand.
9.3 Polynomial Enclosure and Automatic Differentiation
The main goal of this chapter is to discuss the computation of enclosures for the values of
deﬁnite integrals such as
[a,b]
f (t ) dt.
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 deﬁnition and efﬁcient computation of useful function enclosures.
Deﬁnition 9.2. Let T
0
be an interval and x a realvalued function of the real variable t , with
x(t ) deﬁned for all t ∈ T
0
. An interval enclosure of x is an inclusion isotonic intervalvalued
function X of an interval variable T , with X(T ) deﬁned for all T ⊆ T
0
, having the property
that
x(t ) ∈ X(t ) for all t ∈ T
0
. (9.15)
Hence, x(T ) ⊆ X(T ) for all T ⊆ T
0
.
Example 9.2. Suppose x(t ) satisﬁes a ≤ x(t ) ≤ b for all t ∈ T
0
. 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 ∈ T
0
, 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 coefﬁcients, i.e., the form (9.14).
Deﬁnition 9.3. If X(t ) in Deﬁnition 9.2 takes the form (9.14), it is called an interval
polynomial enclosure of x.
Example 9.3. Suppose x(t ) is continuously differentiable on T
0
and that X
(T ) is an in
clusion isotonic interval extension of x
(t ). By the mean value theorem we have, for any
t
0
∈ T
0
,
x(t ) = x(t
0
) +x
(s)(t −t
0
) for some s between t and t
0
. (9.16)
It follows that X(T ) = x(t
0
) +X
(T
0
)(T −t
0
) is an interval enclosure of x. The interval
valued function X(t ) of the real variable t is an interval polynomial enclosure of x. We
have
x(t ) ∈ X(t ) = x(t
0
) +X
(T
0
)(t −t
0
) for all t ∈ T
0
. (9.17) interval
2008/11/18
page 136
i
i
i
i
i
i
i
i
136 Chapter 9. Integration of Interval Functions
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 t
0
. We
deﬁne
(x)
0
= x(t
0
),
(x)
k
=
1
k!
d
k
x
dt
k
(t
0
) (k = 1, 2, . . .). (9.18)
That is, (x)
k
is the kth Taylor coefﬁcient in the expansion of x(t ) about t = t
0
:
x(t ) =
∞
k=0
(x)
k
(t −t
0
)
k
. (9.19)
For the ﬁnite Taylor expansion with Lagrange form of the remainder, we have
x(t ) =
N−1
k=0
(x)
k
(t −t
0
)
k
+(x)
N
(s)(t −t
0
)
N
for some s ∈ [t
0
, t ]. (9.20)
If R
N
is an interval enclosure of x
N
(s) so that
(x)
N
(s) ∈ R
N
([t
0
, t ]) for all s ∈ [t
0
, t ],
for t within the radius of convergence of (9.19), we have
x(t ) ∈
N−1
k=0
(x)
k
(t −t
0
)
k
+R
N
([t
0
, t ])(t −t
0
)
N
. (9.21)
The righthand side is an enclosure for the Taylor series with remainder (9.20).
Example 9.4. If x(t ) is analytic for t ∈ T
0
, the interval polynomial
X
N
(t ) =
N−1
k=0
(x)
k
(t −t
0
)
k
+R
N
(T
0
)(t −t
0
)
N
(9.22)
is an enclosure of x. The values of X
N
(T ) for nondegenerate intervals T ⊆ T
0
are also
deﬁned, and we have
x(t ) ∈ X
N
(t ) ⊆ X
N
(T ) =
N−1
k=0
(x)
k
(T −t
0
)
k
+R
N
(T
0
)(T −t
0
)
N
(9.23)
for all t ∈ T ⊆ T
0
. As a speciﬁc application of (9.22), let x(t ) = e
t
and take t
0
= 0,
T
0
= [0, 1], N = 2. We have
e
t
∈ 1 +t +
1
2
[1, e] t
2
=
1 +t +
1
2
t
2
, 1 +t +
e
2
t
2
for all t ∈ [0, 1].
For a ﬁnite representation, which is still an interval polynomial enclosure, we can take
X(t ) = 1 +t +[0.5, 1.359141] t
2
. For a sharper enclosure, we can take N = 10 in (9.22)
to obtain
e
t
∈ X
10
(t ) = 1 +t +
1
2
t
2
+· · · +
1
9!
t
9
+
1
10!
[1, e] t
10
. interval
2008/11/18
page 137
i
i
i
i
i
i
i
i
9.3. Polynomial Enclosure, Automatic Differentiation 137
Only the last coefﬁcient is a nondegenerate interval. It is contained in the ﬁnitely represented
interval [0.27 · 10
−6
, 0.75 · 10
−6
]. We can enclose the real coefﬁcients in narrow intervals
to obtain a ﬁnitely represented interval polynomial enclosure X(t ) which contains X
10
(t )
for every t ∈ [0, 1]. Of course, X(t ) also contains e
t
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 highorder Taylor polynomials centered on t = 0 were
used to approximate e
t
for t  large and t negative, then the interval widths would increase as
higherorder polynomials were taken. This phenomenon is analogous to the cancelation er
ror we would observe, were we to approximate such e
t
with a highorder Taylor polynomial
with ﬂoating point arithmetic.
It remains to discuss how the Taylor coefﬁcients (x)
k
can be evaluated efﬁciently.
An inefﬁcient approach would be to use (9.18) to generate formulas for the (x)
k
in terms
of t and then evaluate them at t
0
. 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
(t
0
). 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 deﬁned by the ﬁrst pro
gram. In fact, we can write a generalpurpose program which, when applied to a function
deﬁned 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 coefﬁcients) 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 R
N
([t
0
, t ]).
The technique will apply to almost any quantity dependent on x that is computed with a
computer program. From (9.18) we ﬁnd that x
(t
0
) = (x)
1
, so
(x)
k
=
1
k
((x)
1
)
k−1
. (9.24)
This relation is important, because if we have a function x(t ) deﬁned by a differential
equation, for instance,
x
(t ) = g(t, x(t )) with a given x(t
0
),
then we can use
(x)
k
=
1
k
(g)
k−1 interval
2008/11/18
page 138
i
i
i
i
i
i
i
i
138 Chapter 9. Integration of Interval Functions
recursively to compute the Taylor coefﬁcients for x(t ) about t
0
—provided, of course, that
we can handle g(t, x(t )). Similarly,
(x)
k
=
2
k(k −1)
((x)
2
)
k−2
.
As far as the arithmetic operations are concerned, if u and v are analytic functions of
t in some neighborhood of t = t
0
, then
(u +v)
k
= (u)
k
+(v)
k
,
(u −v)
k
= (u)
k
−(v)
k
,
(uv)
k
=
k
j=0
(u)
j
(v)
k−j
,
_
u
v
_
k
=
_
1
(v)
0
_
_
_
_
(u)
k
−
k
j=1
(v)
j
_
u
v
_
k−j
_
_
_
.
_
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
_
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
_
(9.25)
Exercise 9.6. Derive a few of these formulas.
All the commonly used “elementary” functions satisfy rational differential equations.
Any secondorder differential equations that may occur can be rewritten as pairs of ﬁrst
order equations. With this and (9.24), we can derive recursion relations for the kth Taylor
coefﬁcients of elementary functions of an arbitrary analytic function u(t ). For example,
38
(u
a
)
k
=
_
1
u
_
k−1
j=0
_
a −
j (a +1)
k
_
(u)
k−j
(u
a
)
j
,
(e
u
)
k
=
k−1
j=0
_
1 −
j
k
_
(e
u
)
j
(u)
k−j
,
(ln u)
k
=
_
1
u
_
_
_
(u)
k
−
k−1
j=1
_
1 −
j
k
_
(u)
j
(ln u)
k−j
_
_
,
(sin u)
k
=
_
1
k
_
k−1
j=0
(j +1)(cos u)
k−1−j
(u)
j+1
,
(cos u)
k
= −
_
1
k
_
k−1
j=0
(j +1)(sin u)
k−1−j
(u)
j+1
.
_
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
_
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
_
(9.26)
Similar relations are available for the hyperbolic functions, the Bessel functions, and various
other functions commonly used in applied mathematics.
Exercise 9.7. Show the following:
(a) If u(t ) = constant, then (uv)
k
= u(v)
k
.
38
In the relation for (ln u)
k
, the sum is deleted if k = 1. interval
2008/11/18
page 139
i
i
i
i
i
i
i
i
9.3. Polynomial Enclosure, Automatic Differentiation 139
(b) When u(t ) = t , we have
(e
t
)
k
=
1
k
(e
t
)
k−1
and the pair
(sin t )
k
=
1
k
(cos t )
k−1
,
(cos t )
k
= −
1
k
(sin t )
k−1
.
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 coefﬁcients of functions x(t ) can be
programmed to operate as follows:
1. Represent x(t ) (or x
(t ) or x
(t ) · · · ) by a ﬁnite list of binary or unary operations
(e.g., T
3
= T
1
+T
2
, T
4
= e
T
3
, etc.).
2. On a linebyline basis, generate subprograms for Taylor coefﬁcients 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, t
0
, x(t
0
) (and x
(t
0
), x
(t
0
), . . . , if required); the derived
program will evaluate and store, in order, the ﬁrst Taylor coefﬁcients of each item in
the list, then the second Taylor coefﬁcient of each item in the list (which may require
some of the stored values of the ﬁrst coefﬁcients and initial data), etc., until the entire
array of coefﬁcients has been computed; the process can be carried out either in real
computer arithmetic or in IA.
4. The list in step 1 can be generated from a subprogram description of x(t ).
Example 9.5. Consider the function x(t ) deﬁned (when t
0
and x(t
0
) 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 ﬁrst 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
(T
1
)
0
= t · t,
(T
2
)
0
= (x)
0
· (x)
0
,
(x)
1
= T
1
+T
2
.
(9.28)
Applying the third recursion in (9.25), we obtain
(T
1
)
k
=
k
j=0
(t )
j
(t )
k−j
,
(T
2
)
k
=
k
j=0
(x)
j
(x)
k−j
,
(x)
k+1
= ((T
1
)
k
+(T
2
)
k
)/(k +1).
(9.29) interval
2008/11/18
page 140
i
i
i
i
i
i
i
i
140 Chapter 9. Integration of Interval Functions
Since (t )
1
= 1 and (t )
j
= 0 for j > 1, the straightforward application of the recursion
relations (9.29) could be modiﬁed to recognize that (T
1
)
k
= 0 when k ≥ 3. Even without
any such simpliﬁcation, the relations (9.29) sufﬁce for the numerical evaluation of any
number of Taylor coefﬁcients (x)
k
, k = 1, 2, . . ., for the function x(t ). The total number
of arithmetic operations required to ﬁnd (x)
k
for k = 1, . . . , N not taking into account
simpliﬁcations 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.
Exercise 9.8. Repeat Example 9.29 using T
1
= t
2
and T
2
= x
2
. Assuming t
0
= 1 and
x(t
0
) = 0, use the recursions you so obtain to compute the ﬁrst ﬁve Taylor coefﬁcients for
x(t ) expanded about t = 1.
The number of arithmetic operations to compute the kth Taylor coefﬁcient of any func
tion expressible as a ﬁnite combination of rational, elementary, and composition functions
grows at most linearly with k once the coefﬁcients 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 coefﬁcients 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.
Example 9.6. Consider
x(t ) = e
−sin t
ln(1 +t ). (9.30)
We can represent x(t ) by the list
T
1
= sin t,
T
2
= ln(1 +t ),
T
3
= e
−T
1
,
T
4
= cos t,
x(t ) = T
2
· T
3
.
(9.31)
Applying the appropriate relations from (9.25) and (9.26) on a linebyline basis, we obtain,
using (t )
0
= t , (t )
1
= 1, and (t )
j
= 0 for j > 1,
(T
1
)
k
=
1
k
(T
4
)
k−1
,
(T
2
)
k
=
1
1 +t
a
k
−
1 −
1
k
(T
2
)
k−1
, a
k
=
1, k = 1,
0, k > 1,
(T
3
)
k
=
k−1
j=0
1 −
j
k
(T
3
)
j
(−T
1
)
k−j
,
(T
4
)
k
= −
1
k
(T
1
)
k−1
,
(x)
k
=
k
j=0
(T
2
)
j
(T
3
)
k−j
. (9.32) interval
2008/11/18
page 141
i
i
i
i
i
i
i
i
9.4. Computing Enclosures for Integrals 141
We compute and store the following twodimensional array of quantities proceeding down
ward through the elements of a given column before continuing with the ﬁrst element of the
next column to the right:
T
1
(T
1
)
1
(T
1
)
2
· · ·
T
2
(T
2
)
1
(T
2
)
2
· · ·
T
2
(T
2
)
1
(T
2
)
2
· · ·
T
4
(T
4
)
1
(T
4
)
2
· · ·
x (x)
1
(x)
2
· · ·
Again the total arithmetic computation required to ﬁnd the Taylor coefﬁcients of orders
1, . . . , N for x(t ) deﬁned by (9.30) at any value of t is of order N
2
(about
3
2
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
−T
1
. Carrying out evaluations of those interval extensions
for the interval [t
0
, t ] and following this with evaluations of the Taylor coefﬁcients, using
(9.32) in interval arithmetic, we can obtain R
N
([t
0
, t ]) in (9.21).
Notes
1. Martin Berz, Kyoko Makino, and collaborators have provided an implementation of
computation of multivariate Taylor coefﬁcients that is highly successful in applica
tions; see the COSY web page.
2. In many instances, it is more efﬁcient 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 secondorder 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 ﬁrst 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 ﬁrst 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]. Acompre
hensive monograph including details of efﬁcient implementation of both the forward
mode and backward mode is [53].
9.4 Computing Enclosures for Integrals
It follows from (9.13) that if G is an interval polynomial enclosure of f , then
[a,b]
f (t ) dt ∈
[a,b]
G(t ) dt. (9.33) interval
2008/11/18
page 142
i
i
i
i
i
i
i
i
142 Chapter 9. Integration of Interval Functions
More generally, (9.33) holds if f is realvalued and G is intervalvalued, continuous, and
inclusion isotonic, with f (t ) ∈ G(t ) for all t ∈ [a, b].
Example 9.7. Consider f (t ) = 1/t and put F(X) = 1/X. From (9.5) we have
[1,2]
(1/t ) dt ∈ (1/[1, 2]) =
1
2
, 1
. (9.34)
From (9.8), we have
S
N
=
N
i=1
(1/(1 +[i −1, i]/N))/N
=
N
i=1
[1/(N +i), 1/(N +i −1)].
Using threedigit IAwe obtain
S
∗
1
= [0.5, 1.0],
S
∗
2
= [0.583, 0.834],
S
∗
3
= [0.617, 0.783],
.
.
.
S
∗
10
= [0.663, 0.722].
Exercise 9.9. Use the MATLAB function integral_sum on p. 132 from section 9.1 to
compute S
1
through S
10
in Example 9.7, using INTLAB’s internal interval arithmetic.
For the exact value of S
N
in Example 9.7, we have the actual widths w(S
N
) =
1/N −1/(2N) = 1/(2N), so the sequence Y
∗
k+1
S
∗
k+1
∩ Y
∗
k
with Y
∗
1
= S
∗
1
converges (using
threedigit 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 ﬁnd upper and lower bounds on the integral
I =
1
0
e
−t
2
dt. (9.35)
For the integrand in (9.35) we have the interval polynomial enclosure P deﬁned by
e
−t
2
∈ P(t ) = 1 −t
2
+
1
2
t
4
−[0.0613, 0.1667] t
6
(9.36)
for all t ∈ [0, 1]. The interval coefﬁcient [0.0613, 0.1667] bounds the range of values of
1
6
e
−s
2
for all s ∈ [0, 1]. From (9.33) we ﬁnd, for I in (9.35),
I ∈
[0,1]
P(t ) dt. (9.37) interval
2008/11/18
page 143
i
i
i
i
i
i
i
i
9.4. Computing Enclosures for Integrals 143
It follows from (9.12) and (9.36) that
I ∈
[0,1]
P(t ) dt =
1 −
1
3
+
1
10
−
.1667
7
, 1 −
1
3
+
1
10
−
.0613
7
⊆ [0.742, 0.758]. (9.38)
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 efﬁciently 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.
[a,b]
f (t ) dt ∈
N
i=1
K−1
k=0
1
k +1
(f )
k
(X
i
)w(X
i
)
k+1
+
1
K +1
(f )
K
(X
i
)w(X
i
)
K+1
(9.39)
for functions f with inclusion isotonic interval extensions of f and its ﬁrst K derivatives.
This includes the class FC
n
(X
0
).
Proof. From the Lipschitz property of the interval extensions, there is a constant L
K
such
that
w((f )
K
(X
i
)) ≤ L
K
w(X
i
) for all X
i
⊆ [a, b] ⊆ X
0
. (9.40)
Let us denote the righthand side of (9.39) by I
N,K
. Since only the (f )
K
(X
i
) con
tribute anything to the width of I
N,K
, we have
w(I
N,K
) = w
N
i=1
1
K +1
(f )
K
(X
i
)w(X
i
)
K+1
=
1
K +1
N
i=1
w[(f )
K
(X
i
)] w(X
i
)
K+1
≤
L
K
K +1
N
i=1
w(X
i
)w(X
i
)
K+1
by (9.40)
=
L
K
K +1
N
i=1
w(X
i
)
K+2
.
Hence,
w(I
N,K
) ≤
L
K
K +1
N
i=1
w(X
i
)
K+2
. (9.41)
For a uniform subdivision of [a, b], we have w(X
i
) = (b − a)/N for i = 1, . . . , N, and
(9.41) becomes
w(I
N,K
) ≤ C
K
h
K+1
, where C
K
=
L
K
K +1
(b −a) and h =
b −a
N
. (9.42) interval
2008/11/18
page 144
i
i
i
i
i
i
i
i
144 Chapter 9. Integration of Interval Functions
Thus, for ﬁxed K, I
N,K
contains the exact value of the integral and has width no more than
some constant C
K
times the (K +1)st power of the “step size” h.
Example 9.9. For (9.34), we can take L
K
= K +1 (cf. Exercise 9.10), and hence C
K
= 1
for all K. Thus, I
N,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
(X
i
) = (−1)
k
/X
k+1
i
, (f )
K
(X
i
) = (−1)
K
/X
K+1
i
,
with
X
i
= 1 +(i −1)/N, w(X
i
) = 1/N, X
i
= 1 +[i −1, i]/N.
To make the w(I
N,K
) ≤ 0.001, we can take N ≥ 10
3/(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 ≥ 10
3/(K+1)
.
K N
0 1000
1 32
2 10
3 6
4 4
5 4
6 3
7 3
8 3
9 2
For K > 9 we still need N = 2.
Since the exact value of the integral is contained in I
N,K
for every pair of integers
N ≥ 1, K ≥ 0, we can intersect the intervals I
N,K
for any sequence of pairs of integers
{(N, K)} and obtain an interval which still contains the exact value of the integral. If we
carry out all the computations in I
N,K
using IA, then any sequence of such intersections
will converge in some ﬁnite number of steps to an interval containing the exact value of the
integral. We could ﬁx N and take an increasing sequence of values of K, or ﬁx K and take
an increasing sequence of values of N, for instance.
Exercise 9.10. Verify that we may take L
K
= K +1 in Example 9.9.
Example 9.10. For (9.35) we can also apply (9.39) to compute I
N,K
for any N ≥ 1, K ≥ 0,
using the recursion formulas
(f )
0
(X) = e
−X
2
,
(f )
1
(X) = −2X(f )
0
(X),
(f )
k
(X) = −(2/k)(X(f )
k−1
(X) +(f )
k−2
(X)) for n ≥ 2. (9.43)
For N = 2 and K = 6, using IA, we ﬁnd I
N,K
= I
2,6
= [0.746, 0.748]. Compare with
(9.38). interval
2008/11/18
page 145
i
i
i
i
i
i
i
i
9.5. Further Remarks on Interval Integration 145
We can also apply (9.39) to more complicated functions in FC
n
(X
0
), e.g. x(t ) in
(9.30) using the recursion relations (9.32) for the derivatives.
Note that, during the computation of I
N,K
using (9.39) in IA, we must also compute
the coefﬁcients (f )
k
(X
i
) in IAto ensure that the computed interval value of I
N,K
contains
the value deﬁned by (9.39).
9.5 Further Remarks on Interval Integration
A computer implementation of an interval integration routine typically ﬁnds the Taylor
coefﬁcients automatically, generates the interval enclosure of the associated remainder term,
and adaptively chooses intervals of expansion within the interval of integration, until the
entire integral is computed. If the data is given precisely, this can even be done to speciﬁed
accuracy. If there is uncertainty in the data itself, for instance, if all we know about α is an
interval that contains its value, we cannot expect to ﬁnd a narrower interval containing the
integral than is allowed by the uncertainty in the data. In any case, an interval enclosure of
the integral still can be obtained.
Lang et al. [81, 129] as well as Krämer et al. [118] have successfully applied the
techniques we have been describing to adaptive Gaussian quadrature, for rigorously veriﬁed
enclosures of integrals.
We can also carry out interval integration over domains in more than one dimension,
that is, we can compute multiple integrals. Let us brieﬂy discuss interval integration over
a simplex. Anondegenerate simplex S
d
in R
d
can be represented by
S
d
=
x =
d
i=0
x
i
p
(i)
: 0 ≤ x
i
≤ 1,
d
i=0
x
i
≤ 1
,
where {p
(0)
, p
(1)
, . . . , p
(d)
} is the set of d + 1 vertices. For d = 3, S
3
is a tetrahedron.
The barycentric coordinates {x
i
} transform S
3
into the standard simplex with p
(0)
= 0 and
p
(i)
j
= δ
ij
. So integration over S
d
can be written as integration over the standard simplex.
Integration over a tetrahedron can be written as
S
3
f (x, y, z) dx dy dz =
1
0
1−x
1
0
1−x
1
−x
2
0
f (x
1
, x
2
, x
3
) dx
3
dx
2
dx
1
.
We can transform this problem further into integration over the unit cube as
1
0
1
0
1
0
g(x
1
, y
2
, y
3
) dy
3
dy
2
dx
1
by using the substitutions
x
3
= (1 −x
2
−x
1
)y
3
, x
2
= (1 −x
1
)y
2
,
where
g(x
1
, y
2
, y
3
) = (1 −x
2
−x
1
)(1 −x
1
)f (x
1
, (1 −x
1
)y
2
, (1 −x
2
−x
1
)y
3
). interval
2008/11/18
page 146
i
i
i
i
i
i
i
i
146 Chapter 9. Integration of Interval Functions
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 deﬁned. ARANGE result, using interval methods, integration of
Taylor series with interval remainder, plus adaptive subdivision of the region of integration,
is rigorous. Although nonintervalbased 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 RANGEto integrate (x
2
1
+x
2
2
+x
2
3
)e
−x
1
x
2
x
3
over the standard tetrahedron
S
3
. (See the web page for this book, www.siam.org/books/ot110, to obtain RANGE.)
We also mention some relations between the interval integral deﬁned by (9.11) and
other familiar types of integrals [33].
1. Let F
L
and F
R
be realvalued functions with common domain that includes an interval
[a, b], and such that F
L
(x) ≤ F
R
(x) for all x ∈ [a, b]. Let F be the intervalvalued
function deﬁned by F(x) = [F
L
(x), F
R
(x)]. The interval integral
b
a
F(x) dx is
equal to the interval from the lower Darboux integral of F
L
to the upper Darboux
integral of F
R
:
b
a
F(x) dx =
b
a
F
L
(x) dx,
b
a
F
R
(x) dx
.
The lower Darboux integral of a realvalued 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 inﬁmum of all the upper sums. The upper and
lower Darboux integrals always exist in the extended real number system for any
realvalued functions F
L
and F
R
. It follows that all intervalvalued 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.
3. The interval integral of an intervalvalued function F contains the Riemann integrals
of all Riemann integrable functions in F, and the Lebesgue integrals of all Lebesgue
integrable functions in F. Thus, f (x) ∈ F(x) for all x ∈ [a, b] implies that
b
a
f (x) dx ∈
b
a
F(x) dx,
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. interval
2008/11/18
page 147
i
i
i
i
i
i
i
i
9.6. Software and Further References 147
9.6 Software and Further References
Use of automatic differentiation to compute Taylor polynomials in the way we have ex
plained above was perhaps ﬁrst suggested in [146], but it has been developed extensively
since then under various guises. Often termed Taylor arithmetic, practicalities of the tech
nique are discussed in [169]. Implementation of the univariate Taylor arithmetic we have
described above is relatively simple, but, because of efﬁciency concerns, implementation of
multivariate Taylor arithmetic (involving higherorder partial derivatives) is trickier. How
ever, the COSYpackage of Berz et al. has a good implementation. In [23], Berz and Makino
describe use of COSY’s Taylor arithmetic for computing multiple integrals with veriﬁed
bounds.
Although INTLAB implements automatic differentiation for multivariate functions,
only ﬁrstorder derivatives (with the gradient variable type) and secondorder derivatives
(with the hessian variable type) are available; no one has supplied a package for higher
order univariate Taylor arithmetic (using the formulas described above) yet. However, if the
reader has access to Aberth’s book [2], then the software supplied with that work contains
a Taylorarithmeticbased method for computing an integral with veriﬁed bounds.
More discussion of automatic differentiation in general can be found in [21, 38, 54,
200] and elsewhere. A recent reference for veriﬁed numerical integration is [191]. An
older reference, [40] describes construction of a quadrature package along the lines we have
outlined. Although this older package uses a system (ACRITH) that is no longer generally
available, it still may be of interest. For C++ programmers, packages for automatic differ
entiation, veriﬁed quadrature, etc., are available with CXSC; a description of the CXSC
system, as well as references for quadrature packages utilizing CXSC, appears in [80].
In the next chapter, techniques from this chapter are combined with ﬁxedpoint iter
ation techniques (such as in Chapters 7 and 8) to introduce a few basic ideas for veriﬁed
methods for solving integral equations. The next chapter also outlines a fewbasic techniques
for the difﬁcult problem of designing algorithms for rigorously bounding the solutions to
ordinary and partial differential equations. interval
2008/11/18
page 148
i
i
i
i
i
i
i
i interval
2008/11/18
page 149
i
i
i
i
i
i
i
i
Chapter 10
Integral Equations and
Differential Equations
10.1 Integral Equations
Recall that an interval enclosure of a realvalued function f is an inclusion isotonic interval
valued function F such that f (t ) ∈ F(t ). Interval polynomial enclosures are particularly
useful. Recall that we can formally integrate interval polynomials and that interval in
tegration preserves inclusion. In this section, we will consider operator equations of the
form
y(t ) = p(y)(t ), (10.1)
where the operator p may include integrals of the function y(t ).
We will consider some interval methods for establishing the existence of solutions to
(10.1) and computational tests for existence of solutions and for convergence of iterative
methods for approximate solution of (10.1). For clarity of notation, we will restrict our
attention in this section to equations of the form (10.1) in which we seek a realvalued
function y(t ) of a single real variable t . The methods can be extended easily to the case of
a vectorvalued function of a real variable as in systems of ordinary differential equations,
and some of the methods can be extended to cover vectorvalued functions of vectorvalued
t (e.g., systems of partial differential equations).
If X(t ) and Y(t ) are interval (or interval vector) valued functions with a common
domain, we write
X ⊆ Y if X(t ) ⊆ Y(t ) for all t (in the common domain). (10.2)
Similarly, if x(t ) is a real (or real vector) valued function, we write
x ∈ X if x(t ) ∈ X(t ) for all t. (10.3)
Suppose the operator p in (10.1) is deﬁned for some class M
r
of realvalued functions y
with common domain a ≤ t ≤ b, and suppose p: M
r
→ M
r
. Let the interval operator
P : M →M be deﬁned on a class M of interval enclosures of elements of M
r
with M
r
⊆ M.
We call P an interval majorant of p if
p(y) ∈ P(Y) for y ∈ Y. (10.4)
149 interval
2008/11/18
page 150
i
i
i
i
i
i
i
i
150 Chapter 10. Integral and Differential Equations
An interval operator P is inclusion isotonic if
X ⊆ Y implies P(X) ⊆ P(Y). (10.5)
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
P(Y)(t ) = H(t, Y(t )) +
t
0
F(t, s, Y(s)) ds (10.6)
are inclusion isotonic because of (9.13).
The following theorem provides a basis for useful computational tests for existence
of solutions to (10.1) and for the convergence of iterative algorithms for solving operator
equations.
Theorem 10.1. If P is an inclusion isotonic interval majorant of p, and if P(Y
(0)
) ⊆ Y
(0)
,
then the sequence deﬁned by
Y
(k+1)
= P(Y
(k)
) (k = 0, 1, 2, . . .) (10.7)
has the following properties:
(1) Y
(k+1)
⊆ Y
(k)
, k = 0, 1, 2, . . ..
(2) For every a ≤ t ≤ b, the limit
Y(t ) =
∞
k=0
Y
(k)
(t ) (10.8)
exists as an interval Y(t ) ⊆ Y
(k)
(t ), k = 0, 1, 2, . . ..
(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
sup
t
w(P(X)(t )) ≤ c sup
t
w(X(t )), a ≤ t ≤ b, (10.9)
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 ﬁxed 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
(realvalued) 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). interval
2008/11/18
page 151
i
i
i
i
i
i
i
i
10.2. ODEs and Initial Value Problems 151
10.2 ODEs and Initial Value Problems
Aspecial case of the integral equation of the form
y(t ) = h(t, y(t )) +
t
0
f (t, s, y(s)) ds
is the integral equation
y(t ) = y
0
+
t
0
f (s, y(s)) ds,
which is formally equivalent to the initial value problem for the ODE
dy(t )
dt
= f (t, y(t ))
with initial condition
y(t ) = y
0
at t = 0.
Asolution to the initial value problem is also a solution to the integral equation.
Example 10.1. The initial value problem
dy/dt = t
2
+y(t )
2
, y(0) = 0, (10.10)
can be written in the form (10.1) with
p(y)(t ) =
t
0
(s
2
+y(s)
2
) ds. (10.11)
We deﬁne in a natural way the interval operator P by
P(Y)(t ) =
t
0
(s
2
+Y(s)
2
) ds. (10.12)
Let Y
(0)
(t ) = [0, w] for 0 ≤ t ≤ b; then we have
P(Y
(0)
)(t ) =
t
0
(s
2
+[0, w
2
]) ds = t
3
/3 +[0, w
2
] t.
We have P(Y
(0)
) ⊆ Y
(0)
if b
3
/3 +w
2
b ≤ w. This is the case if, for instance, w = 0.5 and
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 deﬁned for continuous functions y and Y. From (10.12),
we ﬁnd that, for 0 ≤ t ≤ b and Y = [Y, Y] ⊆ Y
(0)
= [0, w],
w(P(Y)(t )) =
t
0
(Y(s)
2
−Y(s)
2
) ds ≤ 2bwsup
t
w(Y(t )). (10.13)
Therefore, (10.9) is satisﬁed 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 interval
2008/11/18
page 152
i
i
i
i
i
i
i
i
152 Chapter 10. Integral and Differential Equations
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 intervalvalued function Y(t ).
Example 10.2. The initial value problem
dy/dt =
√
y for y ≥ 0, with the initial condition y(0) = 0
can be written in the form (10.1) with
p(y)(t ) =
_
t
0
_
y(s) ds.
We deﬁne the interval operator P by
P(Y)(t ) =
_
t
0
_
Y(s) ds, (10.14)
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 Y
0
(t ) = [0, w], with w > 0,
for 0 ≤ t ≤ b. Then
P(Y
0
)(t ) =
_
t
0
_
[0, w] ds = [0,
√
w]t.
We have P(Y
0
) ⊆ Y
0
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 Y
0
(t ) = [0, 1]t ,
0 ≤ t ≤ 1, is
Y
(k+1)
(t ) = P(Y
(k)
)(t ) =
_
t
0
_
Y
(k)
(s) ds (k = 0, 1, 2, 3, . . .),
so
Y
(1)
(t ) =
_
t
0
√
s ds =
2
3
t
3/2
[0, 1],
Y
(2)
(t ) =
_
t
0
_
2
3
s
3/2
ds =
4
21
√
t
3/2
t
√
6 =
4
21
t
7/4
√
6[0, 1]
.
.
.
By Theorem 10.1, the sequence is nested, has an intervalvalued function
Y(t ) =
_
∞
k=0
Y
(k)
(t ) interval
2008/11/18
page 153
i
i
i
i
i
i
i
i
10.2. ODEs and Initial Value Problems 153
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 Y
0
(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 inﬁnitely many solutions of the form
y
a
(t ) =
0, 0 ≤ t ≤ a,
1
4
(t −a)
2
, a < t,
where a is an arbitrary nonnegative real number, and we have y
a
(t ) ∈ Y
(k)
(t ) for
all k.
Exercise 10.1. Show that
Y(t ) =
∞
k=0
Y
(k)
(t ) =
0,
1
4
sup
0≤a≤t
(t −a)
2
=
0,
1
4
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 deﬁned 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 inﬁnitely 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 coefﬁcients, as discussed in section 9.3.
Example 10.3. The initial value problem
dy/dt = t
2
+y
2
, y(0) = 1, (10.15)
can be written as the integral equation
y(t ) = 1 +
t
0
(s
2
+y(s)
2
) ds,
and we can deﬁne the interval operator P by
P(Y)(t ) = 1 +
t
0
(s
2
+Y(s)
2
) ds.
We can choose an initial constant interval value, say, Y
0
(t ) = [0, 2], and seek a positive
number b such that P(Y
0
)(t ) ⊆ Y
0
(t ) for all t ∈ [0, b], that is,
1 +
t
3
3
+[0, 4] t ⊆ [0, 2] for all t ∈ [0, b].
This is true if 1 + b
3
/3 + 4b ≤ 2. We can determine in various ways (including by
numerically solving the polynomial equation b
3
/3 + 4b − 1 = 0) that this is true, for
example, if b = 0.24, since
1 +0.24
3
/3 +4(0.24) = 1.964608 ≤ 2. interval
2008/11/18
page 154
i
i
i
i
i
i
i
i
154 Chapter 10. Integral and Differential Equations
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 satisﬁes (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
y(t ) ∈
4
k=0
(y)
k
t
k
+R
5
([0, 0.24])t
5
for all t ∈ [0, 0.24].
The recursive formulas given in Chapter 9, for this example, become
(y)
1
= dy/dt = t
2
+y
2
,
(y)
2
=
1
2
(2t +2(y)
0
(y)
1
),
(y)
3
=
1
3
(1 +2(y)
0
(y)
2
+(y)
2
1
),
(y)
4
=
1
4
(2(y)
0
(y)
3
+2(y)
1
(y)
2
),
(y)
5
=
1
5
(2(y)
0
(y)
4
+2(y)
1
(y)
3
+(y)
2
2
).
Fromthe initial condition at t = 0, we have (y)
0
= y(0) = 1. We ﬁnd the initial coefﬁcients
(y)
1
= 1, (y)
2
= 1, (y)
3
=
4
3
, (y)
4
=
7
6
.
It remains to ﬁnd R
5
([0, 0.24]) such that (y)
5
(s) ∈ R
5
([0, 0.24]) for all s ∈ [0, 0.24]. For
this, we recall that Y
0
(t ) = [0, 2], so for s ∈ [0, 0.24] and y(s) ∈ [0, 2], using interval
arithmetic, we ﬁnd
(y)
0
= y(s) ∈ [0, 2],
(y)
1
= dy/dt = s
2
+y
2
∈ [0, 0.24]
2
+[0, 2]
2
⊂ [0, 4.1],
(y)
2
= s +y(y)
1
∈ [0, 0.24] +[0, 2][0, 4.1] ⊂ [0, 8.44],
(y)
3
=
1
3
(1 +2y(y)
2
+(y)
2
1
)
∈
1
3
(1 +2[0, 2][0, 8.44] +[0, 4.1]
2
) ⊂ [0.33, 17.2],
(y)
4
=
1
4
(2(y)
0
(y)
3
+2(y)
1
(y)
2
)
∈
1
2
([0, 2][0.33, 17.2] +[0, 4.1][0, 8.44]) ⊂ [0, 34.51],
(y)
5
=
1
5
(2(y)
0
(y)
4
+2(y)
1
(y)
3
+(y)
2
2
), interval
2008/11/18
page 155
i
i
i
i
i
i
i
i
10.2. ODEs and Initial Value Problems 155
so
(y)
5
(s) ∈ R
5
([0, 0.24])
⊂
1
5
(2[0, 2][0, 34.51] +2[0, 4.1][0.33, 17.2] +[0, 8.44]
2
) for all s ∈ [0, 0.24].
Thus, we can take R
5
([0, 0.24]) = [0, 70.1], and we have the result that the initial value
problem (10.15) has a unique solution y(t ) at least for t ∈ [0, 0.24] with an interval poly
nomial enclosure Y(t ) given by
y(t ) ∈ Y(t ) = 1 +t +t
2
+
4
3
t
3
+
7
6
t
4
+[0, 70.1] t
5
for all t ∈ [0, 0.24].
In particular,
y(0.1) ∈ [1.1114, 1.1122] = 1.1118 ±4(10
−4
).
Aberth’s RANGE ﬁnds y(0.1) = 1.11146˜, which means that the exact solution is, in fact,
contained in the interval we found.
39
We show the calculations in detail above to give an idea of how some of the software
works. What is shown is a relatively simple version of much more sophisticated but similar
techniques in existing software. It is important to point out that everything shown can
be carried out automatically by software, given only the differential equations and initial
conditions, and at whatever values of t the solution is desired.
We can continue an interval enclosure, such as the Y(t ) found above, for further
values of the independent variable t > 0.24 by restarting the procedure with a new initial
condition, such as y(0.24) ∈ [1.1114, 1.1122].
The interval Taylor method extends to systems of differential equations and allows
for intervals of initial conditions and parameters in the functions.
Exercise 10.3. Apply the interval Taylor method to the following initial value problems:
(a) dy/dt = y
2
with y(0) = 1 and (b) dy/dt = −y with y(0) = 1.
Adifﬁculty arises in connection with the continuation of sets of solutions to an initial
value problemfor a systemof nordinarydifferential equations. Suppose a set of initial points
x(0) is enclosed in a ﬁnitely representable set S
0
such as an interval vector, an ellipsoid, or
a polytope. The set of solution points
S
t
= {x(t ) = (x
1
(t ), . . . , x
n
(t )): x(0) ∈ S
0
}
for t > 0 is, in general, not exactly representable by the same type of geometrical object as
S
0
. Thus if S
t
is enclosed again in an interval vector, ellipsoid, or polytope, the resulting
bounded region will contain extra points, not in the solutions emanating from S
0
. 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. interval
2008/11/18
page 156
i
i
i
i
i
i
i
i
156 Chapter 10. Integral and Differential Equations
10.3 ODEs and Boundary Value Problems
Atwopoint boundary value problem of the form
d
2
y
dt
2
= f (t, y(t )), y(0) = y(1) = 0,
is equivalent to the integral equation
y(t ) = p(y)(t ) = (t −1)
t
0
sf (s, y(s)) ds +t
1
t
(s −1)f (s, y(s)) ds.
Exercise 10.4. Verify this.
If F is an interval enclosure of f , the interval operator P deﬁned by
P(Y)(t ) = (t −1)
t
0
sF(s, Y(s)) ds +t
1
t
(s −1)F(s, Y(s)) ds
is an interval majorant of p, and we can apply Theorem 10.1.
Many published papers on this topic can be found with a web search. Examples are
[107, 133, 187].
10.4 Partial Differential Equations
In the area of partial differential equations, IA has been used in computeraided rigorous
computation of error bounds, as well as for obtaining mathematically rigorous results in
eigenvalue problems and the analysis of operators. See, e.g., [113, 164, 166, 193, 231, 242,
250].
Details are well beyond the scope of this introductory volume. Much remains to be
done in the area of interval methods for partial differential equations.
For additional examples of the application of interval analysis to operator equations,
as well as a brief discussion of interval analysis in the context of lattice theory, see Moore
and Cloud [156].
In our ﬁnal chapter, we discuss applications of the concepts and techniques introduced
to this point. Some of these applications, such as computerassisted proofs and global
optimization, are general, with many speciﬁc examples. Our coverage of these applications
is necessarily uneven, based on our own expertise. Also, detailed treatment of the derivation
of these applications is outside the scope of this book. The interested reader should pursue
the references we provide to obtain a fuller understanding of particular applications. interval
2008/11/18
page 157
i
i
i
i
i
i
i
i
Chapter 11
Applications
11.1 ComputerAssisted Proofs
Any computation using IA, and rigorous methods of interval analysis, proves something.
The intervals found by the computer will, by construction, certainly contain the results they
are constructed to contain.
Because of the rigor of interval computation, it is ﬁnding use in computeraided
proofs in mathematical analysis, among other areas [42]. Interval analysis has been used,
for example, in computational parts of a proof of Kepler’s Conjecture on the densest packing
of spheres. The following is quoted from Szpiro [240]:
The fascinating story of a problem that perplexed mathematicians for nearly
400 years. In 1611, Johannes Kepler proposed that the best way to pack spheres
as densely as possible was to pile them up in the same way that grocers stack
oranges or tomatoes. This proposition, known as Kepler’s Conjecture, seemed
obvious to everyone except mathematicians, who seldom take anyone’s word
for anything. In the tradition of Fermat’s Enigma, George Szpiro shows how
the problem engaged and stymied many men of genius over the centuries—Sir
Walter Raleigh, astronomer Tycho Brahe, Sir Isaac Newton, mathematicians
C. F. Gauss and David Hilbert, and R. Buckminster Fuller, to name a few—
until Thomas Hales of the University of Michigan submitted what seems to be
a deﬁnitive proof in 1998.
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 ﬂat disk separate two volumes of air using a total surface area that is less than any other
boundary. This equalvolume 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 longstanding 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 interval
2008/11/18
page 158
i
i
i
i
i
i
i
i
158 Chapter 11. Applications
In later work, Warwick Tucker made further signiﬁcant contributions to the development
and application of this area [244].
In a chapter on computerassisted proofs in Einarsson’s book [45], Siegfried Rump
listed the following examples of computerassisted proofs, all of which make use of interval
methods:
• veriﬁcation of the existence of the Lorenz attractor,
• veriﬁcation of the existence of chaos,
• doublebubble conjecture,
• veriﬁcation of the instability for the Orr–Sommerfeld equations with a Blasius proﬁle,
• dynamics of the Jouanolou foliation,
• solution of the heat convection problem,
• veriﬁed bounds for the Feigenbaum constant,
• existence of an eigenvalue below the essential spectrum of the Sturm–Liouville prob
lem,
• eigenfrequencies of a turbine,
• SPICE program for circuit analysis,
• extreme currents in Lake Constance,
• forest planning,
• global optimization,
• all the zeros of a nonlinear system in a box,
• least squares problems.
See also Meyer and Schmidt [143], in which more than half the papers involve the use of
interval methods, including
• computerassisted approach to small divisors problems arising in Hamiltonian dy
namics,
• computerassisted proofs of stability of matter,
• accurate strategies for Kolmogorov–Arnold–Moser (K.A.M.) bounds and their
implementation,
• software tool for analysis in function spaces,
• interval tools for computeraided proofs in analysis,
• computerassisted lower bounds for atomic energies. interval
2008/11/18
page 159
i
i
i
i
i
i
i
i
11.2. Global Optimization and Constraint Satisfaction 159
11.2 Global Optimization and Constraint Satisfaction
It has long been asserted that rigorous global optimization by a computer is impossible in
the nonlinear case, and this may be true using only evaluations of functions at points. At
the very least we need to be able to compute upper and lower bounds on ranges of values
of functions over sets. IA, as we have seen, provides upper and lower bounds on ranges
of values of functions over continua, including intervals and vectors of intervals. This
fact alone provides a basic algorithm for global optimization without using derivatives,
which we describe in this section. If the objective function and the constraint functions
are differentiable, there are more efﬁcient interval methods using, for instance, the interval,
Newton method, but we will not cover those here. See the references at the end of this
section for more efﬁcient methods.
For an ndimensional region (“box”) such as an interval vector
B = (B
1
, B
2
, . . . , B
n
)
using IA, we can test, on a computer, the truth of a relation such as
f (x) = f (x
1
, x
2
, . . . , x
n
) ≤ 0
for all points x = (x
1
, x
2
, . . . , x
n
) ∈ B, where f is a realvalued function with an inclusion
isotonic interval extension F. For example, if F(B) = [L, U] ≤ 0, that is, if U ≤ 0, then
f (x) ≤ 0 for all x ∈ B.
We consider now the following global optimization problem:
minimize f (x)
subject to the constraints
x ∈ B and
p
i
(x) ≤ 0, i = 1, 2, . . . , k.
(11.1)
Points satisfying the constraints are called feasible.
That is, we wish to ﬁnd the set X
∗
of all global minimizers x
∗
∈ B and the global
minimum value f
∗
such that
f (x
∗
) = f
∗
≤ f (x)
for all feasible points x.
11.2.1 A Prototypical Algorithm
The following simple algorithm will ﬁnd a list of small boxes whose union contains the set
X
∗
of all feasible global minimizers, along with an interval containing f
∗
. It is a simple
branchandbound algorithm, using interval computation for rigor and completeness.
The algorithm proceeds by deleting parts of the initial box B which cannot contain
a global minimizer, leaving a list of subboxes whose union still contains the set X
∗
of all
global minimizers. During this process, we obtain upper and lower bounds on f
∗
.
In the algorithm, Xis any subbox of B, which may even be a point (degenerate box) in
B. We assume we have inclusion isotonic interval extensions, F of f and P
i
of p
i
, deﬁned
on B, and hence deﬁned on subboxes of B. There are two kinds of deletion tests on X made
in the algorithm: interval
2008/11/18
page 160
i
i
i
i
i
i
i
i
160 Chapter 11. Applications
1. Feasibility test.
(a) If P
i
(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 ﬂoating point arithmetic because of the outward rounding used in IA.
Thus P
i
(X) ≤ 0 implies that p
i
(x) ≤ 0 for all x ∈ X.
(b) If for some i, P
i
(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 ﬁnd [LFY, UFY] =
F(Y), then we can make the following test. Let UF
∗
be the smallest UFMX yet
found.
(a) If LFY > UF
∗
, 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, LFX),
where F(X) = [LFX, UFX]. 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 ﬁrst one in the list. If it is narrower than some pre
speciﬁed 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, LFB) and set UF
∗
= UFB
DO WHILE (the ﬁrst box on the list has width > EPSB.)
unlist ﬁrst box on the list
bisect X = X
1
∪ X
2
delete X
1
if 1(b) applies for X = X
1
or if 2(a) applies for Y = X
1
otherwise list (X
1
, LFX
1
) at end of list and update UF
∗
= UFX
1
, if MX
1
is feasible and UFX
1
reduces UF
∗
delete X
2
if 1(b) applies for X = X
2
or if 2(a) applies for Y = X
2
otherwise list (X
2
, LFX
2
) at end of list and update UF
∗
= UFX
2
if MX
2
is feasible and UFX
2
reduces UF
∗
END DO
output box list items interval
2008/11/18
page 161
i
i
i
i
i
i
i
i
11.2. Global Optimization and Constraint Satisfaction 161
LF
∗
= min(LFX), over the ﬁnite set of all items (X, LFX) in the list
UF
∗
is the current UF
∗
stop
When we stop, we will have LF
∗
≤ f
∗
≤ UF
∗
, and the union of the boxes X in the
list of items (X, LFX) 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
efﬁciency 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
efﬁciency with application to photoelectron spectroscopy.
Algorithm11.1, while not efﬁcient for differentiable problems, is applicable ingeneral.
In [158], the following nondifferentiable example is discussed:
minimize
f (x) = (x
2
1
+x
2
2
− 1 + 0.001)x
2
1
+x
2
2
− 0.25
subject to
p(x) = max{(1 − max{
x
1

0.6
,
x
2

0.25
}), (1 − max{
x
1

0.25
,
x
2
−0.4
0.3
})} ≤ 0
and x = (x
1
, x
2
) ∈ B = ([−1.2, 1.2], [−1.2, 1.2]).
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 x
2
1
+x
2
2
= 0.25. The arcs lie outside the union of two rectangles
cutting through the circle. The entire unit circle x
2
1
+x
2
2
= 1 consists of local minimizers.
The local, but not the global, minimizers are eliminated by choosing the ﬁnal 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.”
11.2.2 Parameter Estimation
Simple variations of Algorithm 1 can solve other types of problems. For example consider
the following variation. Here, 1(a) and 1(b) refer to the feasibility test on p. 160. The
bisections are, as before, in a coordinate direction of maximum width.
Algorithm 11.2.
initialize the list with the single item B, and max box width for termination EPSB.
DO WHILE (the ﬁrst box on the list has width > EPSB.)
unlist ﬁrst box on the list interval
2008/11/18
page 162
i
i
i
i
i
i
i
i
162 Chapter 11. Applications
bisect X = X
1
∪ X
2
delete X
1
if 1(a) or 1(b) applies for X = X
1
otherwise list X
1
at end of list
delete X
2
if 1(a) or 1(b) applies for X = X
2
otherwise list X
2
at end of list
END DO
output box list items
stop
The unionof the sets representedbythe boxes output at the terminationof the algorithm
will contain all the boundary points of the set of all feasible points {x : P
i
(x) ≤ 0 for all
i = 1, 2, . . . , k}, because the only parts of B that are deleted byAlgorithm11.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].
11.2.3 Robotics Applications
Although there are various global optimization problems and problems involving the so
lution of nonlinear systems that we do not yet know how to solve efﬁciently with interval
techniques, we have been largely successful with applications involving robotics. An early
such application was an example from[243] and has since become a classic test problemfor
interval methods for nonlinear systems. The mathematical formulation consists of ﬁnding
all solutions to f (x) = 0, where f : R
8
→R
8
, and the components of f are deﬁned by
f
1
= α
1
x
1
x
3
+α
2
x
2
x
3
+α
3
x
1
+α
4
x
2
+α
5
x
4
+α
6
x
7
+α
7
,
f
2
= α
8
x
1
x
3
+α
9
x
2
x
3
+α
10
x
1
+α
11
x
2
+α
12
x
4
+α
13
,
f
3
= α
14
x
6
x
8
+α
15
x
1
+α
16
x
2
,
f
4
= α
17
x
1
+α
18
x
2
+α
19
,
f
5
= x
2
1
+x
2
2
−1,
f
6
= x
2
3
+x
2
4
−1,
f
7
= x
2
5
+x
2
6
−1,
f
8
= x
2
7
+x
2
8
−1, (11.2) interval
2008/11/18
page 163
i
i
i
i
i
i
i
i
11.2. Global Optimization and Constraint Satisfaction 163
where
α
1
= 4.731 · 10
−3
, α
2
= −3.578 · 10
−1
, α
3
= −1.238 · 10
−1
,
α
4
= −1.637 · 10
−3
, α
5
= −9.338 · 10
−1
, α
6
= 1.000,
α
7
= −3.571 · 10
−1
, α
8
= 2.238 · 10
−1
, α
9
= 7.623 · 10
−1
,
α
10
= 2.638 · 10
−1
, α
11
= −7.745 · 10
−2
, α
12
= −6.734 · 10
−1
,
α
13
= −6.022 · 10
−1
, α
14
= 1.000, α
15
= 3.578 · 10
−1
,
α
16
= 4.731 · 10
−3
, α
17
= −7.623 · 10
−1
, α
18
= 2.238 · 10
−1
,
α
19
= 3.461 · 10
−1
,
and all solutions are known to lie within the unit 8cube x
i
∈ [−1, 1], 1 ≤ i ≤ 8. (The
four pairs {(x
2i−1
, x
2i
)}
4
i=1
represent the cosines and sines of angles on the arm of the
manipulator.)
Problem (11.2) is interesting fromthe standpoint that, depending on the actual branch
andbound 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 efﬁciency 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 pathfollowing algorithms,
partially in response.
Our GlobSolcode [104] ﬁnds rigorous enclosures toall 16solutions toproblem(11.2)
with lower and upper bounds differing beyond the ﬁfth digit (and a mathematical proof that
there are no other solutions) with a total of only 31 boxes processed in the branchandbound
process and 17 calls to a local approximate rootﬁnder.
More recent applications to robotics can be seen in Chapter 8 of [86] and in [131]. In
[131], “the geometric design problem of seriallink robot manipulators with three revolute
(R) joints is solved for the ﬁrst time using an interval analysis method.” Their implemen
tation of an interval branchandbound 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.
11.2.4 Chemical Engineering Applications
Chemical engineering is another area where there have been major successes in the ap
plication of interval computations, largely because of the talents of Mark Stadtherr and
his students. Much of this success is along the lines of optimizing objectives and solving
systems of equations arising in molecular models, chemical kinetics equilibrium problems,
and the like; see [48, 49, 236, 237]. Apparently, such problems often can be posed in a
way that is amenable to solution by interval methods. Particularly impressive is the work
of Lin and Stadtherr [134, 135, 136, 137], in which the authors combine Taylor arithmetic
for the solution of systems of ordinary differential equations with interval methods for interval
2008/11/18
page 164
i
i
i
i
i
i
i
i
164 Chapter 11. Applications
global optimization to rigorously determine parameters in differential equation models of
processes.
Aclassic kinetics equilibrium problem, originally from [141], now not so challenging
for interval techniques, consists of ﬁnding all solutions to f (x) = 0, where f : R
4
→ R
4
and the components of f are deﬁned by
f
1
= α
1
x
2
x
4
+α
2
x
2
+α
3
x
1
x
4
+α
4
x
1
+α
5
x
4
f
2
= β
1
x
2
x
4
+β
2
x
1
x
3
+β
3
x
1
x
4
+β
4
x
3
x
4
+β
5
x
3
+β
6
x
4
+β
7
f
3
= x
2
1
−x
2
f
4
= x
2
4
−x
3
(11.3)
with
α
1
= −1.697 · 10
7
, α
2
= 2.177 · 10
7
, α
3
= 0.550 · 10
0
,
α
4
= 0.450 · 10
0
, α
5
= −1.000 · 10
0
,
and
β
1
= 1.585 · 10
14
, β
2
= 4.126 · 10
7
, β
3
= −8.285 · 10
6
,
β
4
= 2.284 · 10
7
, β
5
= −1.918 · 10
7
, β
6
= 4.840 · 10
1
,
β
7
= −2.773 · 10
1
.
The search box is set to x
i
∈ [−0.01, 1.01], 1 ≤ i ≤ 4. GlobSol ﬁnds a box with
coordinate endpoints differing in the fourth digit, processing a total of nine boxes in the
branchandbound process, and with three calls to a local approximate root ﬁnder.
11.2.5 Water Distribution Network Design
Angelika Hailer has recently presented a dissertation [55] in which she both provides a
more accurate model of water distribution networks than previously found in the literature
and successfully designs a global optimization algorithmand software package that provide
automatically veriﬁed optima of this model.
11.2.6 Pitfalls and Clariﬁcations
It is well known that the general global optimization problem (11.1) is NPcomplete, that is,
that there is no known algorithm that will solve all possible instances of this problem, even
if the objective function f is quadratic and the p
i
are linear, in a time that is bounded by a
polynomial function of the number of variables and constraints. Because of these theoretical
results, we cannot expect any software designed to solve this problem in general to be
practical for all such problems. This holds for all solvers that claimto ﬁnd an approximation
to the global optimum within a speciﬁed error tolerance, regardless of whether interval
arithmetic is used to bound roundoff error and provide mathematically rigorous results. interval
2008/11/18
page 165
i
i
i
i
i
i
i
i
11.2. Global Optimization and Constraint Satisfaction 165
In fact, it is not hard to ﬁnd global optimization problems that cannot be solved efﬁ
ciently with existing software claiming to ﬁnd solutions with automatic result veriﬁcation.
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 ﬁnding
veriﬁed solutions to global optimization problems, based on carefully deﬁning and limiting
what we mean by “veriﬁed” or taking full advantage of the special structure of the problems.
Before we enumerate these additional successes, we will clarify what a “veriﬁed 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:
Aglobal optimum is a value of f of f such that f ≤ f (x) for every feasible point x.
Afeasible solution is any point x for which x ∈ B and p
i
(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 difﬁcult or impractical to
ﬁnd such a point at which f takes on its global optimum.
41
Aglobal 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 deﬁne varying speciﬁcations 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 speciﬁed tolerance , and ﬁnd 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.
Speciﬁcation 1 is the most difﬁcult to meet and is likely to be practical to meet for the
fewest number of problems. In computer programs whose goal is to meet speciﬁcation 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.
41
A 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 satisﬁed.
42
Using ﬁxedprecision machine arithmetic, or even using variable precision and a ﬁnite amount of time. interval
2008/11/18
page 166
i
i
i
i
i
i
i
i
166 Chapter 11. Applications
code whose goal is to meet speciﬁcation 1, if the code exits with a list C, then we may
graph twodimensional 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 ﬁrst in [44] and [102], then in [228].
Software based on speciﬁcation 2 is practical for a signiﬁcantly wider set of problems
than software based on speciﬁcation 1. In particular, for certain nonsmooth problems and
illconditioned or illposed problems, the algorithm may quit when UF
∗
− LF
∗
< and
the box containing the point x at which f (x) = UF
∗
may be printed; the other boxes
need not be further resolved or veriﬁed. Christian Keil and Christian Jansson [108] have
been successful at handling a variety of difﬁcult test problems from the Netlib LP test set
44
with this criterion. Basically, this process ﬁrst uses an efﬁcient commercial or opensource
solver to compute an approximate solution with ﬂoating point arithmetic. The approximate
primal and dual variables then enter a short interval computation
45
to obtain upper and lower
bounds on the optimumvalue.
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 optimumobjective value. See [108]
for the numerical results. Also see [85] for application of similar techniques in semideﬁnite
programming.
Speciﬁcation 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 illposed in the sense that there is an
entire manifold of optimizing points. In such instances, speciﬁcation 2 and speciﬁcation 1
lead to different results, even for linear problems, and trying to meet speciﬁcation 1 is much
more difﬁcult than trying to meet speciﬁcation 2. Adiscussion, as well as some techniques
relevant to this case, appears in [100].
Speciﬁcation 3 is essentially practical for most instances of the optimization prob
lem (11.1) for which the form of the objective f and constraints p
i
are sufﬁciently 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 sufﬁciently good approximation to a local optimizer can be found
47
and for which the
local optimizer is isolated and for which the Kuhn–Tucker matrix
48
is sufﬁciently well
conditioned at the local optimizer. Essentially, to meet this speciﬁcation, 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 matrixvector multiplications.
46
Neumaier and Shcherbina [173] and Jansson [84] discovered this process independently.
47
Using, for example, a ﬂoating 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. interval
2008/11/18
page 167
i
i
i
i
i
i
i
i
11.2. Global Optimization and Constraint Satisfaction 167
Speciﬁcation 4 is the easiest to meet: we simply need to ﬁnd an approximate feasible
point (that is, a “feasible solution”), then use techniques such as those in [98] to construct
bounds within which we prove that an exact feasible point exists and for which we can obtain
a rigorous upper bound on the global optimum. If a good approximation to a feasible point
exists, meeting these speciﬁcations involves simply one or more iterations of the Krawczyk
method or other interval Newton method. This involves only a few interval linear algebra
operations but can fail if the constraints are approximately linearly dependent.
49
.
Our GlobSol software [99, 104] is designed to either satisfy speciﬁcation 1 or ex
ceed userset limits on execution time or memory for general problems. Because of this,
GlobSol’s performance does not compare with computer programs designed around the
other speciﬁcations. However, more recent codes, such as iCOs, still
50
under development
for speciﬁcation 1, promise to be highly competitive.
BARON [227] is successful commercial software for global optimization. It does not
claim to rigorously verify the solutions it provides, but it does use interval arithmetic in
places to compute bounds on ranges of expressions. Its users can generally expect it to ﬁnd
an approximation to a global optimum and one (of perhaps many) global optimizing points,
similar to speciﬁcation 2.
11.2.7 Additional Centers of Study
Several groups of researchers have been focussing on interval methods in global optimiza
tion.
The group headed by Arnold Neumaier at the University of Vienna is doing much
scholarly work on global optimization. We have already mentioned Neumaier’s relatively
early book [167], which remains a valuable reference for the theory underlying interval
Newton methods,
51
and the paper [173] that enables easy veriﬁcation of bounds on the opti
mum of linear programs. Neumaier’s website is a valuable resource for further information
on global optimization. Arnold Neumaier, Hermann Schichl, and Waltraud Huyer, along
with Oleg Shcherbina and Ferenc Domes, have collaborated in the European Unionwide
COCONUT (Continuous CoNstraints—Updating the Technology) project for providing a
general computing environment for experimentation with and solution of constraint satis
faction
52
and global optimization problems. One publication of note is a comparison of
global optimization software [174]. That publication is one of few attempts to compare
existing software in an unbiased way on problems of potentially practical signiﬁcance and
thus provides good guidance. However, the distinctions and goals we have given in sec
tion 11.2.6 were not fully made in [174], and further comparison and software development
will give additional clariﬁcation and increased utility.
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 efﬁciency 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. interval
2008/11/18
page 168
i
i
i
i
i
i
i
i
168 Chapter 11. Applications
Ferenc Domes, also at the University of Vienna, is developing a MATLABbased
solver Gloptlab for rigorous global optimization and for use as a test bed within the
COCONUT project.
There has been interest in interval techniques in constraint propagation within the
French company ILOG, beginning with a commercial release of Pascal Van Hentenryck’s
Numerica optimization software in the 1990s [245], incorporation into the ILOG solver,
and continuing with efforts by Christian Bliek, in conjunction with the COCONUT project
[171]. ILOG has been in a position to provide quality products in this area, since they
can interface their CPLEX linear programming solver with techniques for rigorous linear
relaxations [28] and the Neumaier–Shcherbina–Jansson technique for providing rigorous
bounds on the global optimum [84, 173]. Meanwhile, associates Laurent Granvilliers and
Frédéric Benhamou have produced the freely available constraint propagation package [52].
Similarly, Lebbah et al. have studied interval constraint solving in their QUADSOLVER
algorithm [130], while Lebbah has been making available his ICOS package for solving
systems of constraints.
Researchers in Hungary, led by Tibor Csendes at the University of Szeged, have con
sistently done highquality work in veriﬁed global optimization over the years. Particularly
noteworthy are the successes of this group in concrete applications, exempliﬁed by the
advances made with intervalbased optimization methods in understanding the problem of
circlepacking on the square, reviewed in the book
53
[239].
11.2.8 Summary of Links for Further Study
An excellent summary of available software for global optimization and constraint satis
faction problems is given in Neumaier [170]. See also Ratschek and Rokne [211], Hansen
and Walster [57], and Kearfott [97]. An excellent introduction to applied interval analysis,
which we also mention in section 11.7, is [86].
Anumber of interesting websites are also available. See Appendix D.
11.3 Structural Engineering Applications
Rigorous numerical analysis of models involving partial differential equations is particu
larly challenging. For instance, when a partial differential equation is solved numerically,
the rigorous error bounds should reﬂect not only the roundoff error incurred in the solu
tion process but also the discretization error in transforming the equations (differential or
integral) into a linear or nonlinear algebraic system. Furthermore, the motivation for em
ploying interval methods may be that the input data has uncertainties; these uncertainties
correspond to intervals whose widths are typically much larger than the widths of inter
vals corresponding to roundoff error alone. It is more challenging to obtain meaningful
results when propagating these larger widths through a solution process for a large linear or
nonlinear system. Nonetheless, there have been some notable successes.
Structural engineering problems typically give rise to large, structured matrices when
the ﬁnite element method is used for the discretization. These matrices are typically “as
sembled” from smaller matrices corresponding to the individual elements into which the
53
With collaboration of other European researchers. interval
2008/11/18
page 169
i
i
i
i
i
i
i
i
11.4. Computer Graphics 169
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 offtheshelf 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.
Raﬁ 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].
11.4 Computer Graphics
Problems in computer graphics typically include ﬁnding the intersection points of a surface
and a line segment, determining that intersection point of a surface and a line segment
closest to one end of the line segment, tracing the intersection curves of two surfaces,
ﬁnding the intersection points of two curves, determining whether one surface is in “front”
of another surface, and the like. Typically, the lines, curves, and surfaces are given as
parameterizations of relatively loworder polynomials or piecewise polynomials. This gives
rise to lowdimensional systems of loworder polynomial equations, something that can be
handledrelativelyeasilywithinterval computations. Furthermore, it is advantageous tohave
rigorous bounds on such solutions, since the computations are typically embedded into and
carried out repeatedly in relatively sophisticated graphical modeling systems; missing a
solution or coming to an incorrect conclusion can result in large problems with the ﬁnal
output, or even cause the system to crash.
Challenges in solving such problems involve, among other things, implementing the
solution process to be sufﬁciently efﬁcient for smooth operation of the system in which it
is embedded.
Some references in the area are [233] and [46].
11.5 Computation of Physical Constants
One example of use of interval arithmetic in determining precise values of physical con
stants is described in [81] and [128]. The authors of these articles are at the University
of Wuppertal, where experiments are in progress to more accurately determine Newton’s interval
2008/11/18
page 170
i
i
i
i
i
i
i
i
170 Chapter 11. Applications
gravitational constant. The gravitational constant is determined through a computation,
involving quadrature, that relates experimentally measured quantities to the value of the
constant. Holzmann, Lang, and Schütt used veriﬁed Gaussian quadrature to determine
which of the measured quantities were of critical inﬂuence on the error in the computed
value of the gravitational constant.
11.6 Other Applications
Interval analysis has found applications in a wide variety of different areas. We mention
some of these below, along with a few suitable references, just to whet the reader’s appetite:
• 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].
11.7 For Further Study
A collection of applications, both proposed and completed in 1996, appears in [103]. An
excellent applied introduction, including description of global optimization and parameter
estimation techniques in some detail and application to robust control, and robotics, as well
as details of implementation for automatic differentiation, implementation using the IEEE
arithmetic standard, and use of PROFIL/BIAS [111, 112] and C++ for interval arithmetic
applications, is [86]. interval
2008/11/18
page 171
i
i
i
i
i
i
i
i
Appendix A
Sets and Functions
Review of Set Concepts
Set theory occupies the very foundations of mathematics, and its terminology is indispens
able in a subject such as ours. We therefore devote a few pages to a brief review of some
necessary concepts and notation.
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 ﬁnitely many elements but is also acceptable for some
inﬁnite sets such as the integers:
{. . . , −3, −2, −1, 0, 1, 2, 3, . . .}.
Alternatively, we may use the setbuilder notation
S = {x : P(x)},
which deﬁnes 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 deﬁne
the closed interval [a, b] as
[a, b] = {x ∈ R: a ≤ x ≤ b}. (A.1)
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 interval
2008/11/18
page 172
i
i
i
i
i
i
i
i
172 Appendix A. Sets and Functions
Families of Sets
Afamily (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 ﬁrst 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 ﬁfth items
are simple examples of families or collections of sets.
A family {A
1
, A
2
, A
3
, . . .} may be denoted by {A
i
} and referred to as a sequence
of sets. For a ﬁnite family, we may use notation such as {A
i
: i = 1, . . . , n} or simply
{A
1
, A
2
, . . . , A
n
}.
Subsets and Set Equality
We say that A is a subset of B, or that B contains A, and write
A ⊆ B
if every member of A is a member of B. We say that A equals B and write A = B if and
only if A ⊆ B and B ⊆ A. If A ⊆ B and A = B, then A is a proper subset of B and we
write
A ⊂ B.
The empty set is a subset of any set. Indeed, any statement about members of ∅ holds
vacuously, because it is impossible to produce a counterexample or contradiction.
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 {A
i
} we have
i
A
i
= {x : x ∈ A
i
for at least one i}. (A.2)
The notation A
1
∪ · · · ∪ A
n
may be used for a ﬁnite 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
A
i
= {x : x ∈ A
i
for every i}. (A.3)
We may use the notation A
1
∩ · · · ∩ A
n
for the intersection of a ﬁnite 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:
A
c
= {x : x / ∈ A}. interval
2008/11/18
page 173
i
i
i
i
i
i
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}.
Relations, Equivalence Relations, and Partial Orderings
Let X and Y be sets. The Cartesian product of X and Y, denoted X × Y, is the set of all
ordered pairs having ﬁrst element from X and second element from Y:
X × Y = {(x, y): x ∈ X, y ∈ Y}.
Arelation R from X to Y is a subset of X × Y. If (x, y) ∈ R, we write x R 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 xyplane. We could deﬁne many different relations
R from X to Y. One example would be the set [1, 2] × {3}.
Arelation R from X to X is said to be a relation on X. Such a relation is called
1. reﬂexive if x R x for all x ∈ X;
2. symmetric if x R y implies y R x for all x, y ∈ X;
3. transitive if x R y and y R z imply x R z for all x, y, z ∈ X;
4. antisymmetric if x R y and y R x imply x = y for all x, y ∈ X.
A relation on a set is an equivalence relation if and only if it is reﬂexive, symmetric, and
transitive.
Example A.2. The relation of geometric similarity (e.g., between similar triangles) is an
equivalence relation.
ExampleA.3. In modular arithmetic we write a ≡ b (N) whenever a−b is exactly divisible
by N. In mod12 (i.e., “clock”) arithmetic, for example, 13 ≡ 1 (12). It is easily veriﬁed
that equivalence modN is an equivalence relation.
Let R be an equivalence relation on X, and let x ∈ X. The equivalence class of x
under R is the set
C
x
= {y ∈ X: y R x}.
It can be shown that the family
{C
x
: x ∈ X}
is a partition of X, i.e., a collection of subsets of X such that every element of X belongs
to one and only one set in the collection.
Arelation R on a set X is called a partial ordering of X if and only if it is transitive.
The relations < and ≤, for example, are both partial orderings of R. interval
2008/11/18
page 174
i
i
i
i
i
i
i
i
174 Appendix A. Sets and Functions
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.
The set X is the domain of f , and Y is the codomain of f . The element
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
Ran f = {f (x): x ∈ X}.
We sometimes denote the domain of f by Domf .
Example A.4. The relation given at the end of Example A.1 is a function
f : [1, 2] → [3, 4].
It happens to be a constant function whose range contains the single value 3.
The deﬁnition of equality of sets allows us to formulate a condition for the equality of
functions. Two functions f and g are equal if and only if Domf = Domg and f (x) = g(x)
for all x ∈ Domf . Hence two functions are equal if and only if their domains are the same
and they both map elements from that common domain in precisely the same way.
If f : X → Y with A a nonempty subset of X, the function f
A
: A → Y such that
f
A
(x) = f (x) for all x ∈ A is the restriction of f to A.
By an extension of a function f : D → W, we mean
54
a function F : T → Z such
that D ⊆ T , W ⊆ Z, and F(x) = f (x) for all x ∈ D.
Afunction f : X → Y is said to be
1. onto if Ran f = Y;
2. onetoone if f (x
1
) = f (x
2
) =⇒ x
1
= x
2
whenever x
1
, x
2
∈ X.
If f : X → Y and g: Y → Z, then the composition g ◦ f is the function from X to
Z such that
g ◦ f (x) = g(f (x)) for all x ∈ X.
Because functions are deﬁned only over their domains, g ◦ f can exist only if the range of
f is included in the domain of g. Composition is generally not commutative; consider, for
example, the two functions f (x) = x
2
and g(x) = x +1:
f ◦ g(x) = (x +1)
2
= g ◦ f (x) = x
2
+1.
Composition is associative, however, with
h ◦ (g ◦ f ) = (h ◦ g) ◦ f.
54
In this deﬁnition, subset containment permits isomorphisms deﬁned 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]. interval
2008/11/18
page 175
i
i
i
i
i
i
i
i
175
The identity function for a set X is the function I
X
: X → X such that I
X
(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 = I
X
and f ◦g = I
Y
. 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 onetoone and onto.
Set Functions
Let
f : X → Y.
If A ⊆ X, we deﬁne
f (A) = {y ∈ Y : y = f (x) for some x ∈ A}. (A.4)
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 deﬁned 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
g ([−1, 1]) = [0, 1].
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:
1. f (∅) = ∅ and f
−1
(∅) = ∅;
2. S
1
⊆ S
2
=⇒ f (S
1
) ⊆ f (S
2
);
3. R
1
⊆ R
2
=⇒ f
−1
(R
1
) ⊆ f
−1
(R
2
);
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:
1. If {X
i
} is a family of subsets of X, then
(a) f
i
X
i
=
i
f (X
i
),
(b) f
i
X
i
⊆
i
f (X
i
).
2. If {Y
i
} is a family of subsets of Y, then interval
2008/11/18
page 176
i
i
i
i
i
i
i
i
176 Appendix A. Sets and Functions
(a) f
−1
i
Y
i
=
i
f
−1
(Y
i
),
(b) f
−1
i
Y
i
=
i
f
−1
(Y
i
).
Note that if f : X →Y with A and B arbitrary subsets of X and Y, respectively, then
it is not true general that f
−1
(f (A)) = A or f (f
−1
(B)) = B. However, we can see that
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. interval
2008/11/18
page 177
i
i
i
i
i
i
i
i
Appendix B
Formulary
OneDimensional Intervals
Interval
X =
X, X
= {x ∈ R : X ≤ x ≤ X}
Degenerate interval
x = [x, x]
Union and intersection
X ∩ Y = {z: z ∈ X and z ∈ Y}
X ∪ Y = {z: z ∈ X or z ∈ Y}
X ∩ Y = ∅ =⇒
X ∩ Y =
max(X, Y) , min(X, Y)
,
X ∪ Y =
min(X, Y) , max(X, Y)
Interval hull
X∪Y =
min{X, Y} , max{X, Y}
X∪Y =
= X ∪ Y if X ∩ Y = ∅,
⊃ X ∪ Y otherwise.
Width, absolute value, midpoint
w(X) = X −X, X = max(X, X), m(X) =
1
2
(X +X)
177 interval
2008/11/18
page 178
i
i
i
i
i
i
i
i
178 Appendix B. Formulary
Order relations
X < Y ⇐⇒ X < Y
X ⊆ Y ⇐⇒ Y ≤ X and X ≤ Y
Deﬁnitions of arithmetic operations
X ⊕Y = {x ⊕y : x ∈ X, y ∈ Y}, ⊕ = + − · /
Endpoint formulas for arithmetic operations
X +Y =
X +Y , X +Y
X −Y =
X −Y , X −Y
X · Y = [min S, max S] , S = {XY , XY , XY , XY}
X/Y = X · (1/Y), 1/Y =
1/Y , 1/Y
, 0 / ∈ Y
Properties of arithmetic operations
X +Y = Y +X
XY = YX
X +(Y +Z) = (X +Y) +Z
X(YZ) = (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
YZ > 0 =⇒ X(Y +Z) = XY +XZ
X +Z = Y +Z =⇒ X = Y
Relations between width and absolute value
w(aX +bY) = aw(X) +bw(Y)
w(XY) ≤ Xw(Y) +Yw(X)
w(1/Y) ≤ 1/Y
2
w(Y) if 0 / ∈ Y interval
2008/11/18
page 179
i
i
i
i
i
i
i
i
179
Interval in terms of midpoint and width
X = m(X) +
1
2
w(X)[−1, 1]
Symmetric intervals
X is symmetric ⇐⇒ X = −X
X, Y, Z symmetric =⇒
m(X) = 0,
X = w(X)/2,
X = X[−1, 1],
X +Y = X −Y = (X +Y)[−1, 1],
XY = XY[−1, 1],
X(Y ±Z) = XY +XZ = X(Y +Z)[−1, 1]
Y, Z symmetric =⇒ X(Y +Z) = XY +XZ
Interval Vectors
X = (X
1
, . . . , X
n
), where the X
i
are intervals
x ∈ X if x
i
∈ X
i
for each i
X ∩ Y = (X
1
∩ Y
1
, . . . , X
n
∩ Y
n
)
X ⊆ Y if X
i
⊆ Y
i
for each i
w(X) = max
i
w(X
i
)
m(X) = (m(X
1
), . . . , m(X
n
))
X = max
i
X
i

Interval Matrices
A = max
i
j
A
ij

w(A) = max
i,j
w(A
ij
)
(m(A))
ij
= m(A
ij
)
Interval Valued Functions
United extension
¯ g(X) = g(X) = {g(x): x ∈ X} interval
2008/11/18
page 180
i
i
i
i
i
i
i
i
180 Appendix B. Formulary
(The united extension is simply the exact range of g over X.)
Monotonicity
¯
f (X) =
f (X), f (X)
, f increasing,
f (X), f (X)
, f decreasing
Inclusion isotonicity
Y
i
⊆ X
i
for each i =⇒ F(Y
1
, . . . , Y
n
) ⊆ F(X
1
, . . . , X
n
)
Fundamental theorem of interval analysis
F an inclusion isotonic
interval extension of f
=⇒ f (X
1
, . . . , X
n
) ⊆ F(X
1
, . . . , X
n
)
Power function
X
n
= {x
n
: x ∈ X} =
X
n
, X
n
, X > 0 or n odd (or both),
X
n
, X
n
, 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(X
k
, X) < ε
Lipschitz condition
∃L such that X ⊆ X
0
=⇒ w(F(X)) ≤ Lw(X) interval
2008/11/18
page 181
i
i
i
i
i
i
i
i
181
Uniform subdivision of interval vector
X
i,j
=
X
i
+(j −1) w(X
i
)/N , X
i
+j w(X
i
)/N
X
i
= ∪
N
j=1
X
i,j
w(X
i,j
) = w(X
i
)/N
X = ∪
N
j
i
=1
(X
1,j
1
, . . . , X
n,j
n
)
w(X
1,j
1
, . . . , X
n,j
n
) = w(X)/N
Reﬁnement
F
(N)
(X) =
N
j
i
=1
F(X
1,j
1
, . . . , X
n,j
n
)
Excess width
w(E(X)) = w(F(X)) −w(f (X))
Nested sequence
X
k+1
⊆ X
k
(k = 0, 1, 2, . . .)
Finite convergence in K steps
∃K such that k ≥ K =⇒ X
k
= X
K
Iteration
X
k+1
= F(X
k
) ∩ X
k
(k = 0, 1, 2, . . .).
Onedimensional Newton’s method
X
(k+1)
= X
(k)
∩ N(X
(k)
), N(X) = m(X) −f (m(X))/F
(X)
Here, m(X) may be replaced by any y ∈ X, and there may be advantages to doing so in
particular instances and for particular k.
Integration
Endpoint formula
[a,b]
F(t ) dt =
[a,b]
F(t ) dt ,
[a,b]
F(t ) dt
interval
2008/11/18
page 182
i
i
i
i
i
i
i
i
182 Appendix B. Formulary
Polynomials
a, b have same sign =⇒
[a,b]
(A
0
+ · · · + A
q
t
q
) dt = A
0
(b − a) + · · · + A
q
(b
q+1
− a
q+1
)/(q + 1);
a, b have opposite signs =⇒
[a,b]
(A
0
+ · · · + A
q
t
q
) dt = T
0
+ T
1
+ · · · + T
q
, where
T
i
=
A
i
(b
i+1
− a
i+1
)/(i + 1), i even,
(A
i
b
i+1
− Aa
i+1
)/(i + 1) , (A
i
b
i+1
− Aa
i+1
)/(i + 1)
, i odd.
Enclosure by Taylor expansion
x(t ) ∈
N−1
k=0
(x)
k
(t − t
0
)
k
+ R
N
([t
0
, t ])(t − t
0
)
N
,
where R
N
([t
0
, t ]) is an interval enclosure for x
N
([t
0
, t ])
(x)
0
= x(t
0
), (x)
k
=
1
k!
d
k
x
dt
k
(t
0
)
Recursions for automatic differentiation
(uv)
k
=
k
j=0
(u)
j
(v)
k−j
(u/v)
k
=
1
v
(u)
k
−
k
j=1
(v)
j
(u/v)
k−j
(u
a
)
k
=
1
u
k−1
j=0
a −
j (a + 1)
k
(u)
k−j
(u
a
)
j
(e
u
)
k
=
k−1
j=0
1 −
j
k
(e
u
)
j
(u)
k−j interval
2008/11/18
page 183
i
i
i
i
i
i
i
i
183
(ln u)
k
=
1
u
(u)
k
−
k−1
j=1
1 −
j
k
(u)
j
(ln u)
k−j
(sin u)
k
=
1
k
k−1
j=0
(j +1)(cos u)
k−1−j
(u)
j+1
(cos u)
k
= −
1
k
k−1
j=0
(j +1)(sin u)
k−1−j
(u)
j+1
. interval
2008/11/18
page 184
i
i
i
i
i
i
i
i interval
2008/11/18
page 185
i
i
i
i
i
i
i
i
Appendix C
Hints for Selected Exercises
1.1. Using a pair of squares, we ﬁnd that 2
√
2 ≤ π ≤ 4. The reader may wish to try a pair
of hexagons as well.
1.2.
F
0
−F
m
0
+m
≤ a ≤
F
0
+F
m
0
−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 x
75
= (1 −10
−21
)
2
75
and use a Taylor expansion:
ln x
75
= 2
75
ln(1 −10
−21
)
= 2
75
(−10
−21
−(1/2)(10
−42
) −· · · )
= −37.77893 . . .
and so x
75
= 3.9157 . . . · 10
−17
< 10
−10
.
1.5. We can use techniques covered later to prove that we have used enough digits of
precision. However, since we are given the correct answer, we can use a variableprecision
package to try different precisions, until we ﬁnd a precision below which we obtain an
incorrect answer and above which we obtain a correct answer.
2.1. X +Y = [3, 13] and X ∪ Y = [−2, 7].
2.2. X −Y = [1, 8].
2.3. No. The interval expression X − X yields the set of all real differences x − y when
x and y are permitted to range through
X, X
independently. So, for example, we have
[0, 1] −[0, 1] = [−1, 1].
2.4. (a) [−2, 2], (b) [−12, 6], (c)
−
2
3
, −
1
5
, (d)
−
1
5
,
2
5
.
2.5. The required inner products are given by
p = (
1
√
5
,
2
√
5
, 0) · (f, 6, −7) =
1
√
5
(f +12).
185 interval
2008/11/18
page 186
i
i
i
i
i
i
i
i
186 Appendix C. Hints for Selected Exercises
Replacing f by the interval F = [1, 3], we ﬁnd that p is enclosed in the interval
P =
1
√
5
([1, 3] +12) =
1
√
5
[13, 15] = [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
4.3. Proof of (4.4).
ξ ∈ X(Y +Z) =⇒ ξ = xζ for some x ∈ X and ζ ∈ Y +Z
=⇒ ξ = x(y +z) for some x ∈ X, y ∈ Y, and z ∈ Z
=⇒ ξ = xy +xz for some pair of numbers x ∈ X, y ∈ Y
and some pair of numbers x ∈ X, z ∈ Z
=⇒ ξ ∈ XY +XZ.
Proof of (4.6). By (4.4), it sufﬁces to showthat XY +XZ ⊆ X(Y +Z). Let a ∈ XY +XZ.
Then
a = x
1
y +x
2
z for some x
1
, x
2
∈ 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
x = x
1
y
y +z
+x
2
z
y +z
∈ X,
we have a = x(y +z) ∈ X(Y +Z).
4.4.
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. interval
2008/11/18
page 187
i
i
i
i
i
i
i
i
187
4.5. Take Z = [0, 2], X = [0, 1], and Y = [1, 1].
4.6.
X =
X, X
=
1
2
(X +X) +
1
2
(X −X)[−1, 1].
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 F
1
(X) =
F(X) +X −X deﬁnes 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.ˆ66*x.ˆ5.+15.*x.ˆ420.*x.ˆ3.+15.*x.ˆ26.*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]) =
1
2
,
3
2
, but F([0, 1]) =
1
4
,
3
4
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) = −
4
3
√
2. Now the maximum value is easily
seen to be f (3) = 3. Therefore f ([0, 3]) = [−
4
3
√
2, 3]. With further calculation, we ﬁnd
that f ([0, 3]) ⊆ [−1.88562, 3].
Without using calculus, we can ﬁnd intervals enclosing the range of values found
above. First, f ([0, 3]) ⊆
1
3
[0, 3]
3
− 2[0, 3] = [−6, 9]. The form f (x) = x(
1
3
x
2
− 2),
equivalent in real arithmetic, gives f ([0, 3]) ⊆ [0, 3](
1
3
[0, 3]
2
− 2) = [0, 3][−2, 1] =
[−6, 3].
6.2. (a) We say that F(X) is continuous at X
0
if for every ε > 0 there is a positive number
δ = δ(ε) such that d(F(X), F(X
0
)) < ε whenever d(X, X
0
) < δ. Here, again, d is the
interval metric given by (6.3). interval
2008/11/18
page 188
i
i
i
i
i
i
i
i
188 Appendix C. Hints for Selected Exercises
6.3. Let A = [A, A], A
= [A
, A
], B = [B, B], B
= [B
, B
] and write
d(A +B, A
+B
) = d([A +B, A +B] , [A
+B
, A
+B
])
= max{(A +B) −(A
+B
) , (A +B) −(A
+B
)}
= max{A −A
+B −B
 , A −A
+B −B
}
≤ max{A −A
 +B −B
 , A −A
 +B −B
}
≤ max{A −A
, A −A
} +max{B −B
, B −B
}
= d(A, A
) +d(B, B
).
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 +
1
3
(Y +c)
2
+(Y +c)c +c
2
we obtain F
c
([1.2, 1.6]) ⊆ [−1.95, −1.83]. The exact minimum value for x ∈ [1.2, 1.6] is
at x =
√
2 and is f (
√
2) = −1.8856 . . .. So the exact range of values is
[−1.8856 . . . , −1.824 . . .]
because max(f (1, 2), f (1.6)) = −1.824 . . ..
6.11. Since f
(x) = x
2
− 2, we take DF(X) = X
2
− 2. Then DF([1.2, 1.6]) =
[−0.56, 0.56] and
F
mv
([1.2, 1.6]) = f (1.4) +[−0.56, 0.56][−0.2, 0.2]
= −1.885333 . . . +[−0.112, 0.112]
⊆ [−2.01, −1.77].
In this example (as in most others) F
c
is narrower.
7.5. We have
(R
1
+R
2
)I
1
−R
2
I
2
= V
1
,
−R
2
I
1
+(R
2
+R
3
)I
2
= −V
2
,
with V
1
= 10, V
2
= 5, and interval coefﬁcients determined by R
1
= R
2
= R
3
= 1000 ±
10%. So R
1
= R
2
= R
3
= [900, 1100]. We can apply the Gaussian elimination process
shown in the text. We ﬁrst notice that the multiplier a
21
/a
11
becomes −R
2
/(R
1
+ R
2
)
which, as we have seen in an earlier chapter, is better written as −1/(1 + R
1
/R
2
) for
interval computation. In fact, with the given data R
1
= R
2
= R
3
= [900, 1100], the ﬁrst
expression yields
−[900, 1100]/([900, 1100] +[900, 1100]) = −[
9
22
,
11
18
] = −[0.409 . . . , 0.611 . . .],
whereas the second one yields the narrower interval enclosure
−1/(1 +[900, 1100]/[900, 1100]) = −[
9
20
,
11
20
] = −[0.45, 0.55]. interval
2008/11/18
page 189
i
i
i
i
i
i
i
i
189
Using this interval multiplier, the Gaussian formulas, evaluated in IA at the third or fourth
nonzero digit, yield the results
([1800, 2200] −(−[0.45, 0.55])(−[900, 1100]))I
2
= −5 −(−[0.45, 0.55])10,
[1800, 2200]I
1
= 10 −(−[900, 1100])I
2
,
so
[1195, 1795]I
2
= −5 +[4.5, 5.5] = [−0.5, 0.5]
and
I
2
= [1/1795, 1/1195][−0.5, 0.5] = [−0.000419, 0.000419]
and
I
1
= [1/2200, 1/1800](10 +[900, 1100][−0.000419, 0.000419])
= [1/2200, 1/1800](10 +[−0.4609, 0.4609])
= [1/2200, 1/1800][9.5291, 10.4609].
Our result is that the interval vector (I
1
, I
2
) encloses the set of all real vector solution points
for any real number choices of coefﬁcients from the given interval coefﬁcients, where
I
1
= [0.00433, 0.00582] and I
2
= [−0.000419, 0.000419].
8.3.
m(X
(0)
) −
[m(X
(0)
)]
2
−2
2X
(0)
= 5 −
25 −2
2[4, 6]
= [
17
8
,
37
12
].
8.6. (−∞, −
1
24
] ∪ [
1
3
, ∞).
8.7. We seek x such that x
3
= 5x +1. To ﬁnd a good starting interval, examine the graphs
of y = x
3
and y = 5x +1.
8.8. First note that an object with speciﬁc gravity < 1 will ﬂoat. 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 ﬁnd 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
computedwithinterval arithmetic, andthe lower boundof that result is usedtoformthe lower
bound of the semiinﬁnite interval. Asimilar technique is used for Case 2 and Case 3. Also,
the Cset model used in this function has underlying set of numbers the ﬁnite reals (i.e., it does
not include −∞and∞as numbers). If the extendedreals were usedas the underlyingmodel,
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 ﬁnite version of Cset theory in some cases, if one
interprets [NaN,NaN] as the empty set, but INTLAB does not follow it consistently: Try
interv
2008/11/
page 190
i
i
i
i
i
i
i
i
190 Appendix C. Hints for Selected Exercises
computing infsup(0,0)/infsup(1,1), infsup(0,0)/infsup(0,0), etc. Also see
Note 3 on p. 114.
8.11. In the given equation f (I) = 0, the function f (I) can be simpliﬁed:
ln(10
9
I) = ln(10
9
) + ln(I),
so
f (I) = 0.8922390 − I − 0.0052 ln(I).
f (I) is clearly negative for I > 1 and positive for I < 0.892239. Thus, there is exactly
one real positive zero in [0.8922390, 1.0]. We have
f
(I) = −1 − 0.0052/I
so starting with X = [0.892239, 1.0], we can compute an interval Newton iteration as
follows:
m(X) = 0.9461195,
f (m(X)) = 0.892239 − 0.9461195 − 0.0052 ln(0.9461195)
= −0.053592491,
f
(X) = f
([0.892239, 1.0])
= −1 − 0.0052/[0.892239, 1.0]
= [−1.005828036, −1.0052],
N(X) = 0.9461195 − {−0.053592491/[−1.005828036, −1.0052]}
= [0.8928042, 0.8928376].
Intersecting that with X = [0.892239, 1.0] does not change it, because N(X) is already
contained in X. In fact it contains the unique solution to the problem and is already an
interval of width about 3 × 10
−5
.
8.12. Aberth’s RANGEyields the followingsolutions: (1) for the searchinterval [1.25, 1.35],
the solution θ
i
= 1.30958 radians (75.0334
◦
); (2) for the search interval [0.73, 0.9], the so
lution θ
i
= 0.76551 radians (43.8605
◦
).
8.13. As can be seen graphically, there are two solutions
X = ±
0.7071 · · ·
0.7071 · · ·
.
8.14. I = 0.94641, V = 1.071715.
8.15. There are three critical points: to ﬁve places they are (0.06264, 0.75824), (0.28537,
0.60975), and (0.88443, 0.21038).
To see that the starting box X
0
= ([0, 1], [0, 1]) is large enough, superpose two plots
of x
2
vs. x
1
: one fromthe ﬁrst equation (involving the ﬁfthdegree polynomial) and one from
the second equation (straight line). It should be obvious that there are three intersection
points, all having x
1
∈ [0, 1]. Then return to the straight line equation to see that these
intersections all have x
2
∈ [0, 1] as well.
8.20. First, your results may differ, depending upon howINTLABis set to display intervals.
Observe the following dialogue: interval
2008/11/18
page 191
i
i
i
i
i
i
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 ﬁrst 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 complexvalued 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
At
k
=
_
At
k
, At
k
_
=
_
_
t
k
A, t
k
A
_
, t > 0,
_
t
k
A, t
k
A
_
, t < 0.
Therefore
_
[a,b]
At
k
dt =
_
[a,0]
At
k
dt +
_
[0,b]
At
k
dt
=
__
[a,0]
At
k
dt ,
_
[a,0]
At
k
dt
_
+
__
[0,b]
At
k
dt ,
_
[0,b]
At
k
dt
_
=
__
[a,0]
At
k
dt ,
_
[a,0]
At
k
dt
_
+
__
[0,b]
At
k
dt ,
_
[0,b]
At
k
dt
_
=
_
−
a
k+1
k + 1
A, −
a
k+1
k + 1
A
_
+
_
b
k+1
k + 1
A,
b
k+1
k + 1
A
_
=
_
b
k+1
A − a
k+1
A
k + 1
,
b
k+1
A − a
k+1
A
k + 1
_
.
Note: The result is equivalent to
{b
k+1
/(k + 1)}A − {a
k+1
/(k + 1)}A, (*)
but this is not the same as {b
k+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 ﬁnds (a) 6.74300141925; (b) 0.6314179219. interval
2008/11/18
page 192
i
i
i
i
i
i
i
i
192 Appendix C. Hints for Selected Exercises
9.4. From (9.12) and F(t ) ⊆ G(t ), we have G ≤ F and F ≤ G so (9.13) follows.
9.6. The ﬁrst two formulas are an exercise in elementary calculus. The third is essentially
the Leibnitz formula
d
k
(uv)
dx
k
=
k
j=0
k
j
d
j
u
dx
j
d
k−j
v
dx
k−j
,
where the binomial coefﬁcient
k
j
=
k!
j!(k −j)!
can be broken up into its three factors to obtain (dividing both sides of the Leibnitz formula
by k!)
1
k!
d
k
(uv)
dx
k
=
k
j=0
1
j!
d
j
u
dx
j
1
(k −j)!
d
k−j
v
dx
k−j
=
k
j=0
(u)
j
(v)
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
(f )
K
(t ) =
1
K!
d
K
dt
K
(1/t ) =
(−1)
K
t
K+1
,
so
(f )
K
(X
i
) =
(−1)
K
X
K+1
i
,
where X
i
is a subinterval of the integration interval [1, 2]. Write X
i
=
X
i
, X
i
and carry
out the interval arithmetic:
(f )
K
(X
i
) =
(−1)
K
[X
i
, X
i
]
K+1
=
(−1)
K
[X
K+1
i
, X
K+1
i
]
= (−1)
K
1
X
K+1
i
,
1
X
K+1
i
.
For K even, the left side of (9.40) is
w((f )
K
(X
i
)) =
1
X
K+1
i
−
1
X
K+1
i
.
From this, since 1 ≤ X
i
< X
i
≤ 2, it follows that
w((f )
K
(X
i
)) ≤ (K +1)(X
i
−X
i
).
Just write
1
X
K+1
i
−
1
X
K+1
i
=
X
K+1
i
−X
K+1
i
X
K+1
i
X
K+1
i
= (X
i
−X
i
)[sum of K +1 terms],
each of them ≤ 1. interval
2008/11/18
page 193
i
i
i
i
i
i
i
i
193
9.11.
1
0
1−x
1
0
1−x
1
−x
2
0
(x
2
1
+x
2
2
+x
2
3
)e
−x
1
x
2
x
3
dx
3
dx
2
dx
1
= 0.04955715430˜.
10.3. (a) We can take Y
(0)
= [1, b] for b > 1 and ﬁnd that
P(Y
(0)
)(t ) = 1 +
t
0
[1, b
2
] ds = 1 +[1, b
2
]t ⊆ [1, b] for t ∈ [0, (b −1)/b
2
].
The maximum value that (b −1)/b
2
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
. interval
2008/11/18
page 194
i
i
i
i
i
i
i
i interval
2008/11/18
page 195
i
i
i
i
i
i
i
i
Appendix D
Internet Resources
Interval analysis is a rapidly evolving area with an everexpanding 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 himor her. The purpose of this appendix is merely to suggest
two starting points.
Interval Computations Site
The Interval Computations site
http://www.cs.utep.edu/intervalcomp/
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.
Web Page for This Book
The authors will maintain a web page at
http://www.siam.org/books/ot110
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 interval
2008/11/18
page 196
i
i
i
i
i
i
i
i interval
2008/11/18
page 197
i
i
i
i
i
i
i
i
Appendix E
INTLAB Commands and
Functions
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 froma MATLABcommand window. You will then see basic MATLAB
help for sin, along with a listing, in blue, of links to directories of deﬁnitions 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).
Some Basic Commands
Here we let X denote an interval, and a, b, c, and d real numbers.
intvalinit(’DisplayInfsup’): infsup default display
intvalinit(’DisplayMidrad’): midpointradius default display
intvalinit(’Display_’): uncertainty representation default display
X = infsup(a,b): deﬁnes X as [a, b]
X = midrad(a,b): deﬁnes X as [c, d] = [a −b, a +b]
+, , *, /, \,
∧
,
: interval arithmetic operations, as deﬁned in MATLAB. As in
MATLAB, these can be applied to matrices.
== , >=, <= , >, <,
∼
= : logical operators, as in MATLAB, but with interval inter
pretations
197 interval
2008/11/18
page 198
i
i
i
i
i
i
i
i
198 Appendix E. INTLAB Commands and Functions
Some Special Interval Functions
These are functions special to the interval computations. Many can be applied when X and
Y are interval vectors or matrices.
diam(X): width of X
hull(X,Y): interval hull of X and Y
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)
inf(X): lower bound on X
intersect(X,Y): intersection of X and Y
inv(A): interval inverse of the matrix A, if it can be computed
isempty(X): returns 1 if and only if X is the empty interval
isintval(X): returns 1 if and only if X is an interval data type
mag(X): magnitude of X (applied componentwise for arrays)
mid(A): midpoint of A
mig(X): mignitude of X
rad(X): radius of the interval X (half of diam(X))
sup(X): upper bound on X
Some Standard Functions Implemented in INTLAB
These functions return interval bounds on the ranges of the corresponding realvalued func
tions. The bounds are generally good approximations to the narrowest possible bounds.
abs asin coth sin
acos asinh csc sinh
acosh atan exp sqrt
acot atanh log sum
acoth cos log10 tan
acsc cosh log2 tanh
asec cot sec
interval
2008/11/18
page 199
i
i
i
i
i
i
i
i
199
INTLAB’s Plotting Facilities
INTLAB has overloaded MATLAB’s plot, semilogx, and semilogy routines and also
has special routines plotintval and plotlinsol.
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 (X
i
, Y
i
) pair. If X is interval and y is real,
plot(X,y) plots a horizontal line for each (X, y) pair.
semilogx(X,Y), semilogy(X,Y), loglog(X,Y): Overall, these behave as plot for
one or both of abscissa X and ordinate Y interval. However, when x is real and Y
is interval, the area between the lower bound curve and upper bound curve is not
shaded, as it is for plot. As in the versions that come with MATLAB, semilogx,
semilogy, and loglog plot the xaxis, yaxis, and both axes on a logarithmic scale,
respectively.
plotintval(X): If X is an ndimensional complex interval vector, plotintval plots
each component as a circle in the complex plane. If X is a twodimensional array of
real intervals with dimensions (2,N) representing lower bounds and upper bounds of
an Ndimensional interval vector, plotintval plots each interval vector [X
1,i
, X
2,i
]
as a box in the xyplane. Neither the circles nor the boxes are shaded, but their outlines
are plotted in colors that cycle.
plotlinsol(A,B): This routine plots the solution set to an interval linear systemAX = 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).
Some Other MATLAB Functions Overloaded in INTLAB
The following is a partial list of additional MATLABfunctions that can be applied to interval
data types:
diag isnan norm spdiags
dim isreal real spones
disp2str issparse repmat spy
display iszero reshape trace
find length numel transpose
full imag relerr tril
isfinite logical size triu
isinf nonzeros sparse
Particularly noteworthy is INTLAB’s support for sparse matrices. interval
2008/11/18
page 200
i
i
i
i
i
i
i
i
200 Appendix E. INTLAB Commands and Functions
INTLAB’s MatrixVector Arithmetic
INTLAB uses midpointradius representation of intervals in matrixvector multiplication
in such a way that the rounding mode (round down or round up) need not be switched
after each individual intervalinterval multiplication. However, a consequence is that the
result of the individual multiplications is not sharp. The results are sharp when the intervals
are symmetric about 0, e.g., [−3, 3], and such intervals occur in the Krawczyk method in
E = I −YA when Y is a good approximation to m(A)
−1
(see (7.7) on p. 91) or in (X −y)
when y −m(X) (see (8.13) on p. 116). In other cases, the results can be far from exact. For
example, to check Example 7.2 on p. 86, we see the following:
>> intvalinit(’FastIVmult’)
===> Fast interval matrix multiplication in use (maximum
overestimation factor 1.5 in radius)
>> A = [infsup(1,2) infsup(3,4)]
intval A =
[ 1.0000 , 2.0000 ] [ 3.0000 , 4.0000 ]
>> B = [infsup(5,6) infsup(7,8); infsup(9,10), infsup(11,12)]
intval B =
[ 5.0000 , 6.0000 ] [ 7.0000 , 8.0000 ]
[ 9.0000 , 10.0000 ] [ 11.0000 , 12.0000 ]
>> A*B
intval ans =
[ 31.0000 , 52.0000 ] [ 39.0000 , 64.0000 ]
intvalinit(’SharpIVmult’)
===> Slow but sharp interval matrix multiplication in use
>> A*B
intval ans =
[ 32.0000 , 52.0000 ] [ 40.0000 , 64.0000 ]
The startintlab.m ﬁle distributed with INTLAB may specify fast matrixvector 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.
Some Other INTLAB Routines
These implement some other useful features only in INTLAB, as well as certain less fun
damental algorithms in interval computations:
circulant, gershgorin, lssresidual, toeplitz.
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. interval
2008/11/18
page 201
i
i
i
i
i
i
i
i
References
[1] Oliver Aberth. Precise Numerical Methods Using C++. Academic Press, NewYork,
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 interval
2008/11/18
page 202
i
i
i
i
i
i
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] NikolaosApostolatos, UlrichW. Kulisch, Rudolf Krawczyk, B. Lortz, Karl L. Nickel,
and HansWilmWippermann. The algorithmic language TriplexALGOL60. Numer.
Math., 11(2):175–180, Feb. 1968.
[19] NikolaosApostolatos, UlrichW. Kulisch, andKarl L. Nickel. EinEinschliessungsver
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. Newmethods for highdimensional veriﬁed 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 YounKyung Kim. Longterm stability of the teva
tron by veriﬁed 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. interval
2008/11/18
page 203
i
i
i
i
i
i
i
i
References 203
[27] Folkmar Bornemann, Dirk Laurie, Stanley Wagon, and Jörg Waldvogel. The SIAM
100Digit Challenge: A Study in HighAccuracy 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 KreisStandardfunktionen. 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 CDC3600 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: Apower 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 JeanPierre Merlet. An interval
analysis based study for the design and the comparison of threedegreesoffreedom
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 coefﬁcients. 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, selfvalidating 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 ErrorBound Arithmetic. Technical report, IBM Research Laboratory,
Rueschlikon, Switzerland, 1966. interval
2008/11/18
page 204
i
i
i
i
i
i
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.
[45] Bo Einarsson, editor. Accuracy and Reliability in Scientiﬁc Computing. SIAM,
Philadelphia, 2005.
[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] ChaoYang Gau and MarkA. Stadtherr. Dynamic load balancing for parallel interval
Newton using message passing. Comput. Chemical Engrg., 26:811–815, June 2002.
[49] ChaoYang 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. Algorithm852: RealPaver: An interval
solver using constraint satisfaction techniques. ACMTrans. Math. Softw., 32(1):138–
156, 2006.
[53] Andreas Griewank. Evaluating Derivatives: Principles and Techniques of Algorith
mic Differentiation. Frontiers in Appl. Math., 19, SIAM, Philadelphia, 2000.
[54] Andreas Griewank and George F. F. Corliss, editors. Automatic Differentiation of
Algorithms: Theory, Implementation, and Application. SIAM, Philadelphia, 1991.
[55] Angelika C. Hailer. Veriﬁcation of Branch and Bound Algorithms Applied to Water
Distribution Network Design. Logos Verlag, Berlin, 2006. Dissertation, Technische
Universität Hamburg, Harburg.
[56] Rolf Hammer, Matthias Hocks, Ulrich W. Kulisch, and Dietmar Ratz. Numerical
Toolbox for Veriﬁed Computing I—Basic Numerical Problems. SpringerVerlag,
Heidelberg, 1993.
[57] E. Hansen and G. W. Walster. Global Optimization Using Interval Analysis. Marcel
Dekker, New York, 2003. interval
2008/11/18
page 205
i
i
i
i
i
i
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 coefﬁcients. In Eldon R.
Hansen, editor, Topics in Interval Analysis, Oxford University Press, London, 1969,
pp. 35–46.
[62] Eldon R. Hansen. On solving twopoint boundaryvalue problems using interval
arithmetic. In Eldon R. Hansen, editor, Topics in Interval Analysis, Oxford University
Press, London, 1969, pp. 74–90.
[63] Eldon R. Hansen. Topics in Interval Analysis. Oxford University Press, London,
1969.
[64] Eldon R. Hansen. Interval forms of Newton’s method. Computing, 20:153–163,
1978.
[65] Eldon R. Hansen. Global Optimization Using Interval Analysis. Marcel Dekker,
New York, 1992.
[66] Eldon R. Hansen and Saumyendra Sengupta. Bounding solutions of systems of
equations using interval analysis. BIT(Nordisk tidskrift for informationsbehandling),
21(2):203–211, June 1981.
[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 422663, 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 Scientiﬁc Computing,
vol. 1, IMACS, Plantation, FL, 1982, pp. 379–381.
[70] G. I. Hargreaves. Interval Analysis in MATLAB. Master’s thesis, Department of
Mathematics, University of Manchester, 2002.
[71] Joel Hass, Michael Hutchings, and Roger Schlaﬂy. The double bubble conjecture.
Electronic Research Announcements of the American Mathematical Society, 1:98–
102, 1995. interval
2008/11/18
page 206
i
i
i
i
i
i
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.
[74] Jürgen Herzberger. Intervallmässige Auswertung von Standardfunktionen in Algol
60. Computing, 5:377–384, 1970.
[75] Jürgen Herzberger. Zur Konvergenz intervallmässiger Iterationsverfahren. Z. Angew.
Math. Mech., 51:T56, 1971.
[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.
[78] Jürgen Herzberger. Bemerkungen zu einem Verfahren von Ramon E. Moore.
Z. Angew. Math. Mech., 53:356–358, 1973.
[79] Desmond J. Higham and Nicholas J. Higham. MATLAB Guide. SIAM, Philadelphia,
2000.
[80] Werner Hofschuster and Walter Krämer. CXSC 2.0—A C++ library for extended
scientiﬁc computing. Lecture Notes in Comput. Sci., 2991, SpringerVerlag, New
York, 2004, pp. 15–35.
[81] Oliver Holzmann, Bruno Lang, and Holger Schütt. Newton’s constant of gravitation
and veriﬁed 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 semideﬁnite programming. SIAM J. Numer. Anal., 46(1):180–200,
2007.
[86] Luc Jaulin, Michel Keiffer, Olivier Didrit, and Eric Walter. Applied Interval Analysis.
SpringerVerlag, Berlin, 2001.
[87] William M. Kahan. A computable errorbound for systems of ordinary differential
equations (abstract). SIAM Rev., 8:568–569, 1966. interval
2008/11/18
page 207
i
i
i
i
i
i
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. Grifﬁth, 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. Veriﬁed branch and bound for singular linear and nonlinear
programs: An epsiloninﬂation process, April 2007. Available from the author.
[101] Ralph Baker Kearfott, Milinde Dawande, Kaisheng Du, and Chenyi Hu. Algorithm
737: INTLIB: Aportable Fortran77 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. interval
2008/11/18
page 208
i
i
i
i
i
i
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 veriﬁed computations: Four case studies. Lecture
Notes in Comput. Sci., 2991, SpringerVerlag, 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. WilliamWalster. On stopping criteria in veriﬁed nonlin
ear systems or optimization algorithms. ACMTrans. Math. Software, 26(3):373–389,
Sept. 2000.
[107] Gershon Kedem. A posteriori error bounds for twopoint 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 Scientiﬁc, Singapore,
2003.
[115] Hasan Ugur Köylüoglu, Ahmet ¸ S. Ç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 Scientiﬁc Computing, Com
puter Arithmetic and Validated Numerics (SCAN 2006), IEEE Computer Society,
Washington, DC, 2006, p. 26.
[117] Walter Krämer, UlrichW. Kulisch, andRudolf Lohner. Numerical Toolbox for Veriﬁed
Computing II: Advanced Numerical Problems. SpringerVerlag, New York, 2006. interval
2008/11/18
page 209
i
i
i
i
i
i
i
i
References 209
[118] Walter Krämer and Stefan Wedner. Two adaptive Gauss–Legendre type algorithms
for the veriﬁed computation of deﬁnite integrals. Reliable Comput., 2(3):241–254,
1996.
[119] Rudolf Krawczyk. NewtonAlgorithmenzur BestimmungvonNullstellenmit 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ˇri Rohn, and Patrick Kahl. Computational
Complexity and Feasibility of Data Processing and Interval Computations, Applied
Optimization 10, Kluwer Academic Publishers, Dordrecht, The Netherlands, 1998.
[122] Ulrich W. Kulisch. An axiomatic approach to rounded computations. Numer. Math.,
18:1–17, 1971.
[123] Ulrich W. Kulisch. Grundzüge der Intervallrechnung. In Detlef Laugwitz, editor,
Überblicke Mathematik 2, Bibliographisches Institut, Mannheim, 1969, pp. 51–98.
[124] UlrichW. 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:
Anew 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.
[128] Bruno Lang. Veriﬁed quadrature in determining Newton’s constant of gravitation.
J. Universal Comput. Sci., 4(1):16–24, Jan. 1998.
[129] Bruno Lang. Derivativebased subdivision in multidimensional veriﬁed Gaussian
quadrature. In Götz Alefeld, Jiri Rohn, Siegfried M. Rump, and Tetsuro Yamamoto,
editors, Symbolic Algebraic Methods and Veriﬁcation Methods, SpringerVerlag,
New York, 2001, pp. 145–152.
[130] Yahia Lebbah, Claude Michel, Michel Rueher, David Daney, and JeanPierre Merlet.
Efﬁcient and safe global constraints for handling numerical constraint systems. SIAM
J. Numer. Anal., 42(5):2076–2097, 2005.
[131] Eric Lee, Constantinos Mavroidis, and JeanPierre Merlet. Five precision point
synthesis of spatial RRR manipulators using interval analysis. J. Mech. Design,
126:842–849, 2004. interval
2008/11/18
page 210
i
i
i
i
i
i
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] YoudongLin, JoshuaA. Enszer, andMarkA. Stadtherr. Enclosingall 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 sorbatezeolite
potential energy surfaces using interval analysis. J. Chem. Phys., 121:10159–10166,
2004.
[136] Youdong Lin and Mark A. Stadtherr. LP strategy for intervalNewton 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 byTaylor model
based veriﬁed integrators: Longterm 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 GMR4971. General Motors
Research Laboratories, Warren, MI, 1985.
[142] JeanPierre 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 inAnalysis.
SpringerVerlag, 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. interval
2008/11/18
page 211
i
i
i
i
i
i
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. PrenticeHall, Englewood Cliffs, NJ, 1966.
[149] Ramon E. Moore. Mathematical Elements of Scientiﬁc Computing. Holt, Rinehart,
and Winston, New York, 1975.
[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 LMSC690646, Lockheed
Missiles and Space, Lockheed, CA, 1964.
[158] Ramon E. Moore, Eldon R. Hansen, andAnthony 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] Raﬁ L. Muhanna and Robert L. Mullen. Development of interval based methods
for fuzziness in continuummechanics. In ISUMA ’95: Proceedings of the 3rd
International Symposium on Uncertainty Modelling and Analysis, IEEE Computer
Society, Washington, DC, 1995, p. 705.
[161] Raﬁ L. Muhanna and Robert L. Mullen. Formulation of fuzzy ﬁniteelement methods
for mechanics problems. ComputerAided Civil and Infrastructure Engineering,
14(2):107–117, 1999.
[162] Raﬁ L. Muhanna and Robert L. Mullen. Uncertainty in mechanics problems.
J. Engrg. Mech., 127:557–566, 2001. interval
2008/11/18
page 212
i
i
i
i
i
i
i
i
212 References
[163] Raﬁ L. Muhanna, Hao Zhang, and Robert L. Mullen. Interval ﬁnite elements as
a basis for generalized models of uncertainty in engineering mechanics. Reliable
Comput., 13:173–194, April 2007.
[164] Kaori Nagatou. Acomputerassisted proof on the stability of the Kolmogorov ﬂows
of incompressible viscous ﬂuid. J. Comput. Appl. Math., 169(1):33–44, 2004.
[165] Yusuke Naka, Assad A. Oberai, and Barbara G. ShinnCunningham. 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 veriﬁcation 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.
[168] Arnold Neumaier. A simple derivation of the HansenBliekRohnNingKearfott
enclosure for linear interval equations. Reliable Comput., 5:131–136, 1999.
[169] ArnoldNeumaier. Taylor forms—use andlimits. 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, ValbonneSophia Antipolis,
France, October 2002. Lecture Notes in Computer Science 2861, SpringerVerlag,
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 mixedinteger
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. interval
2008/11/18
page 213
i
i
i
i
i
i
i
i
References 213
[178] Karl L. Nickel. Quadraturverfahren mit Fehlerschranken. Z. Angew. Math. Mech.,
47:T68–T69, 1967.
[179] Karl L. Nickel. Zwei neue RechenmaschinenSysteme an der TH Karlsruhe:
HydraX8 und TriplexAlgolZ23. Umschau, 67:525–526, 1967.
[180] Karl L. Nickel. On the Newton Method in Interval Analysis. Technical Report 1136,
Mathematics Research Center, University of Wisconsin, Dec. 1971.
[181] Karl L. Nickel. The Contraction Mapping Fixpoint Theorem in Interval Analysis.
Technical Report 1334, Mathematics Research Center, University of Wisconsin,
March 1973.
[182] Karl L. Nickel. The overestimation of the range of a function in interval mathematics
with applications to the solution of linear systems of equations. Technical Report
1593, Mathematics Research Center, University of Wisconsin, Dec. 1975. Appeared
as Die Überschätzung des Wertebereichs einer Funktion in der Intervallrechnung
mit Anwendungen auf lineare Gleichungssysteme, Computing, 18(1):15–36, 1977.
(March, 1977).
[183] Karl L. Nickel. Using interval methods for the numerical solution of ODE’s.
Z. Angew. Math. Mech., 66:513–523, 1986.
[184] Shiying Ning and Ralph Baker Kearfott. Acomparison of some methods for solving
linear interval equations. SIAM J. Numer. Anal., 34(4):1289–1305, 1997.
[185] Takeshi Ogita, Siegfried M. Rump, and Shin’ichi Oishi. Accurate sum and dot
product. SIAM J. Sci. Comput., 26(6):1955–1988, 2005.
[186] Shin’ichi Oishi, Kunio Tanabe, Takeshi Ogita, and Siegfried M. Rump. Convergence
of Rump’s method for inverting arbitrarily illconditioned matrices. J. Comput.
Appl. Math., 205(1):533–544, 2007.
[187] F. Aleixo Oliveira. Interval analysis and twopoint boundary value problems. SIAM
J. Numer. Anal., 11(2):382–391, 1974.
[188] James M. Ortega and Werner C. Rheinboldt. Iterative Solution of Nonlinear
Equations in Several Variables. Academic Press, New York, 1970.
[189] Katsuhisa Ozaki, Takeshi Ogita, Shinya Miyajima, Shin’ichi Oishi, and Siegfried M.
Rump. A method of obtaining veriﬁed solutions for linear systems suited for Java.
J. Comput. Appl. Math., 199(2):337–344, 2007.
[190] Miodrag S. Petkovi´ c and Ljiljana D. Petkovi´ c. Complex Interval Arithmetic and Its
Applications. Wiley, New York, 1998.
[191] Knut Petras. Principles of veriﬁed numerical integration. J. Comput. Appl. Math.,
199(2):317–328, 2007.
[192] Aurelio Piazzi and Antonio Visioli. Global minimumjerk trajectory planning of
robot manipulators. IEEE Trans. Industrial Electronics, 47:140–149, Feb. 2000. interval
2008/11/18
page 214
i
i
i
i
i
i
i
i
214 References
[193] Michael Plum. Computerassisted enclosure methods for elliptic differential
equations. Linear Algebra and Its Applications, 324:147–187, Feb. 2001.
[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, NewYork, 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 ﬁnite case. SIAM J. Math. Anal., 13:690–697, 1982.
[200] Louis B. Rall. Automatic Differentiation: Techniques and Applications. Lecture
Notes in Computer Science 120. SpringerVerlag, Berlin, 1981.
[201] Louis B. Rall. Interval analysis: Anewtool for applied mathematics. In Transactions
of the TwentySeventh Conference of Army Mathematicians, Army Research Ofﬁce,
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.
[204] Louis B. Rall. A theory of interval iteration. Proceedings of the American
Mathematical Society, 86:625–631, 1982.
[205] Louis B. Rall. Interval bounds for stationary values of functionals. Nonlinear Anal.,
6:855–861, 1982.
[206] Louis B. Rall. Interval methods for ﬁxedpoint 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, SpringerVerlag, New York, 1986,
pp. 143–155.
[209] Helmut Ratschek. Centered forms. SIAM J. Numer. Anal., 17(5):656–662, 1980. interval
2008/11/18
page 215
i
i
i
i
i
i
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.
[214] Gerald Recktenwald. Numerical Methods with MATLAB: Implementations and
Applications. Prentice–Hall, Englewood Cliffs, NJ, 2000.
[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(12):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.
[218] Siegfried M. Rump. Kleine Fehlerschranken bei Matrixproblemen. Dissertation,
Universität Karlsruhe, Germany, 1980.
[219] Siegfried M. Rump. Solving algebraic systems with high accuracy. In Ulrich W.
Kulisch and Willard L. Miranker, editors, ANewApproach to Scientiﬁc Computation,
Academic Press, New York, 1983, pp. 51–120.
[220] Siegfried M. Rump. Algebraic Computation, Numerical Computation and Veriﬁed
Inclusions. In R. Janssen, editor, Trends in Computer Algebra, Lecture Notes in
Computer Science 296, 1988, pp. 177–197.
[221] Siegfried M. Rump. Veriﬁcation methods for dense and sparse systems of equations.
In Jürgen Herzberger, editor, Topics in Validated Computations: Proceedings of
IMACSGAMM 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. interval
2008/11/18
page 216
i
i
i
i
i
i
i
i
216 References
[224] Siegfried M. Rump. INTLAB–INTerval LABoratory. In Tibor Csendes, editor,
Developments in Reliable Computing: Papers presented at the International Sym
posium on Scientiﬁc Computing, Computer Arithmetic, and Validated Numerics,
SCAN98, in Szeged, Hungary, Reliable Computing 5(3), Kluwer Academic
Publishers, Dordrecht, The Netherlands, 1999, pp. 77–104.
[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. Superfast validated solution of linear
systems. J. Comput. Appl. Math., 199(2):199–206, 2007.
[227] Nikolaos V. Sahinidis. BARON: A general purpose global optimization software
package. J. Global Optim., 8(2):201–205, 1996.
[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 veriﬁzierten 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
beneﬁt 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.
[234] Ivan S. Sokolnikoff and Raymond M. Redheffer. Mathematics of Physics and
Modern Engineering. McGrawHill, New York, 1966.
[235] Bert Speelpenning. Compiling Fast Partial Derivatives of Functions Given by
Algorithms. Ph.D. thesis, Department of Computer Science, University of Illinois,
UrbanaChampaign, Jan. 1980.
[236] Mark A. Stadtherr. Interval analysis: Application to chemical engineering design
problems. In Arieh Iserles, editor, Encyclopedia of Optimization, Kluwer Academic
Publishers, Dordrecht, The Netherlands, 2001.
[237] Mark A. Stadtherr. Interval analysis: Application to phase equilibrium problems. In
Arieh Iserles, editor, Encyclopedia of Optimization. Kluwer Academic Publishers,
Dordrecht, The Netherlands, 2001. interval
2008/11/18
page 217
i
i
i
i
i
i
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.
SpringerVerlag, 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, NewYork, 2003.
[241] Mohit Tawarmalani and Nikolaos V. Sahinidis. Convexiﬁcation and Global
Optimization in Continuous and MixedInteger Nonlinear Programming: Theory,
Algorithms, Software, and Applications. Kluwer Academic Publishers, Dordrecht,
The Netherlands, 2002.
[242] Kenji Toyonaga, Mitsuhiro T. Nakao, and Yoshitaka Watanabe. Veriﬁed numerical
computations for multiple and nearly multiple eigenvalues of elliptic operators.
J. Comput. Appl. Math., 147(1):175–190, 2002.
[243] LungWen Tsai and Alexander P. Morgan. Solving the kinematics of the most
general six and ﬁvedegreeoffreedom manipulators by continuation methods.
ASME J. Mechanisms Transmissions Automation in Design, 107:189–200, 1985.
[244] Warwick Tucker. Arigorous 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. Anumerical veriﬁcation method for solutions of boundary value
problems with local uniqueness by Banach’s ﬁxedpoint 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. interval
2008/11/18
page 218
i
i
i
i
i
i
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 PrecisionVersion. Tech
nical Report 1908, Mathematics ResearchCenter, Universityof 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. interval
2008/11/18
page 219
i
i
i
i
i
i
i
i
Index
Aberth, O., 34, 122, 133, 146, 147, 155
absolute value, 9
accurate dot product, 28
addition of intervals, 10, 11
associativity, 31
commutativity, 31
additive identity element, 31
Alefeld, G., 17, 76
Archimedes’ method, 1, 4
associative laws, 31
atomic energy lower bounds, 158
automatic differentiation, 109, 129, 137
backward mode, 141
forward mode, 141
backwardmode, automatic differentiation,
141
Banach spaces, 128
BARON, 82, 167
barycentric coordinates, 145
Berz, M., 147, 155
binary arithmetic, IEEE, 23
box, 15
branchandbound algorithm, 82
branching, 62
CXSC, 28
cancellation law, 33
Cartesian product, 173
Center for Reliable Engineering Comput
ing, 169
centered form, 67
chaos, 158
chemical engineering, 163
chemical kinetics equilibrium, 163
closed interval, 2, 7
clustering problem, 83
code list, 65
codomain, 174
commutative laws, 31
complement, 172
complex eigenvalues, 170
complex roots, 170
composition, 174
computational differentiation, 109
computational graph, 65
computer assisted proofs, 157
computer graphics, 169
computing with sets, 10, 15, 113
constraint propagation, 115, 168
continuous function, 51
convergent sequence, 51
COSY, 147
Cset arithmetic, 114
Darboux integrals, 146
degenerate interval, 7
difference of intervals, 10, 11
differential equation, 149
direct method, 88
directed roundings, 16
discontinuous ﬂag, 123
disjoints sets, 172
division of intervals, 10, 13
domain
of function, 174
dot product, accurate, 28
doublebubble conjecture, 158
Einarsson, B., 158
electrical engineering, 170
empty set, 171
enclosure, 2
tightness of, 2
219 interval
2008/11/18
page 220
i
i
i
i
i
i
i
i
220 Index
endpoints, 7
epsilon inﬂation, 83, 120
equality of intervals, 7
equivalence class, 173
equivalence relation, 173
errorsquaring property, 107
excess width, 55
exponential function, 39, 40
extended arithmetic, 16
extended interval arithmetic, 110
extension, 42, 174
feasibility test, 160
feasible point, 159
feasible solution, 165
Feigenbaum constant, 158
FILIB++, 28
ﬁnite convergence, 58, 60, 107
ﬁnite element method, 168
ﬁxedpoint theorem, 116
forest planning, 158
formula, 42
forward mode, automatic differentiation,
141
function(s), 174
codomain, 174
composition of, 55, 174
continuous, 51
domain, 174
exponential, 39, 40
extension, 174
identity, 175
image, 174
interval extension of, 42, 45
intervalvalued, 37
invertible, 175
logarithmic, 40
monotonic, 39, 50
natural interval extension, 47
nonmonotonic, 40
onetoone, 174
onto, 174
preimage, 174
range, 174
rational interval, 46
restriction, 174
square root, 40
unary, 64
Fundamental Theorem of Interval Analy
sis, 47, 53, 86
Gauss–Seidel method, interval, 96
Gaussian elimination, interval, 100
Gaussian quadrature, veriﬁed, 145
global optimization, 82
global optimizing point, 165
global optimum, 165
GlobSol, 41, 127, 163, 164, 167
gravitational constant, 170
Hankel matrices, 103
Hansen, E., 16, 68, 73, 82, 91, 96, 127,
168
Hansen–Sengupta method, 96
Hargreaves, G., 27
Hass, J., 157
heat convection, 158
Herzberger, J., 17, 76
historical references, 16
IA, 22
iCOs, 167, 168
identity element
additive, 31
multiplicative, 31
identity function, 175
IEEE binary arithmetic, 23
illconditioned system, 90
image, 175
of function, 174
inclusion isotonicity, 35, 46, 55, 150
indirect method, 88
initial value problem, 151
inner product, 15
Institute of Reliable Computing, 17
integral, 129, 131
integral equation, 149
intersection, 8, 172
interval addition, 10, 11
interval arithmetic, 10
inclusion isotonicity, 34
outwardly rounded, 22 interval
2008/11/18
page 221
i
i
i
i
i
i
i
i
Index 221
properties of, 31
interval dependency, 38, 42
interval division, 10, 13
interval enclosure, 135
interval extension, 42, 45
Lipschitz, 53
interval Gauss–Seidel method, 96
interval Gaussian elimination, 100
interval hull, 8
interval integral, 129
interval majorant, 149
interval matrices, 16, 85
midpoint, 85
norm, 85
width, 85
interval multiplication, 10, 12
interval operator, 149
interval polynomial enclosure, 135
interval subtraction, 10, 11
interval vector(s), 14
intersection of, 14
membership in, 14
midpoint, 14
norm, 15
set containment, 14
width, 14
interval(s), 7
absolute value of, 9
addition of, 11
closed, 2, 7
degenerate, 7
division of, 13
endpoints, 7
equality of, 7
intersection of, 8
midpoint of, 3, 9
multiplication of, 12
negative, 10
negative of, 12
order relations for, 9
positive, 10
product of, 10, 12
quotient of, 10, 13
reciprocal of, 13
subdistributive law for, 32
subtraction of, 10, 11
sum of, 10, 11
symmetric, 33
union of, 8
width of, 3, 9
intervalvalued function, 37
INTLAB, 4, 22, 41, 70, 74, 87, 101, 118
references, 27
representation
inﬁmumsupremum, 22
midpointradius, 25
signiﬁcant digits, 25, 26
uncertainty, 26, 59
inverse, 175
isometric embedding, 53
isometry, 53
Jacobian matrix, 116
Jaulin, L., 162
Jouanolou foliation, 158
K. A. M. bounds, 158
Kahan arithmetic, 16, 113
Kahan, W., 16
Kantorovich theorem, 127
Kearfott, R. B., 168
Kepler’s conjecture, 157
Krawczyk method, 17, 91, 92, 116
Krawczyk, R., 17
Kreinovich, V., 195
Kulisch, U., 17, 28
Lake Constance currents, 158
lattice theory, 156
least squares problems, 158
limit, 51
Lin, Y., 163
Lipschitz condition, 53
logarithmic function, 40
long accumulator, 28
Lorenz attractor, 157, 158
Makino, K., 155
Mathematics Research Center, 17
Mayer, G., 103
mean value extension, 69
mean value form, 69 interval
2008/11/18
page 222
i
i
i
i
i
i
i
i
222 Index
mechanical engineering, 170
metric, 52
metric space, 52
midpoint, 3, 9, 14, 85
midpoint test, 160
mignitude, 87
molecular models, 163
monotonic function, 39, 50
monotonicity test form, 75, 76
Monte Carlo method, 100
Moore, R. E., 16, 107, 113, 120, 128, 156,
161, 162
MPFI, 28
Muhanna, R. L., 169
Mullen, R. L., 169
multiple integral, 145
multiplication of intervals, 10, 12
associativity, 31
commutativity, 31
multiplicative identity element, 31
multivariate interval Newtonmethod, 123
natural interval extension, 47
negative interval, 10
negative of interval, 12
Neumaier, A., 17, 83, 168
Newton’s gravitational constant, 170
Newton’s method, 105
geometric interpretation, 107
Nickel, K., 16
norm, 15, 85
number pair extension, 5
Numerica, 168
Oishi, S., 28
operator equation, 149
operator overloading, 70
optimal outward rounding, 22
optimization, 159
optimizing point, global, 165
order relations, 9
ordered pair, 5
Orr–Sommerfeld equations, 158
outward rounding, 20
optimal, 22
parameter, 2
parameter estimation, 161, 170
partial differential equations, 156
partial ordering, 10, 173
partition, 173
PDE, 156
persymmetric matrices, 103
photoelectron spectroscopy, 161
polynomial enclosure, 141
polynomial integration, 133
positive interval, 10
preimage, 174, 175
product of intervals, 10, 12
PROFIL/BIAS, 28
propagation of uncertainties, 20
quadratic convergence, 118
quotient of intervals, 10, 13
range, 174
rational interval function, 46
Ratschek, H., 68, 168
reciprocal of interval, 13
recursion, 3
reﬁnement, 55, 64
relation, 173
antisymmetric, 173
equivalence, 173
on a set, 173
reﬂexive, 173
symmetric, 173
transitive, 173
restriction, 174
robotics, 162
robust control, 162, 170
Rohn, J., 103
Rokne, J., 17, 168
roundoff error, 3
Rump, S. M., 17, 27, 120, 158
safe starting interval, 121
semideﬁnite programming, 166
sequence(s)
convergent, 51
limit, 51
nested, 58
set(s), 171 interval
2008/11/18
page 223
i
i
i
i
i
i
i
i
Index 223
complement, 172
difference, 173
disjoint, 172
elements, 171
empty, 171
equality, 172
intersection, 172
members, 171
notation, 171
subset of, 172
union, 172
simplex, 145
Skelboe–Moore algorithm, 77
slope, 72
slope form, 72, 73
small divisors in Hamiltonian dynamics,
158
SPICE, 158
splitting, 56
square root function, 40
stability of matter, 158
Stadtherr, M. A., 163
structural engineering, 168
Sturm–Liouville problem, 158
subdistributive law, 32
subset, 172
proper, 172
subset property, 45
subtraction of intervals, 10, 11
sum of intervals, 10, 11
symmetric interval, 33
symmetric matrices, 103
Szpiro, G. G., 157
Taylor arithmetic, 147, 163
Toeplitz matrices, 103
transitive relation, 9
Tucker, W., 157
turbine eigenfrequencies, 158
unary function, 64
uniform subdivision, 55
union, 8, 172
united extension, 38, 54
subset property of, 45
Walster, G. W., 16, 82, 127, 168
width, 3, 9, 14, 85
excess, 55
wrapping effect, 155
Wright, S., 100
Introduction to
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
Society for Industrial and Applied Mathematics Philadelphia
Copyright © 2009 by the Society for Industrial and Applied Mathematics 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, 191042688 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 thirdparties 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 machineexecutable 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 NONINFRINGEMENT. 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 © 19982008 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 017602098 USA, 5086477000, Fax: 5086477001, info@mathworks.com, www.mathworks.com. Windows is a registered trademark of Microsoft Corporation in the United States and/or other countries. Library of Congress CataloginginPublication Data Moore, Ramon E. Introduction to interval analysis / Ramon E. Moore, R. Baker Kearfott, Michael J. Cloud. p. cm. Includes bibliographical references and index. ISBN 9780898716696 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.
. . . . . . . . . . . . . . . 9 . . . .2 Bounding Roundoff Error . . . . . . . . . . . . . . The Interval Number System 2. . . .i Contents Preface 1 Introduction 1.2 Symmetric Intervals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. . . . Introduction to Interval Functions 5. . . . . . . . . . . . . . . . . . . . . . .1 A Metric for the Set of Intervals . . . . . . . . . . . . . . . . . . . . . . . . 16 19 19 22 22 28 31 31 33 34 37 37 38 42 45 49 3 First Applications of Interval Arithmetic 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. . . . . . .3 INTLAB . . . 14 . . . . 5. . . . . . . . . . . . . . . . ix 1 1 3 5 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Outwardly Rounded Interval Arithmetic 3. . . . . . . 4. . . . . . . . . 1. . . . . . . 51 6. . . . . . . . . . . . . . . . .3 Operations of Interval Arithmetic 2. . . . . . . . . .2 Order Relations for Intervals . .3 Inclusion Isotonicity of Interval Arithmetic . . . . . . . 1. . . . . . . . . . . . . . . . . . . . . . . .1 Examples . .1 Enclosing a Solution . . . . . . . . . . 2. . . . . . .1 Basic Terms and Concepts . . . . . . . . . . . . . . . 7 .3 Number Pair Extensions .3 IntervalValued Extensions of Real Functions . . . . . . . . 6 Interval Sequences 51 6. . . . . . . . . . . . . . . . . . 5 . . . . . . . . . . . . . 7 . . . . . . . . . . . . . .1 Set Images and United Extension . . . . . . . . . . . . 2. . . . . . . . . . . . .2 Elementary Functions of Interval Arguments . . . . . . . . 4. . . . . .5 Some Historical References . 5. . . . . . . . . 10 . . . . . .4 The Fundamental Theorem and Its Applications 5. . 53 v i . . . . . . 2. . . . . .4 Interval Vectors and Matrices . . . . . . . . . . . . . .1 Algebraic Properties . . .4 Other Systems and Considerations . . . . . . .2 Reﬁnement . . 4 Further Properties of Interval Arithmetic 4. . . . . . . . 3. . . . .5 Remarks on Numerical Computation . . . . . . .
. . . . . . . . . . . . . . . . .3 Safe Starting Intervals . . . .2 Interval Matrices and Dependency . . . . . . . . . . . . . . . . . .4 Partial Differential Equations . . . . . . .5 Water Distribution Network Design . . . . . . . . . . . . . . . .2 The Krawczyk Method . . . . . . .4 Computing Enclosures for Integrals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8. .i vi 6. . 7.2 ODEs and Initial Value Problems .3 INTLAB Support for Matrix Operations 7. . . . . . . . 9.7 Sparse Linear Systems Within INTLAB 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Newton’s Method in One Dimension . . . . . . 11. . . 11. . . . . . . . .1 Deﬁnition and Properties of the Integral . .6 More on Gaussian Elimination . . . . . . .3 ODEs and Boundary Value Problems 10.2. . . . . . . . . . . Automatic Differentiation 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11. . . . .2 Global Optimization and Constraint Satisfaction . .6 Pitfalls and Clariﬁcations . . 10 . . . . . . . . . . . . . . 11. 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . 11. . . . . . . i . . . . . . . . . . . . . . . . . . . . .8 Final Notes . . . . . . . 7. . . . . Interval Newton Methods 8. . . . . . . . . . . . .6 Software and Further References . . . . . .4 Chemical Engineering Applications . . . . . . . . . . . . . . . . . . 7.5 Concluding Remarks . . . . 64 Summary . . . .2. . . . . . . . . . . . .2. . . . .4 6. .5 Linear Systems with Inexact Data . . . . . . . . . . . .5 Further Remarks on Interval Integration . . . . . 83 85 85 86 87 88 92 100 101 103 105 105 116 121 123 127 129 129 133 135 141 145 147 149 149 151 156 156 157 157 159 159 161 162 163 164 164 167 168 Interval Matrices 7. 11. . . . . . . . . . .4 Multivariate Interval Newton Methods 8. . . . . . . . . . . . .8 Summary of Links for Further Study . . . . . . . . . . . .2. . . . . . . . . . . . . . . . . . .1 Deﬁnitions . .3 6. . . . . . . . . . . . . . . . . . . . . . . . . .2. . 8. . . . . . . . . . . . . 9.2 Parameter Estimation . . . 7. . . 9 Integration of Interval Functions 9. . . . . . . . . . . .3 Polynomial Enclosure. . . . . . . 11. .4 Systems of Linear Equations . . . . . . .2. . . . . .1 A Prototypical Algorithm .2 Integration of Polynomials . . . . Integral and Differential Equations 10. . . . . . . . . . . . . . . . .5 7 Contents Finite Convergence and Stopping Criteria . . . . . . . .7 Additional Centers of Study . . 10. . . . . . . . . . . . . . . . . . 8. . . . 57 More Efﬁcient Reﬁnements . . .2. . . . . . . . . 7. . . . . . . . . . . . . . . . . . . . . . .1 Integral Equations . . . . . . . . . . . . . . . . . . . . . 11. . . . . . . . . . . . . . . . . . . . 9. 9. . . .3 Robotics Applications . . . . . . . . . . . . . . . . . . . .2. 8 . . . . . . . . . . . .1 ComputerAssisted Proofs . . . . . . . . . . . . 11. . . . . . . . . . . . . . . . . . . . 11 Applications 11. .
. . . . For Further Study .i Contents 11. . . . .5 11. . . . . . .4 11. . . . . . . . . . . . . . . . .6 11. . . . Computation of Physical Constants Other Applications . . . . .3 11. . . . . . . . . . . . . . . . . . vii 168 169 169 170 170 171 177 185 195 197 201 219 Sets and Functions Formulary Hints for Selected Exercises Internet Resources INTLAB Commands and Functions References Index i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 A B C D E Structural Engineering Applications Computer Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
i 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. Practical application areas include chemical and structural engineering. asteroid orbits. Using multinomials with interval coefﬁcients. for example. we deﬁne an arithmetic for intervals and interval valued extensions of functions commonly used in computing. In applications. beam physics. despite the roundoff errors that are inherent in ﬁnite machine arithmetic. global optimization. b] has a dual nature. based on repetitive computation. and it represents a set [a. Using a pair [a. Nor are Monte Carlo methods. By contrast. approximation errors. Without rigorous bounds on computational errors. An interval Newton method has been developed for solving systems of nonlinear equations. are not rigorous—nor do they take into account rounding error accumulation. It is a new kind of number pair. and. computer graphics. In effect. based on order estimates for approximation errors. A procedure known as outward rounding guarantees that these enclosures are rigorous. interval algorithms are designed to automatically provide rigorous bounds on accumulated rounding errors. we can compute with sets in function spaces. With interval computation we can program a computer to ﬁnd intervals that contain—with absolute certainty—the exact answers to various mathematical problems. and behavioral ecology. In this way we can at least know for sure what a mathematical model tells us. constraint satisfaction. b] = {x : a ≤ x ≤ b}. robotics. signal processing. Interval vectors give us sets in higherdimensional spaces. Interval analysis has been used in rigorous computerassisted proofs. an interval [a. Hales’ proof of the Kepler conjecture. We will not go into interval statistics here or into the use of interval arithmetic in fuzzy set theory. interval analysis provides rigorous enclosures of solutions to model equations. from that. Linear sensitivity analysis is not a rigorous way to determine the effects of uncertainty in initial parameters. b] of computer numbers to represent an interval of real numbers a ≤ x ≤ b. we might determine whether it adequately represents reality. interval analysis allows us to compute with sets on the real line. We combine set operations on intervals with interval function evaluations to get algorithms for computing enclosures of sets of solutions to computational problems. Methods of computational error control. sampling assumed density distributions for uncertain inputs. a comparison of numerical results with physical measurements does not tell us how realistic a mathematical model is. In this way. While inheriting the local quadratic convergence properties of the ordinary Newton ix i . economics. and propagated uncertainties in initial data during the course of the computation. control circuitry design.
biological. China.i x Preface method. In Appendix C we include hints and answers for most of the exercises that appear throughout the book. Research. subtraction. Brazil. Norway. Sweden. and mathematics. the interval Newton method can be used in an algorithm that is mathematically guaranteed to ﬁnd all roots within a given starting interval. our references are largely to those in English and German. including senior undergraduates or beginning graduate students in engineering. and the USA. The assumed background for the ﬁrst 10 chapters is basic calculus plus some familiarity with the elements of scientiﬁc computing. Interval analysis permits us to compute interval enclosures for the exact values of integrals. with an introduction to automatic differentiation. and application of interval methods is now taking place in many countries around the world. but an attempt has been made to keep much of the presentation accessible to the nonspecialist. but we have attempted to include at least a sampling of works in a broad range of topics. There are rigorous interval branchandbound methods for global optimization. Chapter 9 is devoted to integration of interval functions. Mexico. Japan. We also introduce INTLAB. an important tool in its own right. Spain. Appendix B. Denmark. Hungary. some further properties of interval arithmetic are covered. constraint satisfaction. Hence its main purpose is to provide a bit of motivation and perspective. Appendix D discusses Internet resources (such as additional reading material and software packages—most of them freely available for download) relevant to interval computation. France. India. However. and results covered in the text. i .) mentioned above. and division) needed to work within this system. Various appendices serve to round out the book. with which the authors are most familiar. Bulgaria. Interval functions—residing at the heart of interval analysis—are introduced in Chapter 5. the UK. Finally. but also in Austria. Chapter 6 deals with sequences of intervals and interval functions. development. etc. a powerful and ﬂexible MATLAB toolbox capable of performing interval calculations. especially in Germany. Here the reader becomes aware that not all the familiar algebraic properties of real arithmetic carry over to interval arithmetic. There are published works in many languages. The application topics of Chapter 11 may require a bit more background. Finally. Chapter 11 introduces an array of applications including several of those (optimization. Canada. 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 cannot provide a comprehensive bibliography of publications. Finland. the sciences (physical. The book opens with a brief chapter intended to get the reader into a proper mindset for learning interval analysis. Poland. Appendix A offers a brief review of set and function terminology that may prove useful for students of engineering and the sciences. multiplication. Chapter 2 introduces the interval number system and deﬁnes the set operations (intersection and union) and arithmetic operations (addition. provides a convenient handbookstyle listing of major deﬁnitions. Interval methods can bound the solutions of linear systems with inexact data. Appendix E offers a list of INTLAB commands. etc. the quickreference Formulary. material needed as preparation for the iterative methods to be treated in Chapter 7 (on matrices) and Chapter 8 (on root ﬁnding). and parameter estimation problems.). economic. Belgium. Russia. Chapter 10 treats integral and differential equations. In Chapter 4. formulas. The ﬁrst applications of interval arithmetic appear in Chapter 3.
i Preface xi Of the various intervalbased software packages that are available. and Beth. with all basic interval computations represented. The book is dedicated to our wives: Adena. Ramon E. We owe Siegfried Rump additional thanks for developing INTLAB and granting us permission to use it in this book. Murphy. and Graphic Designer Lois Sellers. Managing Editor Kelly Thomas. for their many constructive comments. Finally. Production Editor Ann Manning Allen. Baker Kearfott Michael J. Andreas Frommer. and Siegfried Rump. as well as the anonymous reviewers. including Senior Acquisitions Editor Elizabeth Greenspan. Cloud i . It is fully integrated into the interactive. Ruth. Edward Rothwell and Mark Thompson provided useful feedback on the manuscript. we chose INTLAB for several reasons. Copy Editor Susan Fleshman. both MATLAB and INTLAB code can be written in a fashion that is clear and easy to debug. and highly popular MATLAB system. Production Manager Donna Witzleben. It is carefully written. programmable. We are deeply grateful to the staff of SIAM. We wish to cordially thank George Corliss. Moore R. Developmental Editor Sara J.
i i .
he obtained both an increasing sequence of lower bounds and a decreasing sequence of upper bounds for this irrational number.1. Indeed. however. (Note: Hints and answers to many of the exercises can be found in Appendix C. We solve the equation x2 + x − 6 = 0 by factoring and obtaining the roots x1 = −3 and x2 = +2. Increasing the numbers of polygonal sides.i Chapter 1 Introduction 1.) Aside from irrational numbers. This statement deserves much elaboration. Since an experimentally measured quantity will be known with only limited accuracy. the notion of irrational number entails some process of approximation from above and below. to ﬁnd even elementary problems where answers of precisely this form are appropriate. Archimedes (287–212 BCE) was able to bracket π by taking a circle and considering inscribed and circumscribed polygons. We need not look far. we shall return to it later on. representable lower and upper bounds are required to describe a solution rigorously. The need to enclose a number also arises in the physical sciences. In machine computation. Few high school algebra teachers would be satisﬁed with an answer of the form One root lies between −4 and −2. the number it designates cannot be represented exactly with a ﬁnite number of digits. while the other lies between 1 and 3. The quadratic equation √ has the positive solution 2. We understand that there is more to this symbol than meets the eye. many situations involve quantities that are not exactly representable. Carry out the details of Archimedes’ method for a square and a hexagon. a problem is “solved” when we write down an exact solution. any calculation 1 x2 − 2 = 0 i .1 Enclosing a Solution In elementary mathematics. Exercise 1.
In fact. say. m0 . it is easy to determine how al and au depend on F0 . ordinary algebra can be cumbersome. We think of an interval as a set of numbers. we write a ∈ [al . au ] . but the reader should bear in mind that this is only for learning purposes.1). F0 − m0 − F ≤ F ≤ F0 + m ≤ m ≤ m0 + F m.. F . to unlimited decimal precision). however. au ] an enclosure of a. Carry out this derivation to ﬁnd explicit bounds on a. However. the reader can ﬁnd a review and summary of this notation in Appendix A. representations are discussed in Chapter 3. i .1). it fails to yield the solution itself. Exercise 1. Instead of (1. Newton’s law F = ma (1. The general sense is that we would like to know F and m exactly so that we can get a exactly.i 2 Chapter 1. we will prefer notation of the form (1. we phrase inequality statements in terms of closed intervals on the real line.999].2). The use of simple set notation will repay us many times over in the book. If the latter quantities are known only to lie in certain ranges. but the shift in viewpoint is evident. We have one more comment before we end this section.001. we might wish to treat F and m as parameters and intentionally vary them to see how a varies. and m.2) For a relation as simple as (1. After all. The act of merely enclosing a solution might seem rather weak.2. Henceforth. In interval analysis. which we commonly1 represent as an ordered pair. Introduction involving this quantity must begin with inexact initial data.3) We call the interval [al . it is important to keep in mind that placing a number within a closed interval is the same as bounding it above and below. interval computation was designed for machine implementation! Examples involving hand computation will appear throughout the book. −2. For more complicated relations.001]. and then a can only be bounded above and below: al ≤ a ≤ au . Let us return to our discussion of scientiﬁc calculations. for instance.2. the degree of satisfaction involved in enclosing a solution can depend strongly on the tightness of the enclosure obtained. The techniques of interval analysis will render the computation of bounds routine.3) to that of (1. We noted above that measurement error can give rise to uncertainty in “initial data” such as F and m in (1. In other circumstances. this problem is still treated as in Exercise 1.999.2). (1. The hypothetical math teacher of the ﬁrst paragraph might be much happier with answers of the form x1 ∈ [−3.e.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. 2. 1 Other x2 ∈ [1. however. While this is true. Mathematically. (1.
Exercise 1. 62] rigorously than to have an “answer” of the form y ≈ 60 with no idea of how much error might be present.2. 2. there are times when we can and should be satisﬁed with rather loose bounds on a solution. Bounding Roundoff Error In fact. .8] kg. . Hence we obtain both an approximate solution and error bounds on the approximation. where w = b − a is the width of the interval. using higherprecision arithmetic the second time. hence the two values of x75 agree to all 10 places carried in the ﬁrst computation. Consider the recursion formula 2 xn+1 = xn (n = 0.4.2 Bounding Roundoff Error The effects of ﬁnite number representation are familiar to anyone who has done scientiﬁc computing. Performing the computation with 10place arithmetic. . Here we will provide one example of a computation—involving only a small number of arithmetic operations—that already foils a scheme often thought to be adequate for estimating roundoff error. 3 then we do know x to four places. However. Exercise 1. it is worth noting that if we obtain something like x ∈ [0. 0. 1. Example 1. 1. Verify this. x1 = 1. i .1 illustrates that repeating a calculation with higherprecision arithmetic and obtaining the same answer does not show that the answer is correct...). ﬁrst given by Rump in [220]. Rounding error. x75 = 1. shows that the problem can occur in a more subtle way. . Moreover. It might be better to know that y ∈ [59.7. 3.66667]. Example 1. we obtain the approximate values x0 = 1. If we can compute an interval [a. The reason was simply that x1 is not representable exactly in either 10. The next example. The folklore surrounding this subject can be misleading. we obtain the same sequence of values.1.. (1.4) and suppose that x0 = 1 − 10−21 . Using 20place arithmetic. can destroy a numerical solution. the exact value satisﬁes x75 < 10−10 . The idea is to perform the same computation twice. A computation shows that the mass M of a certain body lies in the interval [3. State an approximation for M along with error bounds on this approximation. The number of ﬁgures to which the two results agree is supposed to be the number of correct ﬁgures in the ﬁrst result. then we can take the midpoint m = (a + b)/2 of the interval as an approximation to x and have x − m ≤ w/2. if it manages to accumulate sufﬁciently.i 1.3. b] containing an exact solution x to some problem. We seek x75 .66666.or 20place arithmetic.
However.0. Introduction f = 333. . they will yield an interval of arbitrarily small width containing the exact result by carrying enough places. The code “IF sin(2 · arccos(0)) == 0 THEN f = 0 ELSE f = 1” should return f = 0.17260394005317847 . more than 20 places are needed to avoid getting 1 for the value of x0 . such as when a ﬁnal result depends on testing exact equality between the result of a ﬂoating point computation and another ﬂoating point number.2. . . but it may always return f = 1 regardless of the precision used. and quadruple precision arithmetic all agree to the number of places carried but are all wrong—even in the ﬁrst digit. 2 There are cases in which no amount of precision can rectify a problem.1. In this case. However. Consider evaluation of f deﬁned by Chapter 1. double.75 b6 + a 2 (11 a 2 b2 − b6 − 121 b4 − 2) + 5. . The methods treated in this book will yield for Example 1.17260394005317863185 . Rump obtained the following results: single precision f double precision f extended precision f = 1. Exercise 1. . . We might be tempted to conclude that f is close to 1. the exact result is f = −0.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. If instead of simply computing a numerical approximation using limitedprecision arithmetic and then worrying later about the accuracy of the results. for instance. obviously.172603. However.6 gives an INTLAB program that can compute rigorous bounds for f to a speciﬁed accuracy.827396 . .17260361 . . respectively). we proceed in the spirit of the method of Archimedes to construct intervals known in advance to contain the desired exact result. it is often prohibitively difﬁcult to tell in advance of a computation how many places must be carried to guarantee results of required accuracy. Example 3. 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 ﬁnite number of real arithmetic operations beginning with exactly known real numbers. and extended precision (approximately 7. The underlining indicates agreement in digits from one computation to the next.i 4 Example 1. How many digits of precision are required to ﬁnd the value of f in Example 1. There are many others in which the results of single. .5. and 33 decimal digits. an interval close to [0. then our main concerns will be the narrowness of the intervals we obtain and the amount of computation required to get them.0 and b = 33096. We have chosen just two examples for illustration. after explaining machine implementations of interval arithmetic. 16. = 1.5 b8 + a/(2b) with a = 77617. 1] using only 10place interval arithmetic. . i . 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. = 1. double. Computing powers by successive multiplications on an IBM 370 system using single.
arithmetic operations are deﬁned with rules for computing the components of a pair resulting from an arithmetic operation on a pair of pairs. each complex number of the form (x. we use the rule (x1 . Pairs of special form are equivalent to numbers of the original type: for example. Number Pair Extensions 5 1. The complex numbers are ordered pairs of real numbers (x. Extensions of number systems involving ordered pairs of numbers from a given system are commonplace.3 Number Pair Extensions From time to time. y2 ) = (x1 + x2 . y). mathematicians have found it necessary to produce a new number system by extending an old one. In each case.i 1. 0) is equivalent to a real number x. The rational numbers are essentially ordered pairs of integers m/n. i .3. In Chapter 2 we will consider another such extension of the real numbers—this time. For example. y1 + y2 ) to add complex numbers. y1 ) + (x2 . to the system of closed intervals.
i i .
By convention. the term interval will mean closed interval. b] is the set of real numbers given by Although various other types of intervals (open. respectively. Such an interval contains a single real number x. we may write such equations as 0 = [0.3) i .2) Degenerate Intervals We say that X is degenerate if X = X. Thus. (2. In this sense. The left and right endpoints of an interval X will be denoted by X and X.i Chapter 2 The Interval Number System 2.1 Basic Terms and Concepts [a. 7 (2. Operationally. halfopen) appear throughout mathematics. Endpoint Notation. we agree to identify a degenerate interval [x.1) X = X. Interval Equality We will adopt the convention of denoting intervals and their endpoints by capital letters. 0]. our work will center primarily on closed intervals. In this book. x] with the real number x. Two intervals X and Y are said to be equal if they are the same sets. b] = {x ∈ R : a ≤ x ≤ b}. (2. this happens if their corresponding endpoints are equal: X=Y if X = Y and X = Y .X . Recall that the closed interval denoted by [a.
10.3 with a measurement error less than 0.5].2. The other ﬁnds that q = 10. max{X.6) X ∪ Y = min{X.4) In general. is always an interval and can be used in interval computations. If we have two intervals containing a result of interest—regardless of how they were obtained—then the intersection.1. (2. We can represent these measurements as the intervals X = [10. relation (2. respectively. Y } . Otherwise. Y } . 2].7) i . which may be narrower. Information is lost when we replace X ∪ Y with X ∪ Y . min{X.1. it also lies in X ∩ Y = [10. the union of two intervals is not an interval. also contains the result. but X ∪ Y is easier to work with. Y } .2.5] and Y = [10. Y } . 10. One ﬁnds that q = 10. indicating that X and Y have no points in common. deﬁned by (2.6]. However. Example 2.2. the union of X and Y is also an interval: X ∪ Y = {z : z ∈ X or z ∈ Y } = min{X. and Interval Hull The intersection of two intervals X and Y is empty if either Y < X or X < Y . If X = [−1. Y } . Suppose two people make independent measurements of the same physical quantity q. and the lost information is sometimes not critical. Since q lies in both. On occasion we wish to save both parts of an interval that gets split into two disjoint intervals.2. (2. Importance of Intersection Intersection plays a key role in interval analysis. Union. 0] and Y = [1.7) still holds.4 with an error less than 0. the interval hull of two intervals.2. This occurs with the use of the interval Newton method discussed in Chapter 8.5) (2. then X ∪ Y = [−1. The Interval Number System Intersection.i 8 Chapter 2. we may deﬁne the intersection X ∩ Y as the interval X ∩ Y = {z : z ∈ X and z ∈ Y } = max{X. max{X. We have X ∪ Y ⊆ X∪Y for any two intervals X and Y . Example 2. Although X ∪ Y is a disconnected set that cannot be expressed as an interval. In this latter case. 10. An empty intersection would imply that at least one of the measurements is wrong. In this case we let ∅ denote the empty set and write X ∩ Y = ∅. Y } . 2].
Width. −1} . 1]. and we continue to use the same symbol for it: X<Y means that X < Y. The midpoint of X is given by 1 m(X) = 2 (X + X). (2. Width. min{2.10) See Figure 2. then a < c for any a.1. Let X = [0. is the maximum of the absolute values of its endpoints: X = max{X. Midpoint A few other terms will be useful in the book: 1. The intersection and union of X and Y are the intervals X ∩ Y = [max{0. 2]. X = max{0. 1}] = [−1. (2. X ∪ Y = [min{0. −1} . (2. Example 2.3. 3.2 Order Relations for Intervals We know that the real numbers are ordered by the relation <. The absolute value of X.8) 2. denoted X. and c ∈ R.2. 2} = 2. max{2. We have w(X) = w(Y ) = 2 and. X}. The midpoint of Y is m(Y ) = 0. 1}] = [0. for instance. The width of an interval X is deﬁned and denoted by w(X) = X − X.i 2.9) Note that x ≤ X for every x ∈ X. Absolute Value. absolute value. b. Order Relations for Intervals 9 Figure 2. (2. A corresponding relation can be deﬁned for intervals.11) i . 2. This relation is said to be transitive: if a < b and b < c. 1]. and midpoint of an interval. 2] and Y = [−1.1.
i
10 For instance, [0, 1] < [2, 3], and we still have
Chapter 2. The Interval Number System
A < B and B < C =⇒ A < C.
(2.12)
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: X⊆Y if and only if Y ≤ X and X ≤ Y . (2.13)
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 .
2.3
Operations of Interval Arithmetic
The notion of the degenerate interval permits us to regard the system of closed intervals as an extension of the real number system. Indeed, there is an obvious onetoone pairing [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.
Deﬁnitions of the Arithmetic Operations
We are about to deﬁne the basic arithmetic operations between intervals. The key point in these deﬁnitions is that computing with intervals is computing with sets. For example, when we add two intervals, the resulting interval is a set containing the sums of all pairs of numbers, one from each of the two initial sets. By deﬁnition then, the sum of two intervals X and Y is the set X + Y = {x + y : x ∈ X, y ∈ Y }. (2.15) We will return to an operational description of addition momentarily (that is, to the task of obtaining a formula by which addition can be easily carried out). But let us deﬁne the remaining three arithmetic operations. The difference of two intervals X and Y is the set X − Y = {x − y : x ∈ X, y ∈ Y }. The product of X and Y is given by X · Y = {xy : x ∈ X, y ∈ Y }. (2.17) (2.16)
We sometimes write X · Y more brieﬂy as XY . Finally, the quotient X/Y is deﬁned as X/Y = {x/y : x ∈ X, y ∈ Y } (2.18)
i
i
2.3. Operations of Interval Arithmetic
11
provided3 that 0 ∈ Y . Since all these deﬁnitions 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 deﬁne functions of interval variables by treating these, in a similar fashion, as “unary operations.” That is, we can deﬁne f (X) = {f (x) : x ∈ X}, (2.20)
where, say, f (x) = x 2 or f (x) = sin x. However, we shall postpone further discussion of interval functions until Chapter 5.
Endpoint Formulas for the Arithmetic Operations
Addition Let us ﬁnd an operational way to add intervals. Since x∈X 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. Hence, the formula X+Y = X+Y , X+Y can be used to implement (2.15). Example 2.4. Let X = [0, 2] and Y = [−1, 1] as in Example 2.3. Then X + Y = [0 + (−1) , 2 + 1] = [−1, 3]. This is not the same as X ∪ Y = [−1, 2]. Exercise 2.1. Find X + Y and X ∪ Y if X = [5, 7] and Y = [−2, 6]. 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
3 We
means that
X≤x≤X
(2.21)
and
− Y ≤ −y ≤ −Y
remove this restriction with extended arithmetic, described in section 8.1.
i
i
12 to get
Chapter 2. The Interval Number System
X − Y ≤ x − y ≤ X − Y. It follows that X−Y = X−Y , X−Y . Note that X − Y = X + (−Y ), where −Y = −Y , −Y = {y : − y ∈ Y }. Observe the reversal of endpoints that occurs when we ﬁnd the negative of an interval. Example 2.5. If X = [−1, 0] and Y = [1, 2], then −Y = [−2, −1] and X − Y = X + (−Y ) = [−3, −1]. Exercise 2.2. Find X − Y if X = [5, 6] and Y = [−2, 4]. Exercise 2.3. Do we have X − X = 0 in general? Why or why not? Multiplication In terms of endpoints, the product X · Y of two intervals X and Y is given by X · Y = [min S , max S] , where S = {XY , XY , XY , XY }. (2.23) (2.22)
Example 2.6. Let X = [−1, 0] and Y = [1, 2]. Then 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]. The multiplication of intervals is given in terms of the minimum and maximum of four products of endpoints. Actually, by testing for the signs of the endpoints X, X, Y , and Y , the formula for the endpoints of the interval product can be broken into nine special cases. In eight of these, only two products need be computed. The cases are shown in Table 2.1. Whether this table, equation (2.23), or some other scheme is most efﬁcient in an implementation of interval arithmetic depends on the programming language and the host hardware. Before proceeding further, we brieﬂy mention the wide availability of selfcontained interval software. Many programming languages allow interval data types for which all necessary computational details—such as those in Table 2.1—are handled automatically. See Appendix D for further information.
i
i
2.3. Operations of Interval Arithmetic
13
Table 2.1. Endpoint formulas for interval multiplication. Case 0 ≤ X and 0 ≤ Y X < 0 < X and 0 ≤ Y X ≤ 0 and 0 ≤ Y 0 ≤ X and Y < 0 < Y X ≤ 0 and Y < 0 < Y 0 ≤ X and Y ≤ 0 X < 0 < X and Y ≤ 0 X ≤ 0 and Y ≤ 0 X < 0 < X and Y < 0 < Y X·Y X·Y X·Y X·Y X·Y X·Y X·Y X·Y X·Y min{XY , XY } X·Y X·Y X·Y X·Y X·Y X·Y X·Y X·Y X·Y max{XY , XY }
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 ), where 1/Y = {y : 1/y ∈ Y } = 1/Y , 1/Y . Again, this assumes 0 ∈ Y . / Example 2.7. We can use division to solve the equation ax = b, where the coefﬁcients a and b are only known to lie in certain intervals A and B, respectively. We ﬁnd 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], (c) [1, 2]/[−5, −3], (b) [−2, 4] · [−3, 1], (d) [−1, 2]/[5, 7]. (2.25) (2.24)
A Useful Formula
Any interval X can be expressed as X = m(X) + − 1 w(X), 1 w(X) 2 2 = m(X) + 1 w(X)[−1, 1]. 2 (2.26)
i
m(Xn )). i . The midpoint of an interval vector X = (X1 . that is. . Xn ) is m(X) = (m(X1 ). 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± w 2 = m− w 2 . many of the notions for ordinary intervals can be extended to interval vectors.26) we can write X = 1 + [−1. .4 Interval Vectors and Matrices (X1 . .i 14 Chapter 2. i 5. 4. . xn ) is a real vector and X = (X1 . then X∩Y = ∅. . . Xn ) and Y = (Y1 . This is again an interval vector. . for X = (X1 . m+ w 2 . . If X = (X1 . . . . The Interval Number System Example 2. 3. A twodimensional interval vector X = (X1 . 1]. . X1 . . By an ndimensional interval vector. Xn ) and Y = (Y1 . . . X2 ) = X1 . . . 2].8. . n. . . Xn ) is an interval vector. . . . . . we mean an ordered ntuple of intervals We will also denote interval vectors by capital letters such as X. . then by (2. X2 can be represented as a rectangle in the x1 x2 plane: it is the set of all points (x1 . . we have X⊆Y if Xi ⊆ Yi for i = 1. . Example 2. . . . X2 . . . Xn ). . 2. (2. . . .27) 2. . . . . x2 ) such that X1 ≤ x1 ≤ X1 and X 2 ≤ x2 ≤ X 2 . If x = (x1 . If X = [0. . . . The width of an interval vector X = (X1 . Xn ) is the largest of the widths of any of its component intervals: w(X) = max w(Xi ). With suitable modiﬁcations. Otherwise.9. . . 1. Yn ) we have X ∩ Y = (X1 ∩ Y1 . . Xn ∩ Yn ). n. The intersection of two interval vectors is empty if the intersection of any of their corresponding components is empty. . . . if Xi ∩Yi = ∅ for some i. . . Yn ) are interval vectors. then we write x ∈ X if xi ∈ Xi for i = 1.
. . 7} } = max{2. . . norm. Interval Vectors and Matrices 15 Figure 2. Xn ) is X = max Xi .10. 7 − 4} = 3. . . 7].4.” We will see applications of this idea. max{4. The norm of an interval vector X = (X1 . . X2 ). . 2 2 = 3 11 . . . Un and V1 . . These concepts are illustrated in Figure 2. . 2} . Furthermore. We can also deﬁne an inner product P = U 1 V 1 + · · · + U n Vn between two interval vectors (U1 .2. We have w(X) = max{2 − 1..10 suggests that an interval vector can be thought of as an ndimensional “box. 2 2 .e. Vn ). Example 2. Vn . i . and midpoint of an interval vector X = (X1 . regardless of its geometric shape. . Width. 2] and X2 = [4. . Consider the twodimensional constant interval vector X = (X1 . which can be much more general and powerful than computing with single points (i. i This serves as a generalization of absolute value. . we can come arbitrarily close to a given set of points. . . All this leads toward the idea of computing with sets. . . The interval P contains all the real numbers deﬁned by values of the inner product of real vectors u and v with real components taken from the given intervals U1 .2. Un ) and (V1 .i 2. X2 ). m(X) = and X = max { max{1. . 1+2 4+7 . 7} = 7. with numbers or vectors of numbers). 6. Any bounded set of points in nspace can be enclosed by a union of such boxes. Example 2. where X1 = [1.
One researcher he encouraged at Freiburg is i . Other researchers began work with interval computations almost contemporary with or shortly after (that is. continue to be debated and revised. 59. In particular. within a decade of) Moore’s early work. −7). 2. It is also consistent with Kahan’s philosophy of nonstop exceptionfree arithmetic. through his book [148]. are available on the web. a task for which it is particularly suited. others. 62. 91] within several years of Moore’s dissertation. Moore describes the thought process and inspiration that led to his seminal dissertation in [155]. His early publications on interval computations include [19. A notable recent reference is [57]. The earlier work [238]. 177. 68]. written independently and often overlooked. 176. 178. 0). E. 61. most notably directed roundings. including [69. 60. there are some pitfalls.5. The Interval Number System Exercise 2. he began a lasting collaboration with Bill Walster. 67. embodied in the IEEE 754 standard for binary ﬂoating point arithmetic.5 Some Historical References Much of the modern literature on interval arithmetic can be traced to R. 175. 2. are important for interval computations. facilitate extended arithmetic. Often cited is [89] on extended arithmetic. see [58. The paper [238]. Nickel later moved to the University of Freiburg. where 1 ≤ f ≤ 3. some properties of the binary ﬂoating point standard. etc. also contained many of the ideas expressed in [146]. in which there are many gems. A collection of early papers by Moore and coworkers can be found on the web (see Appendix D for some starting links relevant to the material in this section). Kahan arithmetic was originally meant for dealing with continued fractions. subtleties. known for his work in standardization of ﬂoating point arithmetic. where he supported the ﬁeld with work such as editing the Freiburger Intervallberichte preprint series. 179]. as well as other early papers dealing with similar concepts. some not published elsewhere. • Eldon Hansen investigated reliable solution of linear systems and other topics. and interesting properties of interval matrixvector multiplication that we will discuss there.i 16 Chapter 2. In fact. had several publications on interval computations. • Several researchers at the University of Karlsruhe started a tradition in interval computation that continues to inﬂuence mathematics and computer science in Germany: – Karl Nickel began at Karlsruhe. Kahan devised a closed system in which an interval divided by an interval containing 0 is well deﬁned. as well as the details and mathematical underpinnings of extended interval arithmetic. 41. where he helped establish the discipline of computer science in Germany. By an interval matrix we mean a mean a matrix whose elements are interval numbers. A family of Cartesian vectors is given by (f. 88. such as operations with ∞. • William Kahan. including [87. 89. A decade or so later. Moore’s dissertation [146]. 6. 247]. 1 Calculate the range of inner products between these vectors and √5 (1. The details of both the operations with ∞ in the ﬂoating point standard. Such matrices are covered further in Chapter 7. 90.
The most famous fruit of this collaboration is the classic introduction to interval analysis [12]. Herzberger’s early work includes his dissertation [73]. 253. Neumaier continues to be active in interval computations and global optimization. The proceedings of this seminar. such as in [47]. Many of his 49 students hold prominent academic positions in German universities. where the muchstudied Krawczyk method ﬁrst appeared. 127. 76. 8. – Ulrich Kulisch. 14]. • There is early work other than at the aforementioned centers. 180. We will draw upon these and more recent references throughout the book. 201. presently at the University of Vienna. Moore joined MRC and wrote Interval Analysis during the summer of 1965. 254. 16. were edited by Louis Rall. 182. Another student of Kulisch is Siegfried Rump (1980). Two of his early students are Götz Alefeld and Jürgen Herzberger. 32. 255]. (See section 8.) • Soon after publication of Moore’s dissertation. 9. including [7. 251. and the work in interval analysis at the MRC continued through the 1980s. which Jon Rokne translated into English a decade later [13]. 183. Rump has done work in error bounds for solutions to linear and nonlinear systems. 77. 205. both receiving the Ph. 75. Some Historical References 17 Arnold Neumaier. he has mentored 29 Ph. Peter Henrici et al. i . presently head of the Institute of Reliable Computing at the Technical University of Hamburg. students and continues to hold a chair at the University of Karlsruhe.5. His early work includes [15. 204. 203. 10. 30. 252. have studied complex interval arithmetic. Ulrich Kulisch and Karl Nickel visited the MRC. 181. 19.D. 198. 78]. among other things.D. 197. starting in 1966. 122. Alefeld’s early work includes [4. 206.2 of this work. 123]. 207. as well as slightly later technical reports at the University of Wisconsin at Madison and the IBM Thomas Watson Research Center.i 2. For example. and a productive collaboration with Alefeld. 17. 199. 5]. has been inﬂuential through his work and that of his students. published as [195. [74. 215. 11. as evidenced in technical reports such as [26. 124. 196]. 202. he was invited to give a talk at a seminar on error in digital computing at the Mathematics Research Center (MRC) at the University of Wisconsin. 18. 208. – Rudolf Krawczyk was at Karlsruhe in 1969 when he published [119]. in 1969. He developed the INTLAB toolbox that we use throughout this book. 6.
i i .
0005] = [0. (3.9995. The intervals L. Suppose it is not necessary to know the ﬁnal answer to eight places.9995 ≤ l ≤ 1.1) i .00150025 m2 .e. the remaining side should be represented by the interval W = [1. Suppose we wish to calculate the area a of a rectangle from direct measurements of its side lengths l and w..9995 · 1.0005] to represent this side length. we construct an interval L = [0.9995. Suppose the true value of a is a = 1. we ﬁnd that w = 2 (nominally). we must measure l and w more accurately. 2.1. Since 0.2) 19 (3.99850026 m2 . 1. If we want to know a more accurately.0005] · [1.0005]. Use of a standard meter stick shows that l equals 1 m to within an uncertainty of 0.99850025 . of course.00150025] m2 .9995. Now A=L·W = [0.0005 m (i. and A all carry physical units. to within half the “least count measurement” of 1 mm). W .0005 · 2.9995 . We are therefore tempted to round off the endpoints of A. that 1. 2. 1. which means. Measuring again. Hence.99850025 m2 ≤ a ≤ 2. Interval arithmetic provides a natural way of incorporating measurement uncertainties directly into a calculation. 1. Let us take this example a bit further. This is indeed possible.1 Examples Almost any scientiﬁc computation begins with inexact initial data. The midpoint of A is 2.00000025.9995. Example 3.1).i Chapter 3 First Applications of Interval Arithmetic 3.0005. but we must be careful because the true value a of the product lw can fall anywhere within the interval that is speciﬁed exactly by (3. 2.0005] = [1.
2.1. Exercise 3. 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.9 ± 0. 1. The resulting interval contains the one we started with and hence still has a as a member. We will discuss functions such as i .3 we will show how they can be easily done with INTLAB.002 m2 is deﬁnitely true. If components having nominal values C = 1 nF and R = 15 k with manufacturing tolerances of 10% are used. 1. at the third decimal place.45678]. on the interval [1.32710. V0 ∈ [2.929. l = 14. Exercise 3.1. The necessary calculations are laborious if done by hand.002] m2 . Such an event would defeat the entire purpose of rigorous computation! Instead. Find several intervals containing the volume of the box. and in Example 3. and we seek an interval containing V . and the ability to depend on this is essential as we proceed.2 ± 0.6 ± 0. 2. It is worth examining the ﬁnal results at this time.998 m2 ≤ a ≤ 2. The statement 1.23456. 1. 2. 3.029](104 ).2. and h = 405. E ∈ [1. In the present example.3.470. Suppose we know that g ∈ [1. A Wien bridge electric circuit oscillates at frequency f0 given by f0 = 1/(2πRC) Hz.493](1011 ). we could round outwardly to the nearest square millimeter and obtain the interval A = [1. however.2).2. Example 3. this new interval A would not contain the value (3.521](1011 ).32715](1020 ).9985003 . M ∈ [2. Perform outward rounding. Consider the formula V = 2gM − V0 . First Applications of Interval Arithmetic Clearly. E(M + E) (3. in what range must f0 lie? Interval arithmetic also makes it easy to track the propagation of initial uncertainties through a series of calculations. Exercise 3.0015003] m2 .998.2.066.1. The dimensions of a rectangular box are measured as w = 7. if we were to round the endpoints of A both upward by one digit to obtain A = [1.i 20 Chapter 3.3) which has an application discussed in [149].
b . Carrying out the operations indicated in (3. However. (3. 15] [15. In decimal form. namely.933.. If we allow only three places. 1 15 14 = 1 16 15 . Examples 21 square roots systemically in Chapter 5. 6394]. we maintain rigorous enclosure of interval results through outward rounding. 0.938] is the narrowest interval. 14 15 . we ﬁnd that V ∈ [−324. 15 14 = 14 15 . The result just shown. 14 15 .1.0] because we divide by the largest number in the denominator to get the left endpoint of the result. 15 16 ∈ [0. 15].933. . 0. Since we can compute only with ﬁnite strings of digits.7.15] = 1 1+ 1 . The second expression yields the sharper result 1 1+ 1 [14. 1 1+M 1+ M For the interval data M = [14. 16 15 = [0. we get the result shown above. (3. 4413. 0.933.e.3) we can use the expression V = 2g E(1 + − V0 .5]. the ﬁrst expression yields [14. then √ √ √ x∈ a.938] illustrates how we can maintain rigorous enclosure despite machine rounding error. 15] [14. 15] = = 1 + [14.933333 . b] with a and b positive numbers such that a < b. but for now it will sufﬁce to note that if x ∈ [a. but gives the sharper (i. 15 16 = [0. if we have the exact result in no more than the maximum number of digits allowed. 15 16 i . 1. .5) So two expressions that are equivalent in ordinary arithmetic can fail to be equivalent in interval arithmetic.3). The interesting part is that instead of (3. the left endpoint is a repeating decimal and cannot be exactly represented by a ﬁnite string of digits. 15 . . 0. 16] 14 15 .4) E ) M This is equivalent in ordinary arithmetic.938]. Let us pursue the phenomenon of the previous example using the simpler formula M 1 = . We see that [0.9375]. we would have the exact result. 15 16 ∈ [0. that contains the interval 14 . This is a very important issue that we will continue to discuss.875. using only three places.i 3. Sometimes no rounding is needed. narrower) result V ∈ [1411.
a commonly used interactive and programming system both for academic and commercial purposes. 5 For brevity we omit this conﬁrmation from our examples.3. and the outwardly rounded right endpoint is the closest machine number greater than or equal to the exact right endpoint. MATLAB output has been lightly edited to conserve space. we mean interval arithmetic. we begin by issuing the command intvalinit(’DisplayInfsup’) which directs INTLAB to display intervals using its inﬁmumsupremum notation (or lower bound–upper bound representation.i 22 Chapter 3.e. By outwardly rounded interval arithmetic (IA). We can suppress this echoing feature by appending a semicolon to the end of our variable assignment: g = infsup(1. i . In optimal outward rounding. the outwardly rounded left endpoint is the closest machine number less than or equal to the exact left endpoint. Similarly. We can use INTLAB to perform the calculations for Example 3. 1. Numerous interval software systems do this automatically (see Appendix D). our usual endpoint notation). 3.32710e20.2.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).4 Example 3.3271 .32710e20.2 Outwardly Rounded Interval Arithmetic In practice. We now type >> g = infsup(1. i.0e+020 * [ 1. we can continue to enter the remaining values needed in Example 3. INTLAB provides an interactive environment within MATLAB.3272 ] which merely conﬁrms the value of g that we entered. First Applications of Interval Arithmetic 3. 214]). The interested reader may wish to consult one before attempting to read further. At the MATLAB prompt (>>). with outward rounding at the last digit carried. outward rounding is implemented at every arithmetic operation—always at the last digit carried. One who has MATLAB and has installed INTLAB can easily experiment with interval arithmetic.g..2.. Particularly convenient is INTLAB. 145. After providing conﬁrmation5 of this default display setting.32715e20) and hit enter.1. [79.1. Our interactive session appears on screen as 4 Many books on MATLAB are available (e. INTLAB returns to the MATLAB prompt and awaits further instruction. Deﬁnition 3.32715e20).1. The classic reference on IA is the mathematically rigorous treatment by Kulisch and Miranker [125]. available free of charge for noncommercial use. implemented on a computer. INTLAB responds (MATLAB style) with intval g = 1.
493e11). uses the IEEE 754 binary standard arithmetic deﬁned partially within the computer’s hardware (chips) and partially within software.0e+022 * [ 5.4).3898 ] Finally.1979 . >> E = infsup(1.4. 4.3. M.4128 ] To see more digits of this answer.066e11.V0 intval narrow_V = 1. INTLAB >> V0 = infsup(2. Internally. only a few decimal digits were carried. we can issue the command format long and then ask for the value of narrow_V again: >> narrow_V intval narrow_V = 1. approximately 16 decimal digits were carried. which in turn. deciding to assign a variable name wide_result: >> wide_result = 2*g*M / (E*(M+E)) intval wide_result = 1.2 and those using INTLAB directly above is due to the fact that in Example 3. INTLAB uses MATLAB’s arithmetic.029e4). >> M = infsup(2.8981 . 6.5360 . it rounds the internal representations out so that the displayed result contains the actual result. INTLAB rounds out in the last digit.2.0e+011 * [ 3.0e+003 * [ 0.929e4.1053 ] We continue. The difference between the computational results of Example 3.2.41309671989000.4.521e11). with rounding out after each operation.3 using INTLAB.3.6172 ] Now we ask INTLAB for M + E and E(M + E): >> M + intval >> E * intval E ans = 1.5): >> narrow_V = sqrt(2*g/(E*(1+E/M))) . 6. Exercise 3.i 3. we assign the name narrow_V to the sharper result of equation (3. 4.0e+031 * [ 5.0e+003 * [ 1. we issue the command 2 * g * M and get back intval ans = 1.2 and 3. i .V0 intval wide_V = 1.0e+003 * [ 1. we compute wide_V: >> wide_V = sqrt(wide_result) . Rework Exercises 3.4130 . generally. whereas in the INTLAB results.4835 . The reader is encouraged to apply it to as many of the exercises as possible. To request the value of 2gM. however.0e+009 * [ 0.1.470e11.2731 ] Corresponding to equation (3. 23 Having entered g. 1. we can use INTLAB to calculate expressions given in terms of these.3206 . when INTLAB displays results.0140 ] (M+E) ans = 1. V0 . The number of digits displayed in INTLAB corresponds to the “short” format or the “long” format of MATLAB.41275778813371 ] INTLAB is a powerful and convenient numerical tool. This means that roughly 16 decimal digits (53 binary digits) are carried. We will use it freely in subsequent examples. 6. and E.
When rx is printed. it is converted (presumably6 ) to the closest IEEE double precision binary number to 2/3 and stored in rx. >> format short >> rx = 2/3 rx = 0.32715 × 1020 ] from Example 3.6667 ] >> format long >> x intval x = [ 0.0) is issued. The following MATLAB/INTLAB computations illustrate the display of intervals in INTLAB. 7 The representation is not necessarily in terms of lower bound and upper bound. but. 8An mﬁle is essentially a MATLAB program. in any case. For example. an internal representation7 corresponding to an interval whose lower bound is less than 2/3 (a number that is not exactly representable in any binary format) and whose upper bound is greater than 2/3 is generated.32715e20’)) intval g = 1. this binary number is converted back to a decimal number. When output in the short format. First Applications of Interval Arithmetic Example 3.intval(’1. 1.0e+020 * [ 1.4. and the decimal representation of the upper bound is greater than or equal to the exact upper bound of the stored binary interval. INTLAB provides a special syntax for mathematically rigorous enclosures of decimal numbers that are entered.6666 . i .3271 .666666666666667 >> format short >> intvalinit(’DisplayInfsup’) ===> Default display of intervals by infimum/supremum >> x = infsup(2/3.i 24 Chapter 3. When the INTLAB command x = midrad(2/3. 1. but may be in terms of midpoint and radius. We will say more about mﬁles later.32710 × 1020 . Appendix D contains instructions on how to obtain the mﬁles used in this book.66666666666666 . Thus. when 2/3 is entered into MATLAB. 0.3272 ] The following MATLAB mﬁle8 could also be used: function [ivl] = rigorinfsup(x. possibly with no binary numbers in the system between. according to the format (short or long) in effect when the output is requested.y) returns an interval whose internal % representation contains a rigorous enclosure for the % decimal strings x and y.66666666666667 ] In these computations. It is an error to call this function 6 We have not veriﬁed this on all systems for all inputs. 0.32710e20’).3 with the following MATLAB dialogue: >> g = hull(intval(’1. The lower bound and upper bound are very close together in this case. the output interval is wider in the short format than in the long format.2/3) intval x = [ 0.y) % [ivl] = rigorinfsup(x. one may obtain a mathematically rigorous enclosure for the interval [1.6667 >> format long >> rx rx = 0. the decimal representation of the lower bound is produced to be smaller than or equal to the exact lower bound of the stored binary interval. the output will always contain the exact value 2/3.
4 or earlier. ivl = infsup(inf(ilower). we should mention a subtle aspect of INTLAB and other languages implementing interval arithmetic in a similar way.1.1) or infsup(0. the internal representation for intval(0. there is no internal binary number that corresponds exactly to the decimal number that was entered. such as 1. end. when one uses infsup(’1.3272 ] Above. then the midpointradius representation of the set of values for R would be 10. the system needs to convert this constant into its internal binary format for further use. This is the default format when MATLAB starts. 9 The quotation marks tell MATLAB that the argument is a string of characters. In contrast. (In the midpointradius representation.1’) does not give the expected results in INTLAB version 5.9 In particular. to ensure that the displayed interval contains This allows INTLAB to use a special routine to process this string.” 11 infsup(’0.i 3. INTLAB provides a conversion with rigorous rounding.32710e20.32715e20) in MATLAB results in an internally stored binary interval for g that may not contain the decimal interval [1. 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.3271 . ivl = infsup(Inf. if (ischar(x) & ischar(y)) ilower = intval(x). unless the format long command has previously been issued in the startup.1. 11]. mentioned in Example 3.0e+020 * [ 1.32710e20’. INTLAB % if the arguments are not character. the output of rigorinfsup is given in short format. one of arguments is not’). For example.32715×1020 ]. iupper = intval(y). if an electrical resistor is given by R = 10 ± 1 .4.1’.1’) does.3. not a usual number. issuing the command g = infsup(1. 25 Use of rigorinfsup is exempliﬁed in the following short MATLAB dialogue: >> g = rigorinfsup(’1. display(’a character string. 1.’1. Thus.’0.0. Caution There is a reason for this special syntax with quotation marks.32710×1020 . sup(iupper)). i . For example. else display(’Error in rigorinfsup.32710e20.m script or elsewhere in the session. and the signiﬁcant digits representation.32710e20’. the midpointradius representation. but intval(’0.’). This discrepancy usually is not noticed but occasionally causes unexpected results. which we have already discussed. unless the constant is representable as a fraction whose denominator is a power of 2. 1 . 10 With “operator overloading.32715e20’) intval g = 1.32715e20’).10 The problem is that when one enters a constant in decimal form. whereas the inﬁmumsupremum representation of the interval for R would be [9.11 Three representations for intervals can appear in INTLAB computations: the inﬁmumsupremum representation.1. Inf). However.’1. the radius is rounded up for display. The midpointradius representation is analogous to the speciﬁcation of tolerances familiar to engineers. 1.1) does not necessarily include the exact value 0.
12) intval ans = 1. and the last digit displayed is correct to within one unit.4) intval ans = 1_. Now we can see >> R intval R = < 100.1.11113) intval ans = 1.5. First Applications of Interval Arithmetic the actual interval. however.0) intval thin = < 1. 110.0000 .11111.11.5) intval ans = 1.0000 > We can always switch back to Infsup mode and see thin in that notation: >> intvalinit(’DisplayInfsup’) >> thin intval thin = [ 1. The following MATLAB dialogue gives some examples: >> intvalinit(’Display_’) >> infsup(1.0000 .11. 10.1.1. The command intvalinit(’DisplayMidrad’) will change INTLAB to Midrad mode. which is Infsup.12) intval ans = 1. Suppose an electrical resistor has a nominal value of 100 and a manufacturing tolerance of 10%.1.1.12__ >> infsup(1.1.1111111.0000 .0000 ] Note.1111 >> format long >> infsup(1.1111112) intval ans = 1.____ >> infsup(1.) There are certain advantages and disadvantages to the midpointradius representation. that R is still displayed in the current default mode.0000 > Note that we can input a “thin” interval by specifying its radius as zero or by simply not specifying the radius: >> thin = midrad(1.12__ >> infsup(1. INTLAB permits us to enter this information as follows: >> Ohms = 100.0.11112_________ >> infsup(2.______________ i .1. both in the display of intervals and in internal computations with intervals. Example 3.13) intval ans = 1.i 26 Chapter 3. >> R = midrad(Ohms.12____________ >> infsup(1. The interval is displayed as a single real number.0000 .1*Ohms) intval R = [ 90.11.0000 ] The signiﬁcant digits or uncertainty representation is appropriate when we are approximating a single real number and wish to easily see how many digits of it are known with mathematical certainty. 1. 0.
longprecision(ndigits).long(121)*b4 . .i 3.82739605994683 . Rump describes the INTLAB system in [224]. the author of INTLAB.2 (Rump’s counterexample) % ndigits is the number of digits precision to be used. 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. With this ﬁle in MATLAB’s search path. f = long(333. INTLAB References In his master’s thesis [70].72351402328065 . a = long(77617. a2=a*a. Intf = long2intval(f).31613913972737 ] >> Rump_example(20) intval ans = 1. 0. b2 = b*b. The following INTLAB program uses the long precision toolbox that comes with INTLAB to ﬁnd an interval enclosure for f in Example 1.0). encourages INTLAB users to contribute their own software and extensions..0e+014 * [ 6. He also supplies a number of mﬁles. Experiment with Rump_example for different values of ndigits.. one can carry on the following MATLAB dialogue: >> Rump_example(10) intval ans = 1.3.72351402328065 .75)* b6 + a2*(long(11)* a2*b2 . Example 3.b6. % The output Intf is an interval obtained using that many % digits of precision.31613913972737 ] >> Rump_example(30) intval ans = 1. b = long(33096.5.04587540000001 .72359720000001 ] >> Rump_example(100) intval ans = [ 0. INTLAB 27 In Example 6.0e+014 * [ 6. b4 = b2*b2. b6 = b2*b4.2) + long(5.0e+007 * [ 0. i . the INTLAB Display_ setting will be used to illustrate a convergent interval sequence.82739605994682 ] Exercise 3. Gareth Hargreaves gives a short tutorial of INTLAB with examples and summarizes many topics covered in this book. end This is the contents of a MATLAB mﬁle called Rump_example. partially overlapping with ones we present.2: function [Intf]= Rump_example(ndigits) % This evaluates f for Example 1. b8 = b4*b4.5)*b8 + a/(long(2)* b).m. 5. 5.4.0). 1.6. longinit(’WithErrorTerm’).
A short description appears in [104]. Rump describes the way interval arithmetic is implemented within INTLAB in [223]. starting with INTLAB version 5. See Appendix D. and has builds for MSWindows.4. and its necessity has been 12 The SIAM 100digit challenge was a series of 10 numerical problems posed by Nick Trefethen in which the goal was to supply 10 correct digits. more digits) in the interval representations than is available in. A major thrust by Kulisch and his students at the University of Karlsruhe has been to develop algorithms that provide narrow intervals to rigorously enclose the solutions to point linear systems of equations. widely used class libraries for interval arithmetic in C++ are PROFIL/BIAS [111] and FILIB++ [132]. methods for solving and for verifying bounds on the solutions of linear systems of equations involve repeated computation of dot products. Extensive libraries have been developed for automatically veriﬁed versions of standard computations in numerical analysis using CXSC. Linux. and Mac OS. i . It is available for free (under the GNU license). However. developed by a group of researchers associated with Ulrich Kulisch at the University of Karlsruhe and presently supported from members of that group at the University of Wuppertal. A nominal prize was given for the best answers. The concept is that the sum in the dot product is stored in a register having so many digits that. resulting in an enclosure for the dot product that is too wide to be useful. Along these lines. a standalone MATLABlike system speciﬁcally for interval computations and the automatic result veriﬁcation it provides.12 this is described in [27]. say. The INTLAB toolbox features prominently in the solution of 5 of the 10 problems posed in the SIAM 100digit challenge. First Applications of Interval Arithmetic while extensive documentation for INTLAB is integrated into MATLAB’s “demo” system. Alternate. and the contestants took it upon themselves to rigorously verify the correctness of the digits supplied. even if these linear systems happen to be illconditioned. If outward roundings are done after each addition and multiplication in the dot product. it may be desirable to use higher precision (i. Various groups have also developed tools for use with C++. Tools are available for doing interval computations within traditional programming languages. have developed the multiple precision interval library MPFI [217]. Under certain circumstances.. This is especially true if there is much cancelation during the computation. something that can happen for an illconditioned system. Nathalie Revol et al. the accurate dot product is relatively slow when implemented in software. Central to this is the concept of accurate dot product. when the ﬁnal result is rounded to the usual number of digits. Kulisch has advocated a long accumulator. even if the components of the original vectors are points. This long accumulator has been implemented in hardware in several machines and is implemented in software in CXSC and the other XSC languages. then the widths of the intervals can rapidly increase during the computation. the IEEE 754 standard for binary ﬂoating point arithmetic. In particular. while an update containing more advanced algorithms is [117]. there are the ACM Transactions on Mathematical Software algorithms [101] and [96]. described in [126] among other publications. In Fortran. 3.e.i 28 Chapter 3. the result is the closest number less than or the closest number greater than the mathematically correct result. an early version of this toolbox is described in [56].4 Other Systems and Considerations Shin’ichi Oishi has developed SLAB. Prominent among these is CXSC [80].
Interval arithmetic is also available in the Mathematica [109] and Maple [37. Accurate dot products in general will not help when there is interval uncertainty in the coefﬁcients of the original linear system and the coefﬁcients are assumed to vary independently. have proposed and analyzed methods for computing sums and dot products accurately and quickly using standard hardware. Such algorithms do not always give a result that rounds to the nearest number to the correct result. with quadruple precision13 give results that are within one or two units of the correct result except in certain cases. pp.i 3. Finally. 189. other and older implementations of interval arithmetic are described in [97. Other Systems and Considerations 29 controversial. have a formalized analysis of this. without a long accumulator [185]. 226]. Ogita et al. 116] computer algebra systems. 13 Now common and perhaps speciﬁed in the revision of the IEEE binary ﬂoating point standard. i . 102–112].4. This group has used these techniques in algorithms for veriﬁcation of solutions of linear systems [186. Rump et al. but.
i i .
X(Y Z) = (XY )Z Additive and Multiplicative Identity Elements The degenerate intervals 0 and 1 are additive and multiplicative identity elements in the system of intervals: 0 + X = X + 0 = X. it is possible to summarize them neatly in one line: X Y = {x y : x ∈ X. however. 4. With proper understanding of the notation. The material of the present chapter constitutes essential preparation for the study of interval functions in Chapter 5 and beyond. · . (4. for any three intervals X. we have X + Y = Y + X.1) (Until Chapter 8. 1 · X = X · 1 = X. their settheoretic character implies certain important relationships involving set containment. In addition. − . X + (Y + Z) = (X + Y ) + Z. Y .1 Algebraic Properties Commutativity and Associativity It is easy to show that both interval addition and multiplication are commutative and associative. and Z. 0·X =X·0=0 for any X. y ∈ Y }. where can be + . or / . XY = Y X.i Chapter 4 Further Properties of Interval Arithmetic In Chapter 2 we introduced the deﬁnitions of the basic interval arithmetic operations.) These deﬁnitions lead to a / number of familiar looking algebraic properties. 31 i . the quotient X/Y is deﬁned only if 0 ∈ Y .
(4. X = cX . (4. 2] · ([1. However. 1] = [min(1. Show that if c > 0. An easy counterexample can be obtained by taking X = [1. 0] = [0. 2) . If X does not have zero width. −X = X − X . 2)] − [min(1. In general. X/X = 1 only if w(X) = 0. 2] · [1. Similarly. Further Properties of Interval Arithmetic Nonexistence of Inverse Elements We caution that −X is not an additive inverse for X in the system of intervals.i 32 Chapter 4. X/X = X/X . cX for any X. Subdistributivity The distributive law x(y + z) = xy + xz of ordinary arithmetic also fails to hold for intervals. 1]: X(Y + Z) = [1. 1]. However. Show that X · [−1. Indeed. X − X . 1]. whereas (4. X/X. max(1. then [c.4) i . X + −X . 2] = [−1.3) We do not have additive or multiplicative inverses except for degenerate intervals. 1] = max(X. 1]. 0] only if X = X. Exercise 4. 1]) = [1. c] · X . 0]. 1]. X)[−1.1.2) (4. Y = [1. and Z = −[1. X/X if 0 < X. we always have the inclusions 0 ∈ X − X and 1 ∈ X/X.2) gives XY + XZ = [1. 2] · [0. and this equals [0. X/X if X < 0. 2] − [1. 2].2. then X − X = w(X)[−1. 1] − [1. 2) . 2)] = [1. max(1. 2] · [1. we have X + (−X) = X . there is a subdistributive law: X(Y + Z) ⊆ XY + XZ. Exercise 4. 1] − [1.
It reduces to ordinary real arithmetic for intervals of zero width.. 1].2 Symmetric Intervals X = −X. where m = m(X) and W = 1 w(X)[−1. 2][−3. 1]. X = 1 w(X) and 2 X = X[−1. Any symmetric interval has midpoint 0.6). π ] are symmetric intervals. 2] ([−3. Exercise 4.8) An interval X is said to be symmetric if Hence. [−5. interval arithmetic is an extension of real arithmetic. with the identiﬁcation of degenerate intervals and real numbers.3.9). (4.7).7) 4. Prove properties (4. Exercise 4.5) Interval multiplication can be distributed over a sum of intervals as long as those intervals have the same sign: X(Y + Z) = XY + XZ Example 4.6. (4.5.8) and (2. We have [1. −2] + [−5.4)–(4.6) Cancellation The cancellation law X + Z = Y + Z =⇒ X = Y holds for interval addition. provided that Y Z > 0.4. 2][−5. Show that multiplicative cancellation does not hold in interval arithmetic. Full distributivity does hold in certain special cases. Symmetric Intervals 33 We can see this in the example above. Exercise 4. (4. (4. Exercise 4.i 4. then according to (2. If X is symmetric. 2 i . for any real number x we have x(Y + Z) = xY + xZ. −1] as an example of (4.e. −3] = [1. Prove (4.1. −1]) = [−16. that is. 5] and [−π. −2] + [1. ZX = ZY does not imply X = Y . degenerate interval) and a symmetric interval: X = m + W. We should emphasize that. Show that any interval X can be expressed as the sum of a real number (i.2. In particular.6).
3 Inclusion Isotonicity of Interval Arithmetic Let stand for interval addition. and the resulting operations can be very fast. an analysis of its overestimation. Y . C. then A B⊆C D.22). XY = XY [−1. or division. these relations are not purely algebraic.24) on p. 4. If X.i 34 Chapter 4.4).14 In INTLAB. The type of multiplication in effect in those selected internal routines can be queried by issuing the MATLAB command intvalinit(’IVmult’).23) or Table 2. which returns either FastIVmult or SharpIVmult. then XY = XY. Although there is. with our formulas (2. Numerical Exploitation of Interval Symmetry Oliver Aberth’s RANGE software. However. Compare this with the subdistributive property (4. (See [223] for formulas for midpoint radius arithmetic. and Z are all symmetric. midpointradius arithmetic can be selected to be used in those places by issuing the command intvalinit(’FastIVmult’). X(Y ± Z) = XY + XZ = X(Y  + Z)[−1.21). In INTLAB. in general. These relations follow directly from the deﬁnitions given in Chapter 2. B. See Appendix D.) Midpointradius arithmetic is used internally in certain places in INTLAB for matrix multiplication. i . 1]. multiplication. and an analysis of speed that can be gained by using it. the operations are exact when the intervals are symmetric. while endpoint arithmetic15 can be selected by issuing the INTLAB command intvalinit(’SharpIVmult’). makes extensive use of the properties of symmetric intervals. and D are intervals such that A ⊆ C and B ⊆ D. Further Properties of Interval Arithmetic The rules of interval arithmetic are slightly simpler when symmetric intervals are involved. they serve to connect the algebraic and set properties of 14 See 15 Executed our Chapter 7 for more about linear algebra with intervals. then X(Y + Z) = XY + XZ for any interval X. then X + Y = X − Y = (X + Y )[−1. 1]. If Y is symmetric and X is any interval. 1]. (2.1. subtraction. symmetric intervals can be exploited through the use of midpointradius arithmetic. detailed in [1] and referenced several times later in this book. It follows that if Y and Z are symmetric. 13. If A. and (2. (2. overestimation in multiplication if midpointradius arithmetic is used.
3. Interval arithmetic is said to be inclusion isotonic. such as sin x and ex . i . we extend the concept of interval expressions to include functions. We will see important applications of this idea later on. Inclusion Isotonicity of Interval Arithmetic 35 interval arithmetic.i 4. In the next chapter.
i i .
1.1 Set Images and United Extension Let f be a realvalued function of a single real variable x. . 37 i . we would like to know the precise range of values taken by f (x) as x varies through a given interval X.2) where X1 . we would like to be able to ﬁnd the image of the set X under the mapping f : f (X) = {f (x) : x ∈ X}.1) More generally. . . . The set images described above can be characterized in a slightly different manner. More importantly. we will wish to ﬁnd the image set f (X1 . xn ∈ Xn }. . . . . Such a formula can be used to deﬁne an intervalvalued function A of two interval variables L and W . 5. . we used the simple formula A=L·W to bound the area of a rectangle in terms of given bounds on its side lengths. Much of the present chapter will be devoted to this goal. .i Chapter 5 Introduction to Interval Functions In Example 3. . we will need the general notion of an intervalvalued mapping to progress beyond interval arithmetic and into the realm of interval analysis. . xn ) of several variables. . (5. . . Xn ) = {f (x1 . . . with interval results. Ultimately. xn ) : x1 ∈ X1 . . . Standard functions such as exponentials can be applied directly to interval arguments. We state the next deﬁnition mainly for completeness and for the convenient terminology that it provides. given a function f = f (x1 . This chapter treats the basics of intervalvalued functions. Xn are speciﬁed intervals. . In other words. The reader can ﬁnd a brief review of function terminology in Appendix A. (5.
max X2 .4) We will use (5. For instance. it is merely necessary to note that16 g(X) = ¯ x∈X {g(x)}. . Let g : M1 → M2 be a mapping between sets M1 and M2 .1) is rather easy to compute. ¯ (5. however. The overestimation when we compute a bound on the range of X 2 as X · X is due to the phenomenon of interval dependency. (5. X ≤ X ≤ 0. and denote by S(M1 ) and S(M2 ) the families of subsets of M1 and M2 .2 Elementary Functions of Interval Arguments f (x) = x 2 . it is evident that the set f (X) = {x 2 : x ∈ X} can be expressed as X2 . For some functions. X 2 0 ≤ X ≤ X. consider If X = X. X < 0 < X. ¯ and because the usage is common. This is not the same as X · X. when we form the product x · x. However.e.1. the x in the second factor. (5.. in the deﬁnition of the interval product X · X. 2 f (X) = X . although known only to lie in X must be the same as the x in the ﬁrst factor. X2 .i 38 Chapter 5.4) as the deﬁnition of X 2 . [−1. 1]. it is assumed that the values in the ﬁrst factor and the values in the second factor vary independently. It is a major reason why simply replacing ﬂoating point computations by intervals in an existing algorithm is not likely to lead to satisfactory results.1) and (5. 1]2 = [0. i. 1] does contain [0. if we assume x is an unknown number known to lie in the interval X.2). we shall apply the term united extension to set images such as those described in (5. Namely. then. For this reason. whereas [−1. X2 . 1] · [−1. i . 1]. Interval dependency is a crucial consideration when using interval computations. 16 This accounts for the term united. Introduction to Interval Functions Deﬁnition 5. 1].3) The mapping g is sometimes of interest as a singlevalued mapping on S(M1 ) with ¯ values in S(M2 ). X . x ∈ R. For example.5) (5. 5. X ∈ S(M1 )}. For our purposes. respectively. 1] = [−1. whereas. that g(X) contains precisely the same elements as the set image g(X). The united extension g is an extension of g in the sense that we can identify ¯ singleton sets {x} ∈ S(M1 ) with their corresponding elements x ∈ M1 . [−1. 0. The united extension of g is the setvalued mapping g : S(M1 ) → S(M2 ) such that ¯ g(X) = {g(x) : x ∈ X.
6) i . As x varies through an interval X = [X. An increasing function is depicted in Figure 5. the exponential function f (x) = exp(x) = ex (x ∈ R) takes values from exp(X) to exp(X). X].. Note that it maps an interval X = X. Exercise 5. Elementary Functions of Interval Arguments 39 Figure 5. f (X) .1. issue the sequence of commands: intvalinit(’DisplayInfSup’) x = infsup(1. exp(X) .i 5. Within a MATLAB command window and with INTLAB running. Let us take an example. either increasing or decreasing with increasing x. The reasoning is particularly straightforward with functions f (x) that happen to be monotonic.2. The image of an interval X under an increasing function f (x).e. That is. i.1.1. X into the interval f (X) = f (X).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 ? Use of Monotonic Functions Let us apply some other familiar functions to interval arguments. we can deﬁne exp(X) = exp(X) . (5.
where B is the channel bandwidth. i . Hence. the distance in miles to the √ lineofsight radio horizon is given by d = 2h. π ] is increasing. The formula (S/N )dB = 10 log10 (S/N ) deﬁnes the signaltonoise ratio in decibels (dB). X y for X > 0 and y > 0. Therefore. For an antenna located h feet above the ground.2. exp(−X) = exp(−X) . 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. the values of exp(−x) decrease from exp(−X) to exp(−X). Introduction to Interval Functions The situation is similar for the logarithmic function f (x) = log x we have log X = log X . The square root of an interval is given by √ X= X. X for X ≥ 0. (5.10) We should also note that some restrictions of a nonmonotonic function could be monotonic. 2 2 sin X = sin X . (5. for instance. 1] for all real x. but its restriction fA to the set A = [− π . Find the diagonal of the rectangle discussed in Example 3. and S/N is the signaltonoise ratio. (5. and a receiving antenna sits atop a building √ height h2 ft. 2 2 (5.9) All these functions have been increasing. is not monotonic.3. if a transmitting antenna sits atop a tower of height h1 ft. (5. Exercise 5. The capacity of a binary communication channel is given by the Hartley– Shannon equation C = B log2 (1 + S/N ) (bits/s).8) Exercise 5. 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 function f given by f (x) = sin x.7) (x > 0). For example. We know. that sin(kπ + x) = (−1)k sin x and sin x is in [−1. as x increases from X to X.4.1. With decreasing functions. The more general exponential function f (x) = x y with x > 0 and y > 0 leads us to write Xy = Xy . Hence.i 40 Chapter 5.11) We can make use of known properties of the sine function to ﬁnd interval extensions for any interval argument. their at √ maximum allowed separation for lineofsight communication is s = 2h1 + 2h2 miles. Exercise 5. sin X for X ⊆ [− π . x ∈ R. We could give many examples in this same vein. log X for X > 0. exp(−X) . π ]. we must be careful to order the endpoints correctly.
If measurements indicate that α = 60◦ ± 0. The way that INTLAB computes bounds on the range of a function can be examined by looking at the corresponding mﬁle. This mﬁle is somewhat more complicated than the explanation here might suggest. INTLAB implements complex extensions of the standard functions. 5.i 5. Exercises 5. Exercise 5.6. INTLAB uses the program in the mﬁle <intlabdir>/intval/@intval/sqr. For instance. See Appendix E. The index of refraction n of the glass can be determined experimentally by measuring the minimum deviation angle δ and using the formula n= sin 1 (δ + α) 2 sin 1 α 2 . and 5. For the function f (x) = x 2 . 0.sqrt at 140 intval ans = [ 0. i . once for the lower endpoint and once for the upper endpoint.5 can be done easily in INTLAB. the implementation of computation of bounds on the ranges of the elementary functions is explained in [82.17 it handles cases where the argument passed to sqrt is an array or a sparse matrix.3.m 17 In fact.1) intval x = [ 1. a system for global optimization we will reference later.2.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 machinerepresentable number returned is a lower bound or upper bound (as requested) on the actual value.5◦ and δ = 45◦ ± 0. for nonnegative purely real arguments. in using sqrt.0001 + 1.m where <intlabdir> is the directory (or folder) in which INTLAB is installed. consistent with the standard functions in MATLAB. found in <intlabdir>/intval/@intval/private/sqrt_rnd.m twice.9999i .0000 .m. Within GlobSol. the INTLAB routine sqrt.0001 + 0. For example.5◦ .m calls a routine sqrt_rnd. An explanation is given in [29]. exp. ﬁnd an interval enclosing n. 1. Elementary Functions of Interval Arguments 41 INTLAB Applications INTLAB’s computation of tight bounds on the ranges of elementary functions (sin.0000 ] >> sqrt(x) Warning: SQRT: Real interval input out of range changed to be complex > In intval. etc.0001i ] However. and it catches cases where difﬁculties are encountered. we see the following in a MATLAB command window: >> x = infsup(1. A prism has angle α. the function sqrt_rnd. since INTLAB has preprogrammed bounds on the ranges for many commonly used functions. 101]. the INTLAB program that computes √ the range of x over an interval X is found in <intlabdir>/intval/@intval/sqrt. Exercise 5.4. because it handles cases where the output is complex.5.m.) is described in [225].
15) Let us compare F (X) with the set image f (X). Often this distinction is ignored.3 IntervalValued Extensions of Real Functions In the last section.2. X = [1. However. i . we were able to deﬁne a few intervalvalued functions.13) that describes function (5. 1] + −X. By deﬁnition. F (X) = [1. we will understand that Dom f is just as essential to the deﬁnition of f as is the formula f (x). the entity f (x) = 1 − x (5. (5.14) is an extension of the function (5.12): we have enlarged the domain to include nondegenerate intervals X as well as the degenerate intervals x = [x. x]) = f (x). (5. Formulas and Interval Extensions Let us begin with an example. Both of these are speciﬁed in (5. Introduction to Interval Functions Print out this ﬁle and annotate it. however. as indicated.12): the elements of Dom f are real numbers x. X = X. We did this by selecting a realvalued function f and computing the range of values f (x) taken as x varied through some interval X.6)–(5. 1] − X. and (2) a rule that speciﬁes how elements of that domain are mapped under the function. x ∈ R. in many elementary math books. Deﬁnition 5. x]. The serious issue of interval dependency is lurking. The resulting intervalvalued function F (X) = 1 − X. at a given interval X. Consider the realvalued function f given by f (x) = 1 − x. for example.i 42 Chapter 5. We stress that evaluation of one of these functions F . X . identifying where the lower and upper bounds on X 2 are computed. (5. Taken in isolation. 5. if for degenerate interval arguments.11) deﬁne intervalvalued functions of interval variables.12) and apply it to interval arguments. F agrees with f : F ([x. Here we will consider a different process: that of extending a given realvalued function f by applying its formula directly to interval arguments.1). We say that F is an interval extension of f . We have. −X = 1 − X. according to the laws of interval arithmetic. the result was equal to the set image f (X). we would interpret (5.13) as a function whose domain should be taken as the largest possible set over which the formula makes sense (in this case. and the mapping rule is x → 1 − x. Looking back. yields precisely the set f (X) described by equation (5. all of R). we see that equations (5. 1 − X . Now suppose we take the formula (5.12) Note carefully that a function is deﬁned by two things: (1) a domain over which it acts.13) is a formula—not a function. as we are about to see.
as we are about to see. f ([0. −X = X. 1]. x ∈ [0. X . X . and G(X) = X − X2 . f (X) = 1 − X.13) directly to interval arguments. 1 − X . X = X. IntervalValued Extensions of Real Functions 43 On the other hand.21) Remembering that X2 = X · X in interval arithmetic. 1 − X = [min S. X = X.3.12) clearly decrease from 1 − X to 1 − X. X] ⊆ [0. X · [1. 1]: F (X) = X. obtained by applying formula (5. Unfortunately. the values f (x) and g(x) both increase from 0 to 1 then decrease 4 back to 0.1).18) These are mathematically equal. 1]. (5. 1 . In this example. (5. As x increases from 0 to 1. 1] + −X. we work out the details of each extension separately for an interval X = [X. we use this to write two realvalued functions: f (x) = x(1 − x). because in ordinary real arithmetic we have x(1 − x) = x − x 2 .i 5. (5. and g(x) = x − x 2 . 1] − [X. (5.20) x ∈ [0. as x increases through the interval X.17) i .16) For reasons that will become apparent. 1]) = 0. we have F (X) = f (X): this particular extension of f . (5. by deﬁnition then. the situation is not so simple in general. Therefore. X . yields the desired set image (5. 1]. 1]) = g([0. we have found the united extension of f : f (X) = 1 − X. X · [1.19) 4 Let us form intervalvalued extensions of f and g: F (X) = X · (1 − X). X · 1 − X. max S]. (5. A More Interesting Example Consider next the realvalued function f (x) = x(1 − x). the values f (x) given by (5. In other words. X] = X. x ∈ [0.
while G(X) = X. X − X. Introduction to Interval Functions S = { X(1 − X). Putting. X(1 − X). X − X2 . (X − 1 )2 . 4 4 − X − 1. 1]. (X − 1 )2 }. This is due to the lack of distributivity and additive and multiplicative inverses in interval arithmetic. 4 4 1 1 . the two formulas involved in (5. 2 1 1 − (X − 1 )2 . X(1 − X). X 2 = X. Let A1 = [0. Note that these expressions would be equivalent in ordinary arithmetic. 1] 4 and G([0. so that H (X) = − max{(X − 1 )2 .18)—again. 2 X ≤ 1. 4 2 We get H (X) = = = 1 4 2 − X− 1 1 .17) and (5. 1 4 1 4 1 4 1 1 − (X − 1 )2 . 2]. 1 . 4 Exercise 5. X = [0. i . Evaluate the two expressions (A1 − A2 ) · (A3 /A2 ) and (A1 /A2 − 1) · A3 and compare the results. X − 1 1 . we see that G(X) = F (X). X 2 2 = X. 2 X< 1 2 1 2 < X. We have H ([0. 4 − (X − 2 )2 . We have F ([0. 2 2 2 2 = 1 1 . 1]) = 0. identical in ordinary arithmetic—give rise to different extensions. 1]) = [0. (X − 2 )2 } . X + −X . say. It is easily veriﬁed that this is f (X). We stress that two expressions can be equivalent in real arithmetic but not equivalent in interval arithmetic. 1 . 1 . 4 4 1 2 2 − X.7. A2 = [1. and neither of these maps the interval [0. 4 − (X − 2 )2 . 2 − (X − 1 )2 . 1]. (X − 1 )2 . 2 2 4 < X. 2 2 1 2 1 0. −X2 = X − X . It turns out that the united extension of the original function f arises from use of a third equivalent formula: 2 h(x) = 1 − x − 1 . 2 X ≤ 1. 2 X< X ≥ 1. 1]. 2 X ≥ 1. max{(X − 2 ) . X(1 − X)}. 1]. 1] into the interval 0. X − 1 2 2 1 2 (X − 2 ) . 1]) = [−1. X − X 2 .i 44 where Chapter 5. and A3 = [−2.
set X = infsup(0. In particular. one obtains very different graphs. By an interval extension of f . . .4. xn we have F (x1 . However. f = f (X1 . . h over X. xn ).22) Interval Extensions of Multivariable Functions So far. In principle.001) and evaluate f. and h using ﬂoating point arithmetic at points near x = 1 and plots the results. A related phenomenon occurs with interval values. 1. 1. . . and h. Use ﬂoating point evaluation within MATLAB to make approximate plots of f .999. . ¯ ¯ We will return to this observation momentarily.999. . Exercise 5. . . 3. . . (5. g. if one evaluates f .9. Y ∈ S(M1 ) with X ⊆ Y =⇒ g(X) ⊆ g(Y ). h(x) = (x − 1)6 . then the lefthand side of (5.3. g. and h at 100 points in [0.23) That is. . Xn such that for real arguments x1 . there is no reason we should avoid more general functions. The Fundamental Theorem and Its Applications 45 Exercise 5. we mean an intervalvalued function F of n interval variables X1 . Which expression is most prone to roundoff “noise”? Does the susceptibility to roundoff noise correlate with the width of the corresponding interval extension? 5. Compare parts 1 and 2.001].1. Using INTLAB. . and h deﬁne the same realvalued function. . . . . depending on n interval variables X1 . . 2. . we see that the united extension g has the following subset property: ¯ X. g. if the arguments of F are degenerate intervals.8. Observe the effects of roundoff error in the ﬂoating point plots of f .i 5. Xn . (5. we have limited ourselves to functions of a single interval variable X. g. . g(x) = 1 + x(−6 + x(15 + x(−20 + x(15 + x(−6 + x))))). Xn ). if we deﬁne f (x) = x 6 − 6x 5 + 15x 4 − 20x 3 + 15x 2 − 6x + 1. . Show that there is never a unique interval extension of a given real function. xn ) = f (x1 .3). 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. . g.4 The Fundamental Theorem and Its Applications Subset Property of United Extension Looking back at (5. Deﬁnition 5. i . then f . . .23) is a degenerate interval equal to the righthand side.
Let us take interval addition as an example. The notation is consistent with our previous usage: indeed. F (X1 . Xn ). Observe carefully that united extensions. (one interval multiplication). then. X2 ) extends a real function of the form f (x1 . The computation of F (X1 . The operations of interval arithmetic are all deﬁned in this way—recall (4. a rational interval function must arise as an extension of some realvalued function. Introduction to Interval Functions As simple yet crucial examples of twovariable functions. . are inclusion isotonic. Example 5. . Inclusion Isotonicity Deﬁnition 5. X2 ) can be broken down into the ﬁnite sequence of interval arithmetic operations described by T1 = [1. we have the operations of interval arithmetic. x2 ∈ X2 }. . (one interval multiplication). . By nature. .1. . Consider the function given by F (X1 . (5. . X2 ) = T2 X2 Hence F is a rational interval function. . i . X2 ) = X1 + X2 = {x1 + x2 : x1 ∈ X1 . x2 ) = x1 + x2 that describes ordinary numerical addition. n =⇒ F (Y1 .24) We made this observation in section 4. Yn ) ⊆ F (X1 . X2 ) = ([1.4. the operations of interval arithmetic must satisfy Y1 ⊆ X1 . Although we do not normally do so. A rational interval function is an intervalvalued function whose values are deﬁned by a speciﬁc ﬁnite sequence of interval arithmetic operations. In particular. . Rational Interval Functions Deﬁnition 5. 1] F (X1 .3. 2]X1 + [0. we could denote this binary operation as a function of two variables: f (X1 . Xn ) is inclusion isotonic if Yi ⊆ Xi for i = 1. . it follows from the set deﬁnition on the right that interval addition is the united extension of the function f (x1 . we will go a step further. Y2 ⊆ X2 =⇒ Y1 Y2 ⊆ X1 X2 . (one interval addition).5. x2 ) = (c1 x1 + c2 )x2 . which all have the subset property. We say that F = F (X1 . . Here. The essential observation is that the interval arithmetic functions are united extensions of the corresponding real arithmetic functions. .i 46 Chapter 5. 2]X1 T2 = T1 + [0. . . 1]) X2 . In the example above. .1). .
. The Fundamental Theorem We are now ready to state a central theorem. . That is.4. . The result F is called a natural interval extension of f . . Proof. Proof. . . . . we have a means for the ﬁnite evaluation of upper and lower bounds on the ranges of values of real rational functions. . . Xn ). The lemma follows by ﬁnite induction from (5. . then the value of f is contained in the interval F (X1 . . Natural Interval Extensions In section 5.1. we have the following corollary to Theorem 5. xn ). . . Xn ) ⊆ F (X1 . . The Fundamental Theorem and Its Applications where c1 and c2 are constants. .3 bears repeating: Two rational expressions which are equivalent in real arithmetic may not be equivalent in interval arithmetic. . Xn ). . By deﬁnition of an interval extension. xn ) in (X1 . If F is an inclusion isotonic interval extension of f . and our general observation from section 5.3. . Corollary 5. . .24) and the transitivity of the relation ⊆. . . If F is a rational interval function and an interval extension of f . .1. Therefore. Xn ) for every (x1 . . All rational interval functions are inclusion isotonic. Xn ).1 (Fundamental Theorem of Interval Analysis [148]). . then f (X1 .1. i . The function F (X) = m(X) + 1 (X − m(X)) 2 47 is not a rational interval function (even though its computation entails only a ﬁnite number of operations) because m(X) = (X + X)/2 is not an interval arithmetic operation. xn ) = F (x1 . . . then f (X1 . . . . since rational interval functions are inclusion isotonic. we obtained extensions F of real rational functions f by replacing (1) the real variable x with an interval variable X and (2) the real arithmetic operations with corresponding interval operations. . However. If F is inclusion isotonic. . f (x1 .i 5. The same procedure can be performed with functions of n variables. . Xn ) ⊆ F (X1 . . . Lemma 5. Theorem 5. 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.
At this time. −5 = [−6. (5. 27] = − 34 . −3].453559 . It turns out that any natural interval extension of a rational function in which each variable occurs only once (if at all) and to the ﬁrst power only will compute the exact range of values provided that no division by an interval containing zero occurs. an important point is that we can ﬁnd intervals containing the exact range of values without calculus — just by a single evaluation of an interval expression.28) 3 Exercise 5. 3 3 A different extension can be obtained by ﬁrst rewriting p(x) as q(x) = 1 − x(5 − x 2 /3).25) Suppose we wish to know the range of values of p(x) when 2 ≤ x ≤ 3.28). 3]) = [−10.i 48 Example 5.4).26) 3 is a natural interval extension of p(x). we will discuss interval methods for computing convergent sequences of upper and lower bounds to exact ranges of values. it is easy to verify that the exact range of values for p(x) in the preceding example is √ p(x) ∈ − 10 5 + 1 . 3]. . Verify (5. Since the interval polynomial P (X) = 1 − 5X + 1 X · X · X (5. This narrower interval provides a better estimate for the desired range of values of p(x). the nested form A0 + X(A1 + X(A2 + · · · + X(An ) · · · ) usually gives better (and never gives worse) results than the sumofpowers form A0 + A1 X + A2 X · X + · · · + An X · X · · · · · X. we point out that for polynomials. . Consider the polynomial Chapter 5. 0 . Using ordinary calculus.28) exactly by any ﬁnite sequence of arithmetic operations with √ rational numbers. A proof will be provided in Chapter 6. A natural interval extension of this is Q(X) = 1 − X(5 − X · X/3). Equation (5. 3 (5. and a straightforward calculation yields Q([2. 3] + 1 [8.2.27) i .14) was a simple example of such an extension. In Chapter 6. −5] for x ∈ [2. 3]) = 1 − 5[2. We cannot ﬁnd (5. Introduction to Interval Functions p(x) = 1 − 5x + 1 x 3 . . the actual range of p(x) values is contained in the interval P ([2. since 5 is irrational. (5. This statement holds by (4.10. However.
2 we deﬁned X 2 . Thus we can compute.13. Furthermore. Xn ] if 0 ∈ X and n is even. 49 Exercise 5. The resistance of a parallel combination of two electrical resistors is given −1 −1 by the formula R −1 = R1 + R2 . X . if F (X0 ) is deﬁned. In section 5. Exercise 5.5.12. A Further Property of Natural Extensions Suppose that F (X) is a natural interval extension of a real rational function f (x). which is equivalent in real arithmetic.11. [0. using the appropriate endpoint obtained in this way in (5. Find f ([0. A principal goal of interval computation is to use computers to produce pairs of numbers. a machine interval containing the exact result. Higher integral powers Xn are deﬁned by Xn . In particular. n n n X = (5. and suppose we can evaluate F (X0 ) for some interval X0 without encountering a division by an interval containing zero.5 Remarks on Numerical Computation As we close this chapter. Compare with enclosures found by 3 evaluating some interval extensions of f . f (x) cannot have any poles in X0 . no division by an interval containing zero will occur during the evaluation of the same expression for F (X) for any X ⊆ X0 . let us remember that interval methods are for use with computers. i . Repeat using the formula R = (R1 R2 )/(R1 + R2 ). and manufacturing tolerances of 10%. 5. between which there are exact solutions of various kinds of computational problems. ﬁnd an interval enclosure for R. Hence.i 5.29) X . 3]) if f (x) = 1 x 3 − 2x. In other words. we can treat X. IA is an integral part of these methods. in each case. X if X < 0 and n is even. Show by a counterexample that the interval function F (X) = m(X) + 1 (X − m(X)) 2 is not inclusion isotonic. and X in IA. by the inclusion isotonicity of the interval arithmetic operations (and hence of F (X)). To take the limited precision of machine arithmetic into account. respectively. where X is an interval.29). Remarks on Numerical Computation Exercise 5. Then the range of values of f (x) for x in X0 is bounded by F (X0 ) ≤ f (x) ≤ F (X0 ). This way we have X n = {x n : x ∈ X} for each n. If R1 and R2 have nominal values of 47 and 10 . n X. and X as degenerate intervals and compute X n . Xn if X > 0 or n is odd. then F (X) also is for every X ⊆ X0 .
In this way we can compute. f (X) . inaccessible in practice because the required endpoints cannot be computed exactly. The resulting functions are inclusion isotonic. we can extend the machinecomputed endpoints outward in each case by an amount just great enough to include the approximation error for each such function. of course. we can construct inclusion isotonic interval extensions of all functions commonly used in computing. such that we enclose the corresponding united extensions arbitrarily closely. Using similar approaches.i 50 Exercise 5. Study the INTLAB ﬁle Chapter 5. We saw examples of the fact that if f is increasing. we introduce theory and practice for computing reﬁnements of interval extensions. f (X) . These united extension values are.m Explain where (5. then f (X) = f (X).29) is implemented. i . Introduction to Interval Functions <intlabdir>/intval/@intval/power. This is done automatically by interval software packages such as INTLAB. In the next chapter. then f (X) = f (X). What other necessary complication exists in this function? In section 5.2 we used monotonicity to calculate the images of intervals X under certain common functions. while if f is decreasing.14. on the machine. intervals containing the exact ranges of values. However.
1 A Metric for the Set of Intervals Review of Convergence and Continuity In real analysis.1) or xk → x ∗ and refer to x ∗ as the limit of {xk }. The notion of sequence convergence appears throughout mathematics. and suppose that a realvalued function d is deﬁned such that for any two elements x. In this case. realvalued functions of a real variable. f (x) − f (x0 ) is the distance between the yaxis points f (x) and f (x0 ).1) is just the distance between xk and x ∗ as measured along the real line. corresponding to the distance x − x0  along the xaxis. how they both hinge on having a suitable way to express distance. Notion of Metric Let S be any set. in turn. etc. y ∈ S the following statements hold: 51 i . The need to discuss convergence and continuity outside of ordinary real analysis has led to a powerful generalization of the distance idea. 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. The quantity xk −x ∗  in (6. We see. Let us also recall the deﬁnition of ordinary function continuity.2) whenever x − x0  < δ. All that is needed is a suitable measure of “distance” between the objects of interest. One can consider convergent sequences of complex numbers. It is said that convergence and continuity are the two central concepts of analysis. we call a sequence {xk } convergent if there exists a real number x ∗ such that for every ε > 0 there is a natural number N = N (ε) such that xk − x ∗  < ε whenever k > N . In this case. we write x ∗ = lim xk k→∞ (6.i Chapter 6 Sequences of Intervals and Interval Functions 6.
and for this we require a suitable metric.3) Convergence and Continuity in Interval Mathematics Let {Xk } be a sequence of intervals. x − y} = x − y for any x and y. there is a natural number N = N (ε) such that d(Xk . What does it mean for F to be continuous at some X0 ? (b) Propose a deﬁnition of uniform continuity for an interval function. x). We will use d(X. y] ) = max{x − y. Example 6. we must discuss continuity and convergence in the context of interval analysis. y) = x − y. We say that {Xk } is convergent if there exists an interval X∗ such that for every ε > 0. i . Exercise 6. 5] is d(X. d(x.3). 3} = 3.i 52 1. The function d is called a metric on S. The distance between the intervals X = [1. x] .14) can be regarded as a function or mapping between the two systems. [y. and we say that the real line is “isometrically embedded” in the metric space of intervals. As in the case of real sequences. Y ]. X] and Y = [Y . y) for any z ∈ S. the correspondence [x. 2. Interval Sequences These can be regarded as the essential characteristics of distance between the objects x and y. x] ↔ x of (2. 2] and X = [3. y) = d(y. Here d is given by (6. Exercise 6. y ∈ R and d(x. However. It is not hard to show that the interval arithmetic operations and rational interval functions are continuous if no division by an interval containing zero occurs. z) + d(z. X − Y } as a measure of distance between two intervals X = [X. Also show that the limit of a convergent sequence of intervals is unique.3. 3. and they certainly hold in the real number system when x. X∗ ) < ε whenever k > N. Show that Xk → X if and only if Xk → X and X k → X in the sense of real sequences. y) ≤ d(x. This mapping preserves distances between corresponding objects: we have d( [x. (6. (a) Let F be an intervalvalued function of the interval variable X. Isometric Embedding We know that the interval number system represents an extension of the real number system. we write X∗ = lim Xk k→∞ or Xk → X ∗ and refer to X∗ as the limit of {Xk }. Y ) = max{1 − 3 . Y ) = max{X − Y  .1. It is not our purpose to develop the theory of metric spaces. Exercise 6. 2 − 5} = max{2. For this reason. y) = 0 if and only if x = y. Chapter 6. In fact.1. and S is known as a metric space. Show that interval addition is continuous. d(x. it is called an isometry.2. d(x.
Xn ) (6. Xn ). (c) d(X. . .3) is implemented with the function qdist(X. In INTLAB. 6. Reﬁnement 53 Exercise 6. .4).5/2). Show that (6. but we also saw examples in which the width of the righthand side substantially exceeded that of the lefthand side. Help for a speciﬁc function listed there can be obtained in the command window with the “help” command.i 6.4) According to the fundamental theorem of interval analysis. .5000 Similarly. issuing help diam gives a summary of how to use the INTLAB diam function. different versions of the function.4. Xn ) ⊆ F (X1 . (6. Clicking on one of these links gives information about the function when used with that data type. . . . Lipschitz Interval Extensions We now examine a process by which f (X1 . Exercise 6. Here X may be an interval or an interval vector X = (X1 . in blue. For example. (b) d(X. then F is Lipschitz in X0 . If F is a natural interval extension of a real rational function with F (X) deﬁned for X ⊆ X0 .1. . Y +Z) = d(X. Y ). we have for any inclusion isotonic interval extension F of a real function f .3) has the following additional properties: (a) d(X+Z.5. . Xn . 0) = X. . 18 Issuing the help command for a particular function will also list.2 Reﬁnement f (X1 . We begin with a concept closely related to continuity. we saw an example in which equality held in (6.2. >> Y = infsup(1/2. . the width of an interval X is implemented with the function diam(X).Y) ans = 1. the width of F (X) approaches zero at least linearly with the width of X. Y ) ≤ w(Y ) when X ⊆ Y . i . .Y): >> X = infsup(1.18 ) Illustrate Exercise 6. . . >> qdist(X. An interval extension F is said to be Lipschitz in X0 if there is a constant L such that w(F (X)) ≤ Lw(X) for every X ⊆ X0 . for different data types. . 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 . .1. Xn ) may be approximated as closely as desired by a ﬁnite union of intervals. (For a list of these and other INTLAB functions. In Chapter 5. . Lemma 6. see Appendix E.4 by using the INTLAB functions qdist and diam. . Deﬁnition 6.1). where X and X0 are intervals or ndimensional interval vectors. Hence. . .
5) Since the natural interval extension has interval values F (X) obtained by a ﬁxed ﬁnite sequence of interval arithmetic operations on real constants (from a given ﬁnite set of coefﬁcients) 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. therefore. w(f (X)) ≤ Lw(X) for X ⊆ X0 .2. f (x) − f (y) ≤ Lx − y for x. i . The interval (or interval vector) X0 is compact. w(1/Yi ) ≤ 1/Yi 2 w(Yi ) if 0 ∈ Yi . eX ]. π . and G(X0 ) ⊆ Y0 .29). eX = [eX . 5. such as the following. 2. X 1/2 ] for 0 < X0 . w(f (X)) = f (x1 ) − f (x2 ) for some x1 . G Lipschitz in X0 . ln X = ln X . If a realvalued function f (x) satisﬁes an ordinary Lipschitz condition in X0 .3. are also Lipschitz in X0 : 1. it follows that a ﬁnite number of applications of (6. Then the composition H (X) = F (G(X)) is Lipschitz in X0 and is inclusion isotonic. certain interval extensions of irrational functions are also Lipschitz. sin X = [minx∈X (sin x) . Proof.5) will produce a constant L such that w(F (X)) ≤ Lw(X) for all X ⊆ X0 . ln X for 0 < X0 . / (6. The function f is necessarily continuous. then the united extension of f is a Lipschitz interval extension in X0 . 2 2 6.i 54 Chapter 6. 4. But x1 − x2  ≤ w(X). sin X for X0 ⊆ − π . The inequality w(H (X)) = w(F (G(X)) ≤ L2 w(G(X)) ≤ L2 L1 w(X) shows that H is Lipschitz in X0 . sin X = sin X . Interval Sequences Proof. By the following result. For any real numbers a and b and any intervals Xi and Yi . we have the following relations (which are not hard to prove): w(aXi + bYi ) = aw(Xi ) + bw(Yi ). 3. Thus. maxx∈X (sin x)] for arbitrary X0 . Lemma 6. It follows that interval extensions which are united extensions. X 1/2 = [X1/2 . Lemma 6. w(Xi Yi ) ≤ Xi w(Yi ) + Yi w(Xi ). Xn given by (5. Proof. y ∈ X0 . x2 ∈ X ⊆ X0 . Let F and G be inclusion isotonic interval extensions with F Lipschitz in Y0 .
Xn ) + EN . Xn ). The interval quantity F(N ) (X) = N=1 F (X1.jn ). then there is an interval E with E ≤ 0 ≤ E such that Y = X + E and w(Y ) = w(X) + w(E). Ordinary monotonicity is not required for inclusion isotonicity.1.j ) = w(Xi )/N . . Reﬁnement 55 Example 6. i . . . . A reﬁnement F(N ) (X) of F (X) is the union of the interval values of F over the elements of a uniform subdivision of X.8) (6. an inclusion isotonic interval extension whose values F (X) are deﬁned by a ﬁxed ﬁnite sequence of rational (interval arithmetic) operations or compositions of Lipschitz extensions is a Lipschitz extension in some suitably chosen region. then f (X) ⊆ F (X) for X ⊆ X0 . Let N be a positive integer and deﬁne Xi.jn ) = w(X)/N . Let F (X) be an inclusion isotonic. Furthermore.j1 .9) (6.2. . . If F (X) is an inclusion isotonic.6) j = 1. f (X) gives the exact range of values of a continuous function f (x) for x ∈ X. interval extension for X ⊆ X0 .2. . j X = ∪N=1 (X1. . ji with w(X1. we mean the following.7) ji is called a reﬁnement of F over X. Lipschitz. interval extension for X ⊆ X0 . then the excess width of a reﬁnement F(N ) (X) is of order 1/N .j1 . The united extension itself has zero excess width. Deﬁnition 6. If F is an inclusion isotonic interval extension of f with F (X) deﬁned for X ⊆ X0 . Theorem 6. .3.i 6. . If X and Y are intervals such that X ⊆ Y . We call w(E(X)) = w(F (X)) − w(f (X)) the excess width of F (X). X i + j w(Xi )/N . .4. .j1 .jn ) (6.j = Xi + (j − 1) w(Xi )/N . We have Xi = ∪N=1 Xi. . . . where w(EN ) ≤ Kw(X)/N for some constant K. . . .j and w(Xi. . Xn. Xn. If G(X) is rational in X and G(X0 ) is deﬁned. Deﬁnition 6. By a uniform subdivision of an interval vector X = (X1 . We have F(N ) (X) = f (X1 . We have F (X) = f (X) + E(X) for some intervalvalued function E(X) with w(F (X)) = w(f (X)) + w(E(X)).2. Lipschitz. Thus. Subdivisions and Reﬁnements We are now in a position to accomplish the goal of this section. Xn. We can compute f (X) as closely as desired by computing reﬁnements of an extension F (X). Deﬁnition 6. . . . . (6. N. then sin G(X) is Lipschitz and inclusion isotonic for X ⊆ X0 . .
m. 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 ﬁnd a narrower interval still containing the range of values of F (X). 1] into n 4 4 subintervals Xi = [(i − 1)/n. We have F (Xs ) = f (Xs ) + Es for some Es and w(Es ) = w(F (Xs )) − w(f (Xs )) ≤ w(F (Xs )) ≤ Lw(Xs ) ≤ Lw(X)/N for each Xs . and every F(n) (X) contains the exact range of values 0. F (X) can be programmed: function Y = example6p3(X) Y = X .001.35] [−0. Example 6.5.2501] These strongly suggest convergence. converges at least linearly in the width of the pieces in the subdivision. This happens automatically if MATLAB’s editor is used and the default “save ﬁle” is done the ﬁrst time the ﬁle is saved. (The above MATLAB code should be put into a ﬁle named example6p3. Interval Sequences Proof. 1]) = 0. The interval extension 4 F (X) = X − X · X has F ([0.) Computation of a row of the table in Example 6. the maximum excess width may have to be added to both upper and lower bounds in the union. The inequality for w(EN ) holds with K = 2L since. 0. 1]) = [−1. in the worst case. The computations in Example 6. 1]. Relation (6. its excess width is 2 − 1 = 7 . Consider the function f (x) = x − x 2 for x ∈ [0. i/n].251] [−0. We can compute arbitrarily sharp lower and upper bounds on the exact range of values of a wide variety of realvalued functions of n variables by subdividing the domain of arguments and taking the union of interval evaluations over the elements of the subdivision.f. Let us split [0.9) follows from the fact that f (X) = ∪s f (Xs ). 0.1. In particular. 1].N) % Y = refinement(X.f. The table below gives numerical results for a few values of n: n 1 2 10 100 1000 10000 F(n) (X) [−1. 1 ≤ i ≤ n. This technique.6. also known as splitting.3.26] [−0. It is easily veriﬁed that f ([0.0001. 0.i 56 Chapter 6. where the Xs are the elements of the uniform subdivision. 1] [−0.3 can be done with the following function: function Y = refinement(X. 4 Exercise 6.01.75] [−0. 0. 0.N) i . 1 . 1 . Hence.3 can be done neatly in MATLAB using the INTLAB toolbox.X*X.
xip1). 6. 0. % Do it this way so there are no "cracks" due % to roundoff error xi=xip1. Similarly.5. See Section 6. {X k } is nonincreasing and bounded below by X 1 and so has a limit X. we have X ≤ X. and Cloud. {Xk } is a nondecreasing sequence of real numbers. >> Y = refinement(X.3 Finite Convergence and Stopping Criteria Nested Interval Sequences Deﬁnition 6. xi=inf(X). k=1 i . Lemma 6.Xs(1)). Thus {Xk } converges to X = X. Furthermore. if N>1 for i=2:N Y = hull(Y.3. Xs(i) =infsup(xi. X = ∩∞ Xk .1).3501 ] Use this to check the table in Example 6. k=1 Proof.Xs(i))). x1=xi. % Now compute the extension by computing the natural % extensions over the subintervals and taking the union Y = feval(f.sup(X)). Every nested sequence {Xk } converges and has the limit ∩∞ Xk .’example6p3’. Finite Convergence and Stopping Criteria % % % % % computes a uniform refinement of the interval X with N subintervals.10) intval Y = [ 0. An interval sequence {Xk } is nested if Xk+1 ⊆ Xk for all k.feval(f. end end For example. for i=1:N % This is more accurate for large N than % xip1 = xi + h xip1 = x1 + i*h.3.i 6. 57 % First form the N subintervals h = (sup(X)inf(X))/N. Kearfott.1000 . and so has a limit X.2 of "Introduction to Interval Analysis" by Moore. since X k ≤ Xk for all k. we might create the following dialogue in the MATLAB command window: >> X = infsup(0.4. end % Redefine the upper bound to eliminate roundoff % error problems Xs(N) = infsup(inf(Xs(N)). to compute an interval enclosure for the range of the interval function f (passed as a character string). bounded above by X 1 .
. Finite Convergence Deﬁnition 6. The real sequence xk+1 = 1 + xk /3 converges to 1. It 3 3 follows that Xk+1 = F (Xk ) ⊆ Xk for all k by ﬁnite induction. We can also illustrate the ﬁnite convergence of the sequence in Example 6. ∗ X2 = [1. By induction.5. .i 58 Chapter 6. It follows from Lemma 6. . . Then Yk is nested with limit Y . X1 = F (X0 ) = 1 + [1.. 2].67].33.4. 2]. the intersection deﬁning Yk+1 is nonempty so {Yk } is well deﬁned. ∗ X1 = [1. . 1. If we compute {Xk } using IA. 2]. since X ⊆ Xk for all k). ∗ and Xk = X ∗ for all k ≥ 4.49. 2].52]. (6. Relation (6. ∗ X4 = [1. More precisely. with threedigit IA we ﬁnd ∗ X0 = [1. It is nested by construction. 1. 1.50 (after inﬁnitely many steps) from any x0 . It is not hard to see that X0 = [1. let Xk be deﬁned by X0 = X0 = [1.44. ∗ X5 = [1. 1.6.48.4. 2. Example 6. The sequence ∗ {Xk } will converge in a ﬁnite number of steps. Such a sequence converges in K steps. as well as illustrate use of the uncertainty representation within INTLAB. and x ∈ Y ⊆ Yk for all k.4.10) follows from Lemma 6. Xk+1 = 1 + Xk /3 (k = 0. 2. 1. Suppose {Xk } is such that there is a real number x ∈ Xk for all k. By the ﬁnite convergence of a sequence {Xk }. Therefore. 1. We have ﬁnite convergence in four steps. Deﬁne {Yk } by Y1 = X1 and Yk+1 = Xk+1 ∩ Yk for k = 1. intvalinit(’Display_’). 1. (which we can apply.10) Proof. .51]. ∗ X3 = [1. The rational interval function F (X) = 1 + X/3 is inclusion isotonic.4. For instance.49. generates a nested sequence {Xk }. . By Lemma 6. 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. .51]. Interval Sequences Lemma 6. we mean there is a positive integer K such that Xk = XK for k ≥ K. and ∗ ∗ ∗ Xk+1 = {1 + Xk /3 : computed in IA} ∩ Xk for k = 0.). we will obtain a sequence {Xk } with Xk ⊆ Xk ∗ ∗ for all k.5 ∗ ∗ that Xk is nested and that the limit of {Xk } is contained in the limit X ∗ of {Xk }. 2]/3 = 4 . the sequence ∗ ∗ has a limit X. . i . 2.56]. 5 ⊆ X0 = [1.
500___________ i = 8. intval X = 1. 1].55555555555556 ] i = 4. By 4 Theorem 6.i 6. {Yk } is nested. Yk+1 = F(k+1) ([0.00000000000000 . intval X = 1. intval X = [ 1.).5000000000000_ i = 29.00000000000000 ] i = 2. . 1.Inf).14_). 1]) = F ([0. By construction. intval X = 1. inf/sup or mid/rad if input too wide i = 1. intval X = 1.50000000000000 i = 32.50000000000000 i = 34. intval X = 1. intval X = 1.3.50000000000000 i = 31.X_new). intval X = 1.5. k→∞ (6. end 59 When finite_convergence_example is issued from the MATLAB command prompt. 2.1 and Lemma 6. . while (X_new ˜= X) i=i+1. indeed. Example 6.5. 3. Consider the interval polynomial F (X) = X(1 − X) and its reﬁnements F(N ) (X). Next we examine a sequence of reﬁnements computed in IA and intersected to yield a nested sequence that converges in a ﬁnite number of steps. .50000000000000 i = 33. . intval X = 1. 2.66666666666667 ] i = 3.500___________ . i=0. the convergence ends after a ﬁnite number of steps (34 steps) when using standard binary arithmetic.5000000000000_ i = 30.44444444444444 . 1] and take the sequence Y1 = F(1) ([0.33333333333333 . 1]) ∩ Yk (k = 1.50000000000000 diary off This illustrates that approximately half a decimal point of accuracy is gained on each iteration and that.g.11) i . intval X = [ 1. 1. the following output (edited for brevity) ensues: finite_convergence_example ===> Default display of intervals with uncertainty (e. Let X = [0.5_____________ i = 5.X X_new = 1+ X/3. namely [0. intval X = 1. X_new = infsup(Inf. i = 28.50____________ i = 6. i.50____________ i = 7. intval X = 1. 1 ]. The intersections are nonempty because each reﬁnement contains the range of values of f (x) = x(1 − x) for x ∈ [0. intval X = [ 1. X = intersect(X. Finite Convergence and Stopping Criteria X = infsup(1.2). intval X = 1. intval X = 1. 1]). f (X) = ∞ k=1 F(k) (X) = lim Yk . .
we obtain again a nested sequence {Yt∗ }. . 0. if for a chosen X0 . 2. then it is clear that (6.12) is satisﬁed (which will happen always for some k using ﬁxed ﬁnite precision IA). A narrower interval would require using higherprecision arithmetic. .) (6. and for t = 1. it may happen that X1 = F (X0 ) ⊆ X0 but that Xk+1 Xk for some k.i 60 We have F(k) ([0. . then X0 contains no ﬁxed points of F (i. If the Xk are generated by a procedure of the form Xk+1 = F (Xk ) (6.14) and stop when (6. We have Yt∗ = [0. . then X = F (X) ⊆ F (X0 ) and so X ⊆ F (X0 ) ∩ X0 .. Interval Sequences 0.15) ∗ (k = 0. 1]) ∩ Yi∗ . Hence there is only a ﬁnite set of intervals with machine number endpoints. it follows that {Xk } deﬁned by Xk+1 = F (Xk ) is nested with X0 ⊇ X1 ⊇ X2 ⊇ · · · and hence converges to some X with X ∗ = F (X ∗ ) and X ∗ ⊆ Xk for all k = 0. if F (X0 ) ∩ X0 is empty. In particular. 1 4 k odd. .e. 1]. there is no X ∈ X0 such that F (X) = X).251]. 1. 1]) = Chapter 6. 2. there is a ﬁnite set of machine numbers represented by strings of bits b0 b1 . we have the narrowest possible interval containing X∗ = F (X ∗ ). ∗ If we compute the nested sequence of intervals Y1 = [0. . This follows from the inclusion isotonicity of F .14). i . . k even. 1]) computed in threeplace IA. t = 1. 1]) is F(k) ([0. .13) (6.. therefore. which can be tested on the computer. we have a natural stopping criterion.12) such that each Xk+1 depends only on the previous Xk . for k of the form k = 2t . We can compute a subsequence of {Yk }. + 1/(2k) . we can compute the Xk until Xk+1 = Xk .251] for all t ≥ 9. if F (X) is a rational expression in X and if X0 is an interval such that F (X0 ) ⊆ X0 .. . With IA. Any nested sequence of such intervals is necessarily ﬁnitely convergent. Since the sequence {Xk } converges in a ﬁnite number of steps. for if F (X) = X and X ⊆ X0 . . . . 2. 0. 1. ∗ ∗ Yt+1 = F(2t ) ([0.12) is sufﬁcient to guarantee convergence. there is no such X. ∗ where F(k) ([0. for example. . we compute Xk+1 = F (Xk ) ∩ Xk (6. bs with s ﬁxed. 2. This converges in nine steps to the interval [0. Natural Stopping Criterion For any ﬁxed (as opposed to “variable”) precision representation of machine numbers.. the interval F (X0 ) ∩ X0 is empty. 4 0. Furthermore. If instead of (6. . 1 + 1/(2k) + 1/(4k 2 ) . For any iterative interval method that produces a nested sequence with endpoints represented by ﬁxed precision machine numbers.
i 6. Xk ). X4 = [3. then 1 F (X0 ) = 2 [1. 7 + 2 = 3. F (X0 ) ⊆ X0 .3 2 61 .75. 10. 5] = [3.17) k = 0.99.5].01].5. Xk+1 = Xk .13] ∩ [3. 4. X9 = [3. 2 then F (X0 ) = 1 2 2. we have F (X0 ) = F ([2.25] = [3.5. 2]/k) ∩ Xk . 4.01]. 4. 4. 7 instead.25] ∩ [3. 7 .04]. X7 = [3. k = 8.5] = [3.3. If the process generating the sequence depends explicitly on k as well as on Xk . An example is Xk+1 = ([0. 4. . Finite Convergence and Stopping Criteria Example 6. X5 = [3. 2. 4.75. there is no ﬁxed point of F in [1.01]. then we might have Xk+1 = Xk for some k and yet Xk+2 = Xk even though {Xk } is nested. X6 = [3. The iterations Xk+1 = F (Xk ) ∩ Xk .02]. 4.99.25].96. say. Since F (X0 ) ∩ X0 = ∅. X1 = [3. 4. we cannot conclude anything since F (X0 ) X0 . so F has a 2 ﬁxed point X in X0 . 2]. 4. . 1. If we take X0 = 2. with 2 X0 = [2. X3 = [3. Xk+1 = F (k. X8 = [3.98. . 2]. . 15 . 2] + 2 = 5 . Finally.13].07]. 4.16) i . 2 If we take X0 = [1. 4.6. 5]) = 3. Let F (X) = 1 X + 2. 4. 9. 5]. 1].5. 4. F has a ﬁxed point in [3. 4. . produce. 9 .93.99. . 2 4 Here F (X0 ) ∩ X0 = 3. in threedigit IA. This time.01].87. X1 = [0. (6. . . X2 = [3.5] ∩ [2. 4. (6.
The following MATLAB function (which uses INTLAB) performs a single step of the iteration (6. then we can only deduce one of three possibilities: (1) If X ≤ Y . then all intervals computed up to that point by the modiﬁed problem contain the exact result of the corresponding ﬁnite sequence of operations using exact (inﬁnite precision) real arithmetic for all arithmetic operations. if 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 threevalued logic for all branch tests involving computed quantities which are only known to lie in certain computed intervals. Note Although we may. it is unlikely to lead to good results without additional careful analysis and redesign. (3) Otherwise. This is often impractical. Exercise 6. resulting in more computation and wider intervals. If all we know about x and y is that they lie in intervals x ∈ X and y ∈ Y . Xk+1 = [0. X2 = [0. apply this to all computer programs originally written with ﬂoating point arithmetic. (2) If X > Y . If it is false. X3 = [0. (6. 1 ].15): function new_X = interval_fixed_point_step(f. and can lead to unusefully wide enclosures. 2 ].X) % X_star = interval_fixed_point_step(f.X) i . 2/k]. 1].12) is a valid stopping criterion if and only if {Xk } is nested and generated by (6. especially if there are many such branches. X4 = [0.7.16) with F (Xk ) depending only on Xk . 3 X5 = [0. we must take the union of the values of the separate branches. For example. Chapter 6. For real numbers x and y. the relation x ≤ y is either true or false. If we stop the computation whenever a “don’t know” logical value is obtained. 1].i 62 Here X1 = [0. then x > y. Interval Sequences k > 2. then x ≤ y. Hence. then we have x > y. . we don’t know whether x ≤ y or x > y. Remarks on Branching Let us close this section with some comments about branching in computer programs. 1]. in principle. . 2 .
2) intval X = [ 1. while (old_X ˜= X) & ˜( isnan(inf(X))  isnan(sup(X)) ) N = N+1.7 implementing a step of interval ﬁxed point iteration can be called iteratively to convergence with the following MATLAB function: function [X_limit. 1.4. 2.6. end X_limit = X. old_X = X.N] = interval_fixed_point_convergence(f. old_X = infsup(Inf.66666666666667 >> X = interval_fixed_point_step(’example6p4’. we can reproduce an analogue of the sequence in Example 6. % then the limit is the empty set.50205761316873 ] ] ] ] ] ] Do the same iteration for Example 6.44444444444444 . 1.3.00000000000000 .X) intval X = [ 1.3.4: i . 1.X)).i 6.51851851851852 >> X = interval_fixed_point_step(’example6p4’. with the function function Y = example6p4(X) Y = 1 + X/3.N] = interval_fixed_point_limit(f. N = 0.X) intval X = [ 1.feval(f. with the following MATLAB dialogue: >> format long >> intvalinit(’DisplayInfsup’) >> X = infsup(1. 63 new_X = intersect(X. and returns the number of iterations % required in N.49794238683127 .X) intval X = [ 1.Inf). The MATLAB function from Exercise 6.50617283950618 >> X = interval_fixed_point_step(’example6p4’. Finite Convergence and Stopping Criteria % % % % returns the result of a step of interval fixed point iteration X_{k+1} = intersect(X_k.X).X) % [X_limit. If one or both of the bounds of X_limit is NaN.48148148148148 . Exercise 6.X) intval X = [ 1.55555555555556 >> X = interval_fixed_point_step(’example6p4’. 1. For example. f(X_k)) as explained in Section 6. we might have the following MATLAB dialogue for Example 6. X = interval_fixed_point_step(f.00000000000000 >> X = interval_fixed_point_step(’example6p4’.33333333333333 .8.X) intval X = [ 1.3. but with correctly outwardly rounded intervals displayed roughly to machine precision.49382716049382 . For instance. 1.X) returns % the limit of fixed point iteration X_{k+1} = f(X_k) as % explained in Section 6.
cp are given real numbers (the coefﬁcients of f ). Xn0 ) by some ﬁxed. . 1.6? 2.4 More Efﬁcient Reﬁnements We have seen that reﬁnement of an interval extension is a method for computing arbitrarily sharp upper and lower bounds on the range of values of a real function. Interval Sequences >> X = infsup(1. zi ) of elementary type: exp(·). zi+1 ∈ Si+1 = Si ∪ {Ti }. .7. . . c1 . . . . but it is of practical importance to be able to obtain these bounds as efﬁciently as possible. .49999999999999. . xn ) for each f are deﬁned for all x = (x1 .N] = interval_fixed_point_limit(’example6p4’. and the sequence of operations h1 . yi+1 . . how? 3. . . Does interval_fixed_point_limit work for Examples 6.50000000000001] represents an outwardly rounded binarytodecimal conversion of the actual binary representation of the interval. . or unary √ functions (of only one of the variables yi . . etc. z1 ) T2 = h2 (y2 . . . .) 1.5 and 6. xn ) in the interval vector X0 = (X10 . hM are the arithmetic functions +. . assuming IEEE double precision arithmetic.X) intval Y = [ 1. z1 ∈ S1 = {x1 . . ln(·). Furthermore. . ·.00000000000000 ] >> [Y. . xn . . . cp (if any).2) intval X = [ 1. zi may be an x. Can interval_fixed_point_limit fail? If so. or a constant ci or one of the previous Tj (j < i). can you compute an upper bound on the number of iterations actually needed? 6.00000000000000 . . and where h1 . Code Lists and the Class FC Let FCn (X0 ) be the class of realvalued functions f of n real variables whose values f (x1 . the coefﬁcients c1 . ﬁnite sequence of operations T1 = h1 (y1 . . . f (x) = TM = hM (ym . . 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. Example 6. 1. where c1 . . . i = 1. .18) i . hM deﬁne a particular function f ∈ FCn (X0 ). The integer M. . M − 1. then. .49999999999999 . . . .i 64 Chapter 6. . . z2 ) . x2 ) = x1 ex1 +x2 − x2 2 (6. zm ) for y1 . We begin by characterizing the class of functions most commonly used in computing. . .50000000000001 ] N = 34 (The displayed interval [1. Each yi . . 2. . . /. −. cp }. ·. The function f deﬁned by 2 f (x1 .
T3 = eT2 . hM . If n is at all large. T2 = x1 + T1 . This ﬁnal assumption. Fortunately. . The class FCn is further assumed to include only functions f that are deﬁned for all x ∈ X0 and that have inclusion isotonic.1 states that the excess width of the reﬁnement F(N ) (X) of the interval extension F (X) given by (6.9). .4.19) of a function f ∈ FCn (X0 ) satisﬁes w(En ) ≤ Kf w(X)/N for some Kf depending only on f . . We assume that we can compute arbitrarily sharp bounds on the exact range of values of each of the unary functions occurring in the sequence of operations for f (x). F (X) is deﬁned for every X ⊆ X0 . Z1 ). . T2 = H2 (Y2 . Theorem 6.20) (6. . etc.19) An evaluation of F requires one pass through the ﬁnite sequence of operations (6.20) for large N . T4 = T3 x1 . we can compute an interval containing the exact range of values and having arbitrarily small excess width i . HM are the united extensions of the functions h1 . f (x1 . this involves a prohibitive amount of computation to achieve the result (6. we also assume that the ﬁrst and second partial derivatives of f satisfy the same conditions as f . . no division by an interval containing 0 occurs during the computation of T1 . where H1 . Under these conditions. for N = 1000 (perhaps to reduce the excess width to 0. Therefore. respectively. as long as for the interval vector X0 . . concerning the existence of interval extensions with desirable properties (inclusion isotonicity.19). by using more information about a particular function f . More Efﬁcient Reﬁnements 65 can be expressed as the sequence (commonly called a code list or computational graph) 2 T 1 = x2 . F (x) = TM = HM (Ym . just as an evaluation of f requires one pass through (6. An evaluation of F(N ) (X). For some of the discussion to follow. Z2 ). it belongs to FC2 (X0 ) for any X0 . where F (X) is the interval extension T1 = H1 (Y1 . (6. . (The latter would spoil the Lipschitz property for the interval extension. x2 ) = T4 − T1 . requires N n evaluations of F (X). provided only that F (X0 ) is deﬁned. Lipschitz. .) Since such an F is inclusion isotonic. . interval extensions F (X) for X ⊆ X0 . This is the case. . 10002 = 106 evaluations to carry out. .001). TM and provided that √ no arguments containing zero occur for such unary operations as ln(·) or ·.i 6.) is satisﬁed automatically for all f ∈ FCn (X0 ). . .18). Even for n = 2 we have. . replacing real arithmetic operations by interval arithmetic operations and using the united extensions of the unary functions. Zm ). given by (6.
Interval Sequences with far less work. 1]. 1]. . The ﬁrst inclusion holds under our assumptions on F (X). 1]) = [0. The discrepancy comes at the next step. In the ﬁrst case. 1]. x2 ) = (1−x1 )x2 for x1 ∈ [0. 1] such that f (x1 ) = (1−x1 )x1 = 1 ∈ [0. x2 ). 1]. during the numerical evaluation of T1 X1 .18). . xn occurs at most once in the list y1 . 1] = [0. we assume that f ∈ FCn (X0 ) with F (X) deﬁned for X ⊆ X0 by (6. we ﬁrst compute 1 − [0.19) is the united extension of f for all X ⊆ X0 . 1].18) deﬁning f (x). z1 . Another explanation for the difference between these two results is the following. Now F ([0. 1] and x2 ∈ [0. . . 1]. for a function f satisfying the hypotheses of Theorem 6. In the second case. zn of arguments in the sequence (6. f (x1 ) = T2 = T1 x1 .19). In this case. is the united extension of the real function T1 = 1 − x1 . xn ) with xi ∈ Xi for i = 1. Consider f ∈ FC1 ([0. F (X1 . 1] is the exact range of values of f (x1 . In some cases. Proof. this is the desired exact range of values of f (x1 .2. Hence. We have not distinguished between this and T1 = [0. yn .19). [0. 1] and X2 = [0. 1]) = [0. . every real number r ∈ F (X) is expressible as r = f (x) for some x = (x1 . The corresponding list for F (X) is T1 = 1 − X 1 . x2 ) = T2 = T1 x2 . we can compute the exact range of values of f (x) for x ∈ X ⊆ X0 with one evaluation of F (X) using (6. The variable x1 occurs twice as an argument. In particular. then the corresponding Xi occurs more than once in the list of arguments in (6. On the other hand. . If some xi occurs more than once in the list of arguments in (6. F (X1 ) = T2 = T1 X1 . In fact. we have not made use of the information that T1 = [0. . Therefore F (X) ⊆ f (X). . 1]) deﬁned by T1 = 1 − x1 . then the interval extension F (X) deﬁned by (6. . . We have F (X) = f (X) if and only if f (X) ⊆ F (X) and F (X) ⊆ f (X). there may be real numbers in F (X) which are not expressible as f (x) for any x ∈ X.2. the interval function T1 = 1 − X1 . Example 6. we can even compute an interval with zero excess width in one evaluation of F (X). Theorem 6. i . f (x1 . each Hi is the united extension of hi .19).i 66 Chapter 6. .8. This is the exact range of values of 1 − x1 for x1 ∈ [0. 1]. If each of the variables x1 . . 1]. In the remainder of this section. 1] represents the range of values of 1 − x1 for x1 ∈ X1 . X2 ) = T2 = T1 X2 . n. we obtain [0. 1] and X1 = [0. . . . we get an overestimation of the range of values of f (x1 ) = (1 − x1 )x1 because. Under the further hypothesis of the theorem. but there is no x1 ∈ [0. 1] as the range of values of 1 − x2 for a variable x2 independent of x1 . In both cases. F ([0. . We obtain the same result for T1 X2 with T1 = [0. When we compute T1 X1 with T1 = [0. 1].
yn ) with yi = xi − ci and with g deﬁned by (6. 9 Given a function f ∈ FCn (X0 ) deﬁned by a ﬁnite sequence of the form (6. . To obtain the centered form Fc (X1 . Find the range of values of g(x. . . . x2 ∈ [5. [−1. i . How9 ever. Example 6. . yn ) = y1 h1 (y1 . . . 2] we obtain X · X = [−2. . . and the monotonicitytest form. . . . .19). . . We will discuss four: the centered form. Xn ) = f (c1 . . v. . . 1]. . y. . . yn ).23): g(y1 . . w) = (33 − 2x + yz)/(10 − uvw) over the unit 6cube x. the mean value form. y. 0) is deﬁned if f (c1 . − 12 with an excess width 9 of 55 . . 2]. .9. . w ∈ [0. whereas X2 using (5. and Hi is the natural interval extension of hi . . 2]2 = [0. . . z. 3]. xn ) = f (c1 .29) for integer powers x n than to use X · X · · · · · X. . we ﬁrst rewrite f (x1 . . . yn ) + · · · + yn hn (y1 . yn + cn ) − f (c1 . Yn ). 10]. cn ). x2 . . . . . the natural interval extension of (6. . 2]}. . .22) produces the correct range of values −7. we can construct interval extensions of f other than the natural extension given by (6. We deﬁne Fc by n (6. . . .21) For x1 ∈ [1. Exercise 6. x1 − x 2 (6. x3 ) = x3 1 + 2 . cn ) + g(y1 . .24) where ci = m(Xi ). Yi = Xi − ci . . . Let f (x1 . . . For rational f . . . The Centered Form We now discuss the centered form. x3 ) be deﬁned by f (x1 .4. . 4] = {x 2 : x ∈ [−1. (6.9. For X = [−1. . Sometimes we can reduce the number of occurrences of a variable in a real rational expression by algebraic manipulation. . yn ) = f (y1 + c1 .21) produces −12.29) yields the correct result. a secondorder interval extension. . . . 4]. x2 . z. x2 .18). v. xn ) as f (x1 . cn ) is. the natural interval extension of (6. x3 ) = which we can rewrite as f (x1 . where hi is rational and hi (0. More Efﬁcient Reﬁnements 67 Example 6. . Xn ). a variant of the mean value form we call the slope form. u.23) Fc (X1 . u. . . . .8 shows that it is better to use the interval extension X n deﬁned by (5.i 6. and x3 ∈ [2. − 22 since each variable occurs only once. . cn ) + i=1 Yi Hi (Y1 . . . we can express g in the form g(y1 . . (x1 /x2 ) − 1 (6. .22) x1 + x2 x3 .
Exercise 6. 12 12 1 Y = −1. so Pc ([2. We reconsider the polynomial p(x) = 1 − 5x + 1 x 3 given in (5. Apply the centered form technique to the expression f (x) = 1 x 3 − 2x and 3 the interval [1. 12 Compare this with the bounds computed using (5. Let X be an interval vector in X0 and let m = m(X). 3]. 1.10. 3 and g(y) = p(x) − p(c) = y(−5 + 1 ((y + c)2 + (y + c)c + c2 )). We can apply this to functions in FCn (X0 ). we obtain c = m(X) = 5 . Mean Value Form Another useful interval extension is the mean value form.i 68 Chapter 6. Ratschek [209] has found higherorder centered forms.5833333 . . Thus. the exact range of √ values is [− 10 5 + 1. −5] = [−6. 3 From (6.27). Let Di F be an interval i . using the centered form in the computation of F(N ) (X) deﬁned in (6. . . 3 Now. Using the centered form instead of the natural interval extension for rational functions. where y = x − c. 2 .20). the centered form can give very small excess width compared to the natural extension for rational functions. This often remains prohibitively large. for X = [2. Hansen [63] has shown that the excess width of the centered form is of order w(X)2 . and H (Y ) = −5 + 1 ((Y + c)2 + (Y + c)c + c2 ). and we will discuss methods for further reduction.26) and (5. 2 24 . Nonetheless. where c = m(X).20) it follows (with N = 1) that the excess width of the natural interval extension of a rational function is of order w(X).6]. −5 . Again. Interval Sequences Example 6. .25). 2 p(c) = p( 5 ) = − 151 . for a single evaluation of an interval extension on an interval vector of small width.10. . 3 We deﬁne Pc by Pc (X) = p(c) + Y H (Y ). we can reduce the excess width of reﬁnements to a prescribed amount with about the square root of the number of function evaluations required for the natural extensions. −5] = [−7. We 3 rewrite p(x) as p(x) = 1 − 5c + 1 c3 + g(y). . 2 We have H (Y ) = 1 31 .2. −5].7). 3]) = − 91 . Y = X − m(X). we have w(EN ) ≤ Kf w(X)/N 2 for some Kf instead of (6.454559 .
x2 ) = x1 ex1 +x2 − x2 2 deﬁned by the sequence 2 T 1 = x2 . T2 .4. D2 T1 = 2X2 . 2] and X2 = [0. T3 . 1 ). e3 ] = [2. f (m) = (3/2)e7/4 − 2 2 1 = 8. 20. By the mean value theorem we have. and from (6. . D2 T2 = D2 T1 .. D2 T3 = T3 (D2 T2 ). We ﬁnd T1 = [0. 1].26) For X1 = [1.7182818. . D2 F (X) = D2 T4 − D2 T1 . More Efﬁcient Reﬁnements 69 extension of ∂f/∂xi . the quantities T1 . T2 = x1 + T1 . D1 T3 = 0.i 6. . (6. we will show how to obtain these presently. . In (6. i .3819040 . T4 ⊆ [2.11.27). 3]. we have D1 T1 = 0. D2 T4 = (D2 T3 )X1 . . T4 = T3 x1 . D1 T4 = T3 + X1 (D1 T3 ).7182818 . n f (X) ⊆ Fmv (X) = f (m) + i=1 Di F (X)(Xi − mi ). . Noting that Di Xj = 1 if j = i and 0 if j = i. Example 6. 1].26). T2 = [1. T4 must ﬁrst be computed in interval 4 arithmetic using the natural extensions (or united extensions) of the operations in (6.]. T3 = [e1 . D1 F (X) = D1 T4 .25) Fmv (X) is the mean value extension of f on X. Consider 2 f (x1 . for all X ⊆ X0 .0855369 . (6.27) (6. D1 T2 = 1. f (x) = T4 − T1 . .171074].26) beginning with the given interval values for X1 and X2 . 40. T3 = eT2 . we ﬁnd m = ( 3 .
D2 F (X) ⊆ [−2. to userdeﬁned data types. 80. Operator overloading consists of extension of the deﬁnitions of arithmetic and logical operators and standard functions such as sin. [0. including those for INTLAB. Exercise 6. 2]. While running INTLAB.0855369 .]. Finally. D2 T1 = [0. 20. Repeat Exercise 6. p.342148].10 using the mean value form.4.0000 ] [ 0.11 can be done with the following MATLAB command window dialogue: >> format short >> X = [infsup(1. D2 T3 ⊆ [0.0000 ] >> m = mid(X) m = 1.681284] by (6. In earlier releases of INTLAB. 43ff] for some perspective. and we would compute Taylor coefﬁcients by performing arithmetic operations on this data type. .5000 0. 1.0000 . 80. 40. Interval Sequences D1 T1 = 0. D1 F (X) ⊆ [5.4. D1 T2 = 1. This technique has been implemented in the gradient toolbox distributed with INTLAB. Fmv ([1. 2. see [200] for one of the ﬁrst explanations or [97. such as an interval as an array of two double precision words. extensive documentation for INTLAB is integrated into MATLAB’s help system. 2]. for example. 60.1)] intval X = [ 1. D1 T3 = [2. .171074]. 60.4365636.11.256611]. upon which one can click.0000 .5000 >> Xg = gradientinit(X) intval gradient value Xg. In our context. .917477.7182818 .4. infsup(0. Then subroutines are written to implement the arithmetic and logical operations on this data type. The Mean Value Form and INTLAB The process in Example 6.2). . 78. . issuing the command demo from within MATLAB’s command window opens the demo tab of MATLAB’s help screen.i 70 We next compute Chapter 6.11 can be fully automated. i . D2 T2 = [0. using a process called operator overloading.256611]. we would have a Taylor data type. typing help in the MATLAB command window gives a list of toolbox help ﬁles.19 Computations for Example 6. .4365636 .342148]. 2]. section 1. D1 T4 ⊆ [5. .x = 19 Beginning with INTLAB version 5.25). . from which you can select help on the gradient toolbox and other topics. D2 T4 ⊆ [0. 1]) ⊆ [−61.
6813 ] Exercise 6. Xminusm = Xm.7182 .2.:) = [ 1.0000 .X) intval Fmv = [ 61. 1.5000 .i 6.11 using INTLAB. it must be represented as a % row vector.X) returns the value for the % mean value form for f evaluated over the interval X.Xg(2)ˆ2 intval gradient value DFX. 40. 1.0000 ] intval gradient derivative(s) Xg. infsup(0. If we supply a ﬁle example6p11.0000 ] >> fm = m(1)*exp(m(1)+m(2)ˆ2) . Repeat Exercise 6. 78.0000 ] intval Xg. 0.5000 ] >> Fmv = fm + DFX.0000 ] [ 0.1.0000 .11: >> X = [infsup(1.4. m = mid(X).0000 .dx(1.5000 ] [ 0.x(2)ˆ2. 0. 78.0000 ] [ 1. 0.dx = intval Xg. using the gradient toolbox. 2.m).:) = [ 0. Fmv = fm + DFX.m(2)ˆ2 fm = 8. we can write the following mﬁle to compute the mean value form of a general function: function Fmv = mean_value_form(f.9175 .dx * Xminusm’. 0. fm = feval(f.X) % Fmv = mean_value_form(f.0000 .x = [ 1. i .1711 ] intval gradient derivative(s) DFX.m containing function f = example6p11(x) f = x(1) * exp(x(1)+x(2)ˆ2) .0000 .dx(1. If X has more % than one coordinate.4365 . 1.5000 .2567 ] [ 2.0000 ] [ 0.0000 .3422 ] >> Xminusm = Xm intval Xminusm = [ 0.dx = [ 5.12. Xg = gradientinit(X). 60.3819 >> DFX = Xg(1)*exp(Xg(1)+Xg(2)ˆ2) . >> Fmv = mean_value_form(’example6p11’. 80.6813 ] 71 In fact. DFX = feval(f.2). More Efﬁcient Reﬁnements [ 1.9175 .0000 . then the following MATLAB command window dialogue computes the mean value form corresponding to Example 6.dx * Xminusm’ intval Fmv = [ 61.3. % as explained in Section 6.Xg).1)].
m) are interval enclosures for the slope of f at m over X. rearrangement can result in a different interval enclosure. Interval Sequences Exercise 6. X2 ) = ([−1. What do you observe? Slope Form It is possible to replace the interval extensions Di F (X) in the mean value form (6.i 72 Chapter 6. if f (x) = x 4 + x 2 + 1. This is usually not of much consequence. Thus. (X1 . T2 = T12 . 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). m) that are often narrower than Di F (X) but that still result in an enclosure for f (X). x.11 is not unique for a given expression.7. X. such as (X1 . (a) Write down two different code lists for f (x) = x1 ex2 + x2 e2x2 .27) for Example 6.13. y)(y − x). X2 ) = ([−1. y) is deﬁned to be that number such that f (y) − f (x) = s(f. [−1. (b) Write down a third code list for f . while another might be T1 = x 4 . X. Deﬁnition 6. Then the slope s(f. as we have seen. 1]. one sequence might be T1 = x 2 . f (x) = T3 + T1 . (c) Evaluate your three code lists step by step using INTLAB.25) by intervals Si (F. different code lists might be produced for f with different compilers or different versions of the interpreter. f (x) = T3 + 1. 2]). 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). Try different intervals. x. T3 = T1 + T2 . and suppose x ∈ Rn . 1]. T3 = T2 + 1. [1. The Si (F. i . For example. such as by factoring out an ex2 from both terms. Suppose f : D ⊆ Rn → R. 1]). etc. assuming the expression has been rearranged. y ∈ Rn . The code list such as (6. T2 = x 2 . assuming the system is not rearranged.
25]([−0.5. in which some of the variables in the expressions for interval enclosures for derivatives are replaced by points. n f (x) ∈ Fs (X. 5]. p. X. Complementary to that development. examples. 0. then s(f. y) is X + y. can be included.5) + [2. while the exact range s(f. y) that is narrower than a corresponding interval extension F (X).52 − [−0. while the slope form for this particular y is f (1. 1][−0. If f (x) = x 2 . 2. the base point y can in principle be any point in the domain of f . For multivariate functions. Hansen’s technique and other techniques for slope enclosures can be combined. Assuming we have such slope enclosures.25. For instance. 3] = [2. but m must in any case lie within X.25. y) = 1. 2.5]). we obtain.1 and upper bound equal to the slope of the right solid line in Figure 6. 0. we generally take m to be the midpoint of X. then the mean value theorem states that s(f. y) = f (ξ ) for some ξ between x and y. so the range of f over X = [1. and illustrations appear in [97. y) exists for particular f . 2. X. y) = x + y. interval bounds on slopes with respect to particular variables.5]. Let us choose y = 1. for the slope form. y). x. x. and take X = [−0. a wider interval than [3. 0. we can compute an interval extension S(f.5]). y) = f (y) + i=1 Yi Si (f. an interval enclosure S(f. 0. That is. 0. X.25. y).5] = [−1. 2.13. More Efﬁcient Reﬁnements 73 Note that s(f.25] = f ([−0. Details. x. 1] has lower bound equal to the slope of the left dotted line in Figure 6.5.25]. if f has a continuous ﬁrst derivative. reference to this in the literature is [120]. analogous to interval enclosures for partial derivatives. if not the ﬁrst. 5].28) We call this the slope form. An early. we see by symmetry that we get an interval enclosure of [−0. 0.25.5].i 6. Then. 0. In this case intersecting these two enclosures gives us the exact range: [−2.3. x.5] − 1. The mean value form is thus f (0) + [−1.5. thinking of x as the variable and y as ﬁxed.25. then X + y = [3. 0.5] = [−0. i . 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.25] has lower bound equal to the slope of the left solid line in Figure 6. the exact range f (X) = 2[−0. Thus. in [64].25] for f ([−0. y) of s(f. f (x) = 2x. Similarly. section 1. However.25] = [−0. Example 6. 3] and y = 2.1. (6. For the mean value form (6. 0. for x ∈ X and Yi = Xi − yi . Interval bounds on slopes can be computed via a process similar to that described above for computing interval bounds on partial derivatives. For instance.5. 0. 6].5.1.5.5. X.5.1 and upper bound equal to the slope of the right dotted line in Figure 6. if we take y = −1.4.5.1. X. 0.25). Example 6. Take f (x) = x 2 . Hansen proposed a technique similar to computation of slope enclosures.5) = [−2. 3] is 2[1. x. 26ff]. if X = [1.12. and y under various assumptions.25] ∩ [−0. We will denote such a bound for the ith variable by Si (f.5.5]2 = [2. However.
if X and y have more % than one coordinate. S = feval(f.1)]. i . Xs = slopeinit(y.s * Y’.13).y) % Fs = slope_form(f.y) returns the value for the % slope form for f evaluated over the interval X. the following MATLAB command window dialogue computes the slope form corresponding to Example 6. they must be represented as % row vectors.Xs). Note that.5 0 0. infsup(0.5 1 1.y).X).4 and % in the references. Slope extensions versus mean value extension (Example 6.X. type help slopeinit and help slope from the MATLAB command window.5]. as explained in Section 6.5 0. Fs = fy + S. Interval Sequences 2.i 74 Chapter 6. fy = feval(f. Also see [222] for an explanation of the improved version of slopes that is used in INTLAB. For information and references.28): function Fs = slope_form(f. >> y = [1.5 X y Figure 6.5 1 f(x) = x2 0.11: >> X = [infsup(1.5 2 1.1. Y = Xy.2). % with center y. With this function.X. The following function will compute slope enclosures of the form (6. INTLAB and the Slope Form Such slope computations are implemented in INTLAB.5 −0.
12. …. On an abstract level.8966]. 2]. X2 ).2]+[0.16. 78. x2 ). x. experimenting with different points y. Fmv (2.11. optimal choice of centers to maximize the left endpoint or minimize the right endpoint of the enclosure is studied in [20].29) For Example 6. [0. Exercise 6.4.7182818. 2 (6. [0. 58. Reps and Rall [216] discuss automatically computing such slopes. Repeat Exercise 6. This is sharper than the mean value form. one sees that s(f.11. Redo Exercise 6. x2 ). 2] − 1) = [0. 2]. x2 ) in X = ([1. 1]).7 and to the slope form (6. as well as use of this in global optimization. 39. x2 ) is monotonic increasing with x1 for all (x1 . D2 F (X) = D2 T4 − D2 T1 .24) to Deﬁnition 6.X. More Efﬁcient Reﬁnements >> Fs = slope_form(’example6p11’.171074].12 using the slope form.y) intval Fs = [ 22. we can ﬁnd a lower bound on the range of values of f (x1 . The Monotonicity Test Form We can also obtain narrower bounds on the range of values for many functions in FCn (X0 ) by using a modiﬁcation of the mean value form known as the monotonicity test form.14. we ﬁnd that D2 F ([1. X2 )] ⊆ [−36. Schnurr [229] has carefully described a secondorder version of slopes in an interval context. slopes and centered forms are related. 1](e[1.28).15. and is sharper on one end than the slope form given by INTLAB. 1]) = 2[0. y) is the ﬁrstorder divided difference of f between x and y. we can do this with f (X) ⊆ [Fmv (1.342148]. 2.7. we can rewrite D2 F (X) as D2 F (X) = 2X2 (eT2 X1 − 1) by factoring out 2X2 . y must be contained in X for the mean value form. In Example 6. Let us reconsider Example 6. If we substitute each expression into the following ones as appropriate.9308. Because D1 F (X) turned out to lie completely in an interval of positive real numbers. From Deﬁnition 6.) We also saw that the different enclosures can be intersected to obtain an even tighter enclosure.6711 ] 75 Exercise 6. Using (6.30).9073 . (6.31) i . we see that f (x1 . x2 ) in X by ﬁnding a lower bound on the range of values of f (1. we saw that different center points y in the slope or centered form (6.13. Explain the relationship of the centered form (6. (However. the natural extension gives the bounds [1. Hence. Similarly.30) (6. 40.28) lead to different but valid enclosures and that it is not even necessary that y ∈ X. we can ﬁnd an upper bound by ﬁnding an upper bound on the range of values of f (2.1] [1.i 6. By (6. (Note that people who use the term “centered form” have developed somewhat different computational techniques than the people who use the term “slope. including higherorder divided differences.”) Exercise 6. For instance. Notes 1.27) we have D2 T1 = 2X2 . More recently.
.35) i . vi ) = (Xi . We can modify (6. whereas the natural extension 2 F (X) = X1 eX1 +X2 − X2 2 yields F (X) = [3. 3.34) Theorem 6. we obtain. mn ) ∈ [f (u). .26) with the narrower arguments X1 = [1.i 76 Chapter 6.g. x2 ) ∈ X.001602. as in the example just discussed. 1)] = [f (1. . . n) expressible in the form (6. like the centered form or slope form. (6. (Xi . Xi ). When w(X) is small.000539. X i ). . we have f (X) ⊆ Fmt (X) for all X ⊆ X0 .19) and extensions of its partial derivatives (e.4. xj −1 . has excess width of order w(X)2 . for the same function (6.01] and X2 = [. (ui . Interval Sequences By (6. we deﬁne Fmt (X) = [f (u).029132. we see that f (x1 . they may actually give wider enclosures than the natural extension. .31). 1)] ⊆ [2. Fmv (2. both forms yield tight enclosures.3. . 0). (6. 1. . f (2. . f (v)] + i∈S Di F (X)(Xi − m(Xi )). f (v)] (6. . . 39. so the exact range of values can be bounded sharply by computing f (X) = [Fmv (1. x2 ) is also monotonic increasing with x2 for all (x1 . let S = {i : j ≤ i ≤ n}. (6.7182818. m(Xi )) otherwise. The excess width of F (X) is 0. Write mi = m(Xi ). Di F (X) < 0 and Di F (X) ≤ 0.401] from (6. Fmv (X) = [3.32) It follows from a theorem of Alefeld and Herzberger [13] that the mean value extension. . Then. 0).029529.33) where we specify the ith components of the point vectors u and v by Di F (X) ≥ 0.096821]. For f ∈ FCn (X0 ) with F (X) and Di F (X) (i = 1. For wider intervals. . (6.25) and (6.27)). (m(Xi ).. 3. We have f (x1 .27). However. Without loss of generality. while that of Fmv (X) is only 0.25) to obtain the monotonicity test form Fmt (X) as follows. Proof. mj . Let S be the set of integers i (indices) such that Di F (X) < 0 < Di F (X).096156].171074].
. . j − 1. F (Y )) comes before (Z. . . . xj . . (1) Set20 fub ← f (m(X0 )). n. While the interval extensions used for the evaluations can be any of the forms discussed here (or others). known as the Skelboe–Moore algorithm. . . We present next a simpliﬁcation of Skelboe’s algorithm. . . . . . . no subdivision is necessary of argument intervals for arguments which occur only once in the expression used for the interval extension.27). F (Y )). Algorithm 6.30) with (6.36) for all xi ∈ Xi . (Compare (6. Now f (x1 . this algorithm returns a lower bound LB on the range of f over X that is within of the actual minimal value of lower bound as well as lists C and L of boxes that has been produced during the process of computing these. the better the results for the form Fmv (X). a tolerance .4. We ﬁrst seek a lower bound on the range of values of f . . .29) using (6. the centered form. then repeat the process for the lower bound of −f which is the upper bound of f . we create a list of pairs (Y.1 (Skelboe–Moore). such that C ∪ L = X0 . . 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 reﬁnements of F . Here. repeat the procedure to be described to ﬁnd an upper bound. . As the previous example shows.34). . . where f (m(X0 )) is computed with either upward rounding or interval arithmetic21 as F (m(X0 )). 21 f represents a mathematically rigorous upper bound on the lower bound of f over X. we evaluate f only on a ﬁnite subsequence of regions producing the smallest lower bounds. the fewer the steps to convergence. . or any other form having inclusion isotonicity. i = 1. while we reserve = to assert that what’s on the left of the = is equal to what’s on the right. . the procedure will converge in a ﬁnite number of steps. . F (Z)) in the list only if F (Y ) ≤ F (Z). During the sequence of bisections. Skelboe [232] shows that. u = (u1 . we get f (x) ∈ Fmt (X) for all x ∈ X. .i 6.32) using (6. there is an advantage in using forms such as the centered form or the mean value form (or the monotonicity test modiﬁcation of it) because of the more rapid convergence of the excess width to zero as the size of the regions grows small. .36). Given an interval extension F of f . mj . 20 We use ← to denote the operation of setting a value equal to another value. .) Skelboe’s Algorithm Skelboe [232] introduced a much more efﬁcient algorithm for computing reﬁnements. . i = 1. ordered so that (Y. un ) and v = (v1 . We ﬁrst ﬁnd a lower bound and then.35) and (6. The Skelboe–Moore algorithm is as follows. mn ) ∈ i∈S Di F (X)(Xi − mi ) (6. in computing reﬁnements. More Efﬁcient Reﬁnements 77 for all xi ∈ Xi . where ui and vi are deﬁned by (6. . . . To ﬁnd a lower bound. The better the extension. If the evaluations are done in IA. The interval extension used could be the mean value form. vn ). the better the extensions Di F (X) of the partial derivatives. ub i . the monotonicity test form. xn ) − f (x1 . replacing F (X) by −F (X). and a box X0 . Adding (6. . .
then (a) Place X(1) and X (2) into C in order (b) IF L is not empty THEN (i) remove the ﬁrst item from L and place its box into X. . .1 using INTLAB. F (X(1) )) and (X(2) . Xi ]. On the other hand. . Xi−1 . Interval Sequences (4) bisect X in coordinate direction i such that w(Xi ) = w(X) = max1≤i≤n w(Xi ): X = X(1) ∪ X (2) . Xn ). . where Xi(1) = [Xi . . . F (X(2) )) in proper order in the list L. . . 2 Straightforward reﬁnement with uniform subdivision into N subintervals in each of n coordinates requires N n evaluations of F (X). . for most functions with only a ﬁnite number of isolated extrema in X0 . Xi+1 . (b) set X ← the argument (ﬁrst member of the pair) of the ﬁrst item in the list L (with lowest F (X)) and remove the item (X. i . . F (X)) from the list. Step (4) means we replace X by two interval vectors. . END IF (7) IF L isn’t empty THEN return to step (4). F (X (2) )} − min{F (X (1) ). F (X(2) )} < . the lists L and C are empty. 2 Xi(2) = [ 1 (Xi + Xi ) . Xi+1 . (ii) IF F (X) > fub THEN RETURN with LB equal to lower bound on the ﬁrst box in C and with the lists C and L END IF ELSE RETURN with LB equal to the lower bound on the ﬁrst box in C and with list C END IF ELSE (a) enter the items (X (1) . F (m(X (2) )) . (5) fub ← min fub . the algorithm above produces bounds on the range of values. X(1) = (X1 . . We have implemented Algorithm 6. .i 78 (2) set X ← X0 . in about Cn(log2 N ) evaluations of F (X) for some constant C independent of n and N . . (3) initially. Xi−1 . Xn ). of comparable excess width. Chapter 6. Xi(1) . Its header is as follows. F (m(X (1) )). . Xi(2) . 1 (Xi + Xi )]. X(2) = (X1 . (6) IF max{F (X (1) ). .
we have run Algorithm 6. The basic problem is that the expression for the function 22 Somewhat abridged. while X0 is the starting box. using the interval extension of f (x) = x − x 2 as in Example 6.m. 2.m.1e4) intval LB = [ 2. insert. It may be plotted % using "plot_list.1)].[infsup(1. More Efﬁcient Reﬁnements function [LB.5001 ] N_iter = 875 >> plot_list(completed_list.. epsilon) % implements the Skelboe . X_lb. and % epsilon is the tolerance by which the returned lower bound % can fail to be sharp. X_lb.i 6.1e4) intval LB = [ 0.3’.m and a plotting function plot. completed_list]. completed_list]. To compare this algorithm with uniform reﬁnement to obtain good lower and upper bounds.1) Observe that more work is required (875 bisections) to get the upper bound of 0. N_iter.2501 .0.3’) >> [LB.. % X_lb is a box over which this lower bound has % been computed by interval evaluation of f. N_iter.000 boxes." % It is assumed that X0 is an interval column vector.2500 than to get the lower bound (only 18 boxes) of −2. which uses plotpts. X_lb. = Skelboe_Moore(’minus_example6p3’. X0. = Skelboe_Moore (f. % = Skelboe_Moore (f.1)]. see the table on p.’Minus Example 6.4.0000 . However. X0. = Skelboe_Moore(’example6p3’. using the following MATLAB dialogue:22 >> [LB. % On return % LB is the mathematically rigorous lower bound on % f over X0.. N_iter.1.m. X_lb. % N_iter is the number of bisections that were done % to complete the computation. 0.Moore algorithm in Chapter 6 % of Moore / Kearfott / Cloud. we have written some simple linked list processing functions new_linked_list.. 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.. f is the function handle % for the objective. epsilon) % [LB.1. this total is much less than the comparable amount of work that would be required (about 10.5000 .m. 0. % completed_list is the linked list of boxes produced % during the subdivision process. and remove_first.9999 ] N_iter = 18 >> plot_list(completed_list.000 to within 10−4 .0000 . so INTLAB will display the result rigorously rounded down.m. Also. is_empty.3. i . 0. 56) if a uniform subdivision were used..m from our GlobSol package.1.0..0000 ] intval X_lb = [ 1.. completed_list] .2500 ] intval X_lb = [ 0. N_iter. note that the lower bound is output as an interval.’Example 6.[infsup(1. 79 To simplify programming Skelboe_Moore. completed_list]. as well as bisect.
0000 ] N_iter = 856 completed_list = 1x1000 struct array >> plot_list(completed_list.) Examining the map of f in Figure 6. completed_list] . (Figures 6.1). 1]. We programmed f in the mﬁles simple_2d. it is unclear how many subdivisions would be required to achieve a range tolerance of 10−4 . We will use Skelboe_Moore.14. and we proceed with the following dialogue:23 over the box X = ([−1. 4 × 108 boxes would be required. [−1. y) = x 2 − 2y 2 + 5 minus_simple_2d.4.4.1 uses a range tolerance.9999 ] N_iter = 4417 completed_list = 1x8000 struct array >> plot_list(completed_list.25 Furthermore. Since Algorithm 6. respectively.1)]. while a contoured surface plot of f is in Figure 6. completed_list] .0000 ] [ 0.1)]. the routine plot_list.1).i 80 Chapter 6. 0. 1]). Example 6.0) >> [LB. produces a onedimensional graph with the intervals in the list plotted in cyclically varying colors. 0.2. X_lb. more work is required per interval. 6. then 2/10−4 subdivisions would be required in each direction.0000 . i . we see that the boxes are neatly clustered about the points where the lower bound and upper bound are achieved.’’.1. 0.0000 ] intval X_lb = [ 0.2 and 6.m and >> [LB.. 24 Not 25 However..[infsup(1.9999 . other software has compared favorably to GlobSol in the literature. if it is assumed the function values vary proportionally to the increments in the variables24 with constant of proportionality 1.1e4) intval LB = [ 6. We comment more on this 23Abbreviated.0000 . as seen in the dialogue. 1.0000 .. However. so the reﬁnement must be ﬁner there.0001 ] [ 1.0000 ] intval X_lb = [ 0. N_iter.2 and 6.’’. our GlobSol software.m. N_iter. For example. to reduce the box diameters to 10−4 .2.3. The boxes produced during the process appear in Figures 6.0001 . 3.0000 . In addition to the output seen in the preceding MATLAB dialogue. Interval Sequences exhibits more interval dependency due to lack of monotonicity when it is evaluated over boxes containing this critical point.0) 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 .. using interval Newton methods (see Chapter 8) and other techniques.1.1e4) intval LB = [ 3. Greater efﬁciency can be gained by incorporating acceleration devices into the Skelboe– Moore algorithm.3 were produced with the calls to plot_list shown.infsup(1. = Skelboe_Moore(’minus_simple_2d’. = Skelboe_Moore(’simple_2d’. That is. true at critical points.m to ﬁnd rigorous lower and upper bounds on the range of f (x. and since uniform subdivision uses a domain tolerance.[infsup(1. obtains the lower bound by considering just two intervals and also obtains the upper bound by considering just two intervals. X_lb.infsup(1.
Boxes for the lower bound in Example 6. Modern Context of the Skelboe–Moore Algorithm: Global Optimization Examination of the Skelboe–Moore algorithm shows that although we have set out to ﬁnd the range of f over a box X.2 −0.8 0.4 −0.6 −0.2 −0.5 1 Figure 6.5 1 Figure 6.2.2 0 −0.14.4 0.6 0.8 0.2 0 −0.5 0 0. to work well.3.8 −1 −1 −0.14.6 0. such as smoothness. 1 0. such acceleration techniques may require the function to have additional properties.4 0.5 0 0. in the next section and in Chapters 8 and 11. More Efﬁcient Reﬁnements 81 1 0. However.4.i 6.6 −0.4 −0.8 −1 −1 −0. Boxes for the upper bound in Example 6. this is equivalent to ﬁnding the unconstrained global minimum i .
241] for an introduction to BARON. See [227. many scholarly research articles.5 −1 −1 −0. Although the Skelboe–Moore algorithm is simple and is still to be recommended in certain contexts. For instance. BARON (branch and reduce optimization navigator) is a general global optimization package that has won a number of prizes for software. BARON uses interval arithmetic in places to bound ranges. Hansen and Walster’s 2003 update [57]. If the bounds are not sufﬁciently accurate.4. The Skelboe–Moore algorithm is a prototypical branchandbound algorithm. and web resources. Books and dissertations on the subject include Hansen’s 1992 book [65]. Surface and contours for f in Example 6. Here.5 5 4. we “bound” the value of the objective function over a region. methods have been developed and improved to handle inequality and equality constraints and to speed up the process.5 3 1 0.5 4 3. of f over X.5 0 −0. Commercial packages for particular global optimization problems. and computer science are given in [121] and elsewhere. use branchandbound methods. Skelboe–Moore shares much with many algorithms in commercial software for global optimization. This is a difﬁcult problem for general f but is important nonetheless.i 82 Chapter 6. Although BARON does not compute rigorous bounds on its answers as true interval software constructed for rigor does. As a branchandbound algorithm. [213].5 0. such as mixed integer programming problems. and f is called the objective function. Finding the absolute minimum of a multivariate function f over a region in Rn is termed global optimization. Theoretical relationships between this global optimization problem and other problems in interval computations. This is an active research area and will probably remain so for some time.14. other books. then we “branch. [97]. mathematics. Interval computation researchers working in global optimization have provided many sophisticated improvements and extensions to the Skelboe–Moore algorithm while maintaining full mathematical rigor in the results. Furthermore.” that is. we cut the region into two or more smaller regions to obtain more accurate bounds.5 0 1 Figure 6. it is mainly of didactic and historical signiﬁcance today in the context of i . Interval Sequences 6 5.
we introduce interval computations in the context of numerical linear algebra. often in combination with other methods we will discuss in the remaining chapters. generally are more practical today. In the remainder of this section. discussed in this chapter. Also.i 6. .2]. 6. section 4. A very early example of such an algorithm is Step 4 in Algorithm 2. This phenomenon occurs. described in various scholarly articles. Summary 83 global optimization. . the cluster problem can be avoided. 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. If interval Newton methods are used with methods for ﬁnding local optimizers. .26 see [97. by astute selection of tolerances and construction of boxes about approximate optimizers. Algorithms in the above books. see [170].2. i . is the accumulation of a large number of tiny boxes near a global minimum point of f (x1 .5. we describe a few improvements to the Skelboe–Moore algorithm. A clustering problem. and gives additional insight into how to avoid it. In the next chapter. For functions f having only one (or perhaps a few) isolated simple maximum or minimum point(s) in X. 43]. 26 The ﬁrst use of the term “epsilon inﬂation” of which we are aware occurs in [218] as “ Aufblähung.5 Summary Algorithms based on reﬁnements. . Neumaier has further clariﬁed the clustering problem mathematically. See also [210]. 99 of that work. especially for large n.” near the top of p. perhaps ﬁrst described in [44] and [102. xn ). are used in interval software to reduce overestimation. even for singular Hessian matrices.6 in [93]. the cluster problem can be avoided with a process called epsilon inﬂation. We will give a few more details concerning global optimization in section 11. and algorithms tailored to speciﬁc applications.
i i .
4] [−1. 2] + [−1. (7.j (7. 85 i . For example. 8] .1) 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 . If B is any real matrix contained in an interval matrix A. 4] + [6. Example 7. we have A = max{[1. we might have A= A11 A21 A12 A22 = [1.1 Deﬁnitions By an interval matrix. 1] . and Midpoint We use the matrix norm A = max i j Aij  (7. 8]} = max{2 + 1 . m(A) ∈ A.1). 4 + 8} = 12.2) for an interval matrix A.3) The midpoint of A is the real matrix m(A) whose elements are the midpoints of the corresponding elements of A: (m(A))ij = m(Aij ). Width. 1] [6. For the interval matrix (7.i Chapter 7 Interval Matrices 7. we mean a mean a matrix whose elements are interval numbers. then we write B ∈ A. Matrix Norm. i.1. 2] [0. then B ≤ A . [0. We deﬁne the width w(A) of an interval matrix A by w(A) = max w(Aij ). This is an interval extension of the maximum row sum norm for real matrices. Clearly.
5 = m([6. 1]). D = (32 64) ∈ C. Then the product of the interval matrices A and B is C = AB = [32. 2]). However. 1]) 0.52] [40. 4} = 4. 8]) 2 0 . 38 and treated in the Fundamental Theorem of Interval Analysis (Theorem 5. and m(A) = m([1. 7 Exercise 7.64] . 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. 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.2 Interval Matrices and Dependency Even though.i 86 Chapter 7.1. 1 ≤ i ≤ m.8] [11. 4]). as introduced on p. 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. 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. 7. Example 7. This is similar to interval dependency in scalar expressions. w([6. then this variable occurs multiple times. the ﬁrst 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 ﬁrst column of B. 2] [3.2. in forming the columns of the interval product matrix C. and each j . In terms of the Fundamental Theorem. Interval Matrices w(A) = max{w([1. if you think of each interval element of the left matrix A as being a variable. i . once for each column. 4]) m([−1.1). 1 ≤ j ≤ n. the ijth element Cij of the product C = AB of an m by p interval matrix A and a p by n interval matrix B gives sharp bounds on the range p Cij = Mij = k=1 Pik Qkj : Pik ∈ Aik and Qkj ∈ Bkj for 1 ≤ k ≤ p for each i. 2]) m([0. w([−1. The multiplication of practically any two interval matrices such that the second matrix has more than one column can serve as an example.12] . as indicated in Exercise 7. 8])} = max{1. In fact. 2. but D does not correspond to the product of any point matrix P ∈ A with any point matrix Q ∈ B. Consider A= [1. 4] and B = [5.6] [9.10] [7. w([0.1.
i
7.3. INTLAB Support for Matrix Operations
87
7.3
INTLAB Support for Matrix Operations
INTLAB has extensive support for linear algebra operations involving interval matrices. INTLAB uses the MATLAB environment, which originated as a system for interactively doing numerical linear algebra and continues to have numerical linear algebra as its foundation. The following exercises deal with some elementary matrix and norm capabilities in INTLAB. Exercise 7.2. Several functions of intervals are related to the absolute value function of a real number. mag: mag(X), the magnitude of the interval X, is the real number representing the maximum absolute value of any real number in X. mig: mig(X), the mignitude of the interval X, is the real number representing the minimum absolute value of any real number in X. (For example, the mignitude is used, in determining whether every matrix within an interval matrix is diagonally dominant.) abs: abs(X) is an interval that represents the range of the absolute value function over the interval X. INTLAB has the functions mag, mig, and abs that operate on intervals, interval vectors, and interval matrices. Use INTLAB to compute abs(X), mag(X), and mig(X) for the following X: 1. X = [1, 2], 2. X = [−1, 2], 3. X = [−2, −1], 4. X the matrix A from Example 7.1. Hint: The matrix A may be entered:
>> A = [infsup(1,2) infsup(0,4) intval A = [ 1.0000 , 2.0000 ] [ 0.0000 , 4.0000 ] infsup(1,1) infsup(6,8)] [ 1.0000 , 1.0000 ] [ 6.0000 , 8.0000 ]
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 2norm of A and is the same as norm(A,2), while norm(A,1) and norm(A,inf) compute the 1norm and ∞norm of A, respectively. INTLAB does not deﬁne norm(A,2) when A is an interval matrix, but it does deﬁne norm(A,1) and norm(A,inf); the norm deﬁned 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 ﬂoating point approximation. Use INTLAB to compute A and m(A) for A as in Example 7.1.
i
i
88
Chapter 7. Interval Matrices
Exercise 7.4. For scalar intervals, the INTLAB function diam corresponds to width. However, 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 deﬁned by (7.3).
7.4
Systems of Linear Equations
Ax = b, (7.4)
In this section, we consider ﬁnite systems of linear algebraic equations
where A is an nbyn matrix and b is an ndimensional vector. There are two cases to consider for the coefﬁcients 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 ﬁnite number of arithmetic operations if A is nonsingular and if inﬁnite 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 difﬁcult; the set of all solutions to (7.4), when the coefﬁcients of A and b can range over intervals, may be a very complicated set,27 and its computation is, in general, an NPhard 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
7.4. Systems of Linear Equations
(−3, 4) r
89 T
(0, 1) e d d r (4, 3) ed ¢ ¨¨ ¨ e d ¢ ¢ ¨ e dr ¨ ¨ (−1, 0) e er E r r e ¨ ¨ d e (1, 0) e ¨ ¨ d e ¨ ¨ de (−4, −3) r (0, −1) dr d e (3, −4)
Figure 7.1. Exact solution set to Ax = B, A, and B in Equation (7.6). appears in Figure 7.1 (from [97, p. 20]). However, such a solution set can be enclosed in an interval vector (an ndimensional 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 coefﬁcients. 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 overﬂow or underﬂow), 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 2by2 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 ﬁrst equation, as done in Gaussian elimination. Doing that, we can solve for x2 by a division from the equation (a22 − (a21 /a11 )a12 )x2 = b2 − (a21 /a11 )b1 . Then we can use that value of x2 and the ﬁrst equation to solve for x1 by another division from a11 x1 = b1 − a12 x2 . We can carry out all that numerically with interval coefﬁcients 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 coefﬁcients in the corresponding interval coefﬁcients. 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 sufﬁcient for the matrix to be nonsingular for any choice of real coefﬁcients in the interval coefﬁcients.
i
i
90
Chapter 7. Interval Matrices
Exercise 7.5. The mesh equations for an electric circuit are expressed as R1 + R2 −R2 −R2 R2 + R 3 I1 I2 = V1 . −V2
Take V1 = 10, V2 = 5, and R1 = R2 = R3 = 1000 ± 10%. Find enclosures for I1 and I2 . In case (1), with exactly representable real coefﬁcients, if the hypothesis of Theorem 7.1 is satisﬁed, the resulting interval vector has a width which approaches zero as the number of digits carried (in the IA) increases. Example 7.3. Consider the following illconditioned system: 2.0000x1 + 3.001x2 = 1.0000, 0.6667x1 + 1.000x2 = 0.3333. We will carry out a direct method for solving the system using nplace IAfor n = 4, 5, 6, 7, 8, and 9. We can eliminate the x1 term in the second equation to obtain (1.000 − (0.6667/2.0000)(3.001))x2 = 0.3333 − (0.6667/2.0000)(1.0000). If we carry out the arithmetic using nplace IA, we obtain (for x2 ): for n = 4, 0.6667/2.0000 ∈ [0.3333, 0.3334], (0.6667/2.0000)(3.001) ∈ [1.000, 1.001], .3333 − (.6667/2.000)(1.000) ∈ [−.0001, 0], (1.000 − (0.6667/2.0000)(3.001)) ∈ [−0.0010, 0], x2 ∈ [0, ∞) (no upper bound on x2 ); for n = 5, 0.6667/2.000 ∈ [.33335, .33335], (0.6667/2.000)(3.001) ∈ [1.0003, 1.0004], 0.3333 − (0.6667/2.000)(1.000) ∈ [−0.00005, −0.00005], (1.000 − (0.6667/2.000)(3.001)) ∈ [−0.00040, −0.00030], x2 ∈ [0.12500, 0.16667]; for n = 6, x2 ∈ [0.128205, 0.131579]; for n = 7, x2 ∈ [0.1302083, 0.1305484]; for n = 8, x2 ∈ [0.13041210, 0.13044613]; for n = 9, x2 ∈ [0.130429111, 0.130429112].
i
. . (k = 0. that is. which we cover more completely in section 8. when A is strongly (strictly) diagonally dominant. . 1. the solution vector x is contained in the interval vector X(k) deﬁned by (7.7) for every k = 0. for special classes of matrices. even without pivoting. then the sequence X (k+1) = {Y b + EX (k) } ∩ X (k) with Xi(0) = [−1. . . Also see the section A Common Misuse of Interval Arithmetic in the demo for INTLAB. We can multiply both sides of (7. . 1] Y b /(1 − E ) (i = 1. Furthermore.) (7. . the only roundoff error remaining is in the ﬁnal division for x2 . Using the norm (7.2.7) converges in a ﬁnite number of steps to an interval vector containing the set of solutions to (7.2). . . One such method is a linear version of the Krawczyk method .4).. there are multiple occurrences of the coefﬁcients in combination with subtractions and divisions which reverse endpoints. 2. In case (1).g. Interval Gaussian elimination can always be carried out. For a ﬁxed number of digits carried in the IA operations. was observed during early experiments with interval versions of Gaussian elimination. If E < 1 using (7. Using IA.2. 1. In this example. 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.4).i 7. . beyond n = 8. .7) i . we have the next theorem. Thus. Theorem 7. the width of the computed interval goes down by at least 10−1 for each increase of a unit in n beyond n = 5. . the system (7. an approximate inverse of m(A)) and deﬁne E = I − Y A. . when Aii  > Aij  (i = 1. interval Gaussian elimination can give good results. n).4) has a unique solution x for every real matrix in A and every real vector in b (for interval matrix A and interval vector b) if I − Y A < 1 for some matrix Y (real or interval). [57]. e. First Look at the Krawczyk Method Iterative methods for interval linear systems were begun by Hansen. resulting in the observed excess width (in most cases) of the interval results.4) by a matrix Y (for instance. During the Gaussian elimination process. somewhat puzzling at ﬁrst.2). In IA. the sequence (7. Systems of Linear Equations 91 The sudden increase in accuracy in this simple example which occurs between n = 8 and n = 9 is accounted for by the fact that.4) for every real matrix in A and every real vector in b. the width of the resulting interval vector increases as the order n increases for most matrices at about the same rate as the worstcase analysis of von Neumann and Goldstine [246]. j =i See [13] and [57] for further discussion. . A phenomenon.4. . n) is a nested sequence of interval vectors containing the unique solution to (7. However. with real coefﬁcients. the sequence {X(k) } converges in a ﬁnite number of steps to an interval vector containing the set of solutions to (7.
4.3 .12. represented by interval coefﬁcients. The iterative method (7. using threedigit IA. 1. 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. 7. 0 Chapter 7. Interval Matrices 0.668] . we ﬁnd. −1 1 an approximate inverse of A. 0. This was observed in [218. such as Gaussian elimination with interval arithmetic. 0. In fact. Better enclosures of the solution can be obtained in practice through a defectcorrection scheme than with just the simple method we have presented here.i 92 Example 7. 0. 0 0 Yb = 0.5 Linear Systems with Inexact Data There are a few special types of matrices for which satisfactory results can be obtained. Alternate methods and methods that give sharper bounds on the set of solutions to linear systems with interval coefﬁcients may be found in [13]. 2. Bounds of intermediate quantities tend to grow rapidly especially because of dependence among i .664.667] . 3 2 b= 1 .666. because nonlinearities in a system can be encompassed by intervals in a linear system. section 2. [218]. and [221].1 0 .4) with A= If we choose Y = 3 1 .12.b.2. p. −1 0. Method (7.2. −1 [0. the use of direct methods.647. was later explained in [221].12] . 1.672] .7) is a linear version of the Krawczyk method that we will explain in more detail in section 8.712] . −1 [0. as we shall see in the next chapter.12] with X(k) = X (4) for k ≥ 4.6 . E= and we obtain X(1) = X(3) = [0.478.6 −0. [57]. We will say more about convergence of the Krawczyk method in section 8. and is implemented within routine verifylss in INTLAB. Additional Notes 1.7) is also applicable in case A and b have interval components. Unfortunately. 0. [−1. −1 X(0) = [−1. 53]. −1 X (2) = X (4) = [0. Consider (7. cannot be recommended in the general case for ﬁnding enclosures of the set of all solutions to linear systems with inexact data.
[−1. 0.i 7. . and the smaller the better.12] [−0.333 .7) to ﬁnd enclosures for I1 and I2 .7) can be written A= and the righthand side vector is b= Now the midpoint matrix is m(A) = which has the inverse [m(A)]−1 = = 1 2000 4 3 2 3 2 3 4 3 [1800.12. and R1 = R2 = R3 = 1000 ± 10%.25] so E = 0. .666 . Let us revisit Exercise 7. The mesh equations for an electric circuit are expressed as R1 + R 2 −R2 −R2 R2 + R 3 I1 I2 = V1 −V2 with V1 = 10. The exact solution set can be quite complicated. . 0. 6. 0.1100] −[0. × 10−4 3. Linear Systems with Inexact Data 93 generated intervals and the endpoint reversals occurring in subtractions. 2200] −[900. × 10−4 3.12. × 10−4 . 6 What we need is a matrix Y that makes the norm of E = I − Y A smaller than 1. In this example. [−0.2200] [−0. using the iterative method outlined in the previous section. 0. 1100] [1800.5. the matrix A in (7.0900. beginning with X (0) = Yb 1− E [−1.37 < 1.1800. 0. . 0.5. Example 7.7).1800.12] . In fact. we have E= = 1 0 0 6 − 1 3 3 6 [0. . it will sufﬁce to choose as our approximation to [m(A)]−1 the matrix Y = 10−4 6 3 3 . Here. 1] i .1100] [0. We can use the iterative method (7. we can do it. 1100] .0900. . 2200] 10 −5 . V2 = 5. × 10−4 It is not necessary to ﬁnd the exact inverse.05. 2000 −1000 −1000 2000 = 2000 1 −1 2 2 6000 4 6000 −1 2 1 . from the iterative method (7. 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). 0. but we can nevertheless compute an enclosure of it. . although in this simple case. 0.5 to illustrate its application. = 4 6000 2 6000 6.25] [−0.05. 1] .333 . .2200] −[0. −[900.666 .
0.0072] = [−0.0072.25] = [0.0072] Hence. 0.25] [−0. 0. 0.05.002664] [−0. 0.0072] [0. 0.0072] .0045 [−0.0072] ∩ [−0. 0. −5 0 so. 0. 0.12.002664. [−0.12] [−0.05.0072] .002664.2 × 10−3 . 0.0045 [−0.25] (0) X1 (0) X2 (k) X1 (k) X2 ∩ (k) X1 (k) .0072.25] [−0.i 94 where Y b = 10−4 6 3 3 6 Chapter 7.2 × 10−3 ≤ I2 ≤ 7. 0. 0. we can choose X(0) = [−0.2 × 10−3 ≤ I1 ≤ 7. 0.0045 = .0072. [−0. 0.2 × 10−3 for every solution of the mesh equations for the given electric circuit.12.001836. [−0. 0. [−0.12.0117] .001836. X2 From X(0) = we obtain 0.05.002664. the set of solutions also is contained in (1) X1 (1) X2 = = [0. with outward rounding to two digits.0072. [−0.7).00153. 0.05.12.0072.12.001836. 0.00661968] .0045 [−0.0072] .0072. 0.0072. − 7.00153] [0.002664] [−0.12] + 0 [−0. 0. 0.12] [−0. 0.05. 0.002664] i .002664. We can try to improve this initial enclosure.12] + 0 [−0.0072.05.25] = [0. 0. 0. 0.002664] Another iteration yields 0. within the uncertainty speciﬁed for the inexact data.12] + 0 [−0. 0.25] [−0.0072] [−0. Interval Matrices 10 0.0117] [−0. using the interval iteration formula (7. 0. 0.0072] [−0.0072] Thus we already know at this point that − 7.001836.12] [−0.12. 0. which for this example is (k+1) X1 (k+1) X2 = 0. 0.00382032.
00153.infsup(1.0117] ∩ [−0. in INTLAB. 118 with y = 0 and f (y) = Ay − b. infsup(1800. 0. Exercise 7.5] Y = 10ˆ(4) * [6 3. we found the sharper enclosure I1 = [0.6.002664. For this example. 0.2200)] B = [10. 0.00153] [−0.inf)) because INTLAB computes the matrix norm as an interval.00661968] [0. Use INTLAB to check the above computations.002664] [0. infsup(900. b = [midrad(10.5 for % Krawczyk_step A = [ infsup(1800.2200) infsup(900.1).00153] We could continue the iterations to further sharpen the enclosure.00433. However.1100). You can then iterate the Krawczyk method by pressing the uparrow key followed by the return key. Here is a set of commands to get you started: A = [infsup(1800.0).’example7p5’). you see mag(norm(E.0].5.00582].1100).5. 200 for other possible discrepancies. Hint: There are several ways of doing this. 3 6] E = eye(2) . but you will need to check the starting vector separately.1100) infsup(1800. to use Krawczyk_step. val = A*x .midrad(5.Y*A xmult = norm(Y*B)/(1mag(norm(E.2200)]. I2 = [−0... Linear Systems with Inexact Data so the set of solutions is also contained in (2) X1 (2) X2 95 = = [0.00382032. and mag(norm(E. etc.000419]. inversions. then doing the matrixvector multiplications. Alternately.inf)) corresponds to the matrix norm we have deﬁned.1)] (Above. (See p. 0.X) where example7p5 (also supplied) is as follows: function [val] = example7p5(x) % [y] = example7p5(x) implements Example 7.i 7.2200).b. taking midpoints. [−0.[0.00382032. One is to check the computations directly by entering the matrices and vectors.. You can also use the function Krawczyk_step displayed on p. 0.0)]. because Krawczyk_step uses a more accurate approximation to m(A)−1 for Y . 0.000419.) i . infsup(900..1100) infsup(900.00661968] . the results from Krawczyk_step will differ a bit from those on the preceding pages.001836.00153. 0.inf))) X = xmult * [infsup(1. 0. issue the line X = intersect(Krawcayk_step(X.) You can then duplicate the ﬁrst step of the above computations via X1 = Y*B + E*X etc. The computations displayed above illustrate the interval operations needed. Using a direct method for this small linear system. we can compare the enclosure above with the one found in the solution of Exercise 7.
j Xj − Gi. thus.j Xj Gi. [168]. also commonly used in practice. . where the diagonal element Gi. was originally introduced by Hansen et al.7) contains no divisions and consists of a single box. B is an interval vector (where either A or B can have zero width or nonzero width). where G = Y A and C = Y B. However. j = i. using the most recent value of Xj wherever possible. Chapter 3]).) The preconditioner is not given as a matrix but rather is given as a row Yi to allow the preconditioner matrix to be computed rowwise.i j =1 j =i+1 ˜ Xi(k+1) ∩ Xi(k) . we obtain the iteration equations for the interval Gauss–Seidel method: Xi(0) ˜ Xi(k+1) Xi(k+1) ← ← is given. As in the Krawczyk method. Use verifylss on the linear system just worked out in Example 7. 2.10) where G = {Gi. Chapter 3].9) Formally solving the ith row of the preconditioned system (7. The INTLAB routine verifylss computes veriﬁed enclosures to linear systems of equations using a combination of the Krawczyk method and an improved method originating from work of Hansen. i = 1. and we wish to bound the solution set to Ax = B. (7. The i .j }. as explained in [97. extended interval arithmetic can be used. (7. Interval Gauss–Seidel An alternate method.10). we will treat the Krawczyk method more generally in section 8. and [184]. The following mﬁle computes a step of (7. 116. in the Hansen–Sengupta method [66] and is an interval version of classical Gauss– Seidel iteration.2. An Additional Note As mentioned. starting on p. type help verifylss from the MATLAB command window for more information. . (7. Gi.5 and compare the results you obtain with the above results. (That is. we treat it as a method for bounding the solutions to nonlinear systems as well as give additional background. analogous to what we will see in section 8. i−1 n 1 (k+1) (k) Ci − . and the result of a step of (7.i 96 Chapter 7.i of G is the denominator in (7.10) can be two boxes.9) for xi .10) for a single i without intersecting. obtaining Gx = C. n.7. There. it could happen that 0 ∈ Gi.10) for a given i. assume A is an interval matrix. as long as a preconditioner matrix Y is available. gauss_seidel_step evaluates the right side of the middle assignment in (7. the iteration (7.1 for the univariate interval Newton method.i . and assuming we iterate to obtain a new range for Xi by substituting the ranges for Xj . 1 ≤ i ≤ n. In the Krawczyk method. .8) We use a preconditioner matrix Y typically but not necessarily chosen to be m(A)−1 (see [97. [218]. . Interval Matrices Exercise 7.
numerator. X) returns % the result of applying a GaussSeidel step with variable i. new_X_i = numerator / denominator. second_new_X_i. and initial guess X. denominator].Inf).. n = size(A.0) / midrad(inf(denominator). end if (i < n) numerator = numerator . elseif (˜in(0.0).G_i(1:i1)*X(1:i1). Y_i.. 113. numerator. (We explain Cset theory on p. Y_i. = gauss_seidel_step(i. numerator = C_i.) function [new_X_i. B. X) % [new_X_i. new_X_i = X(i). if (n > 1) if (i > 1) numerator = numerator . if (˜in(0... there_are_2 % is set to 0 and second_new_X_i is not set if there is only % one interval returned. else tmp1 = midrad(supnum.. % preconditioner matriX Y_i. The variable % there_are_2 is set to 1 if 2 semiinfinite intervals are returned.5.denominator)) there_are_2 = 0. if(supnum < 0) if sup(denominator)==0 tmp1 = infsup(Inf.. else tmp2 = midrad(supnum.0). end i . % = gauss_seidel_step(i. second_new_X_i. end if inf(denominator) == 0 tmp2 = infsup(Inf. there_are_2.i 7. B. second_new_X_i = X(i). supnum = sup(numerator). Linear Systems with Inexact Data 97 result of a division by zero is computed according to the Cset theory of [194].. A. using the variant that views −∞ and ∞ as part of the number system. % in which case second_new_X_i has the second interval.G_i(i+1:n)*X(i+1:n). A.2).Inf). denominator. C_i = Y_i*B. there_are_2]. end end denominator = G_i(i).numerator)) there_are_2 = 1. G_i = Y_i*A.0) / midrad(sup(denominator).
second_new_X_i = infsup(inf(tmp2). or the denominator may have contained zero. given Xi(k) . % 1 <= i <= n. error_occurred = 0.sup(tmp1)). if inf(denominator)==0 tmp1 = infsup(Inf.B. % Upon return: % if error_occurred = 1. beginning with box X_k.inf). X_k) % X_kp1] = Gauss_Seidel_image(A. the midpoint preconditioner may have been % singular. the % case of more than one box in the image is not handled % with this routine. end else there_are_2=0. is_empty = 0.Inf) else tmp2 = midrad(infnum. that is.Inf). error_occurred] =. Y = inv(mid(A)). % (For example.0).10). there are no solutions to A X = B within X_k.is_empty. then the computation could not proceed.sup(tmp1)).. end end The following mﬁle repeatedly calls gauss_seidel_step to do an entire sweep of (7. Interval Matrices new_X_i = infsup(Inf. 1 ≤ i ≤ n: function [X_kp1. to compute Xi(k+1) . % If error_occurred = 0 and is_empty = 0.0) / midrad(inf(denominator). B. i .. this means that % an intersection of a coordinate extent was empty.8) of the text) % for the interval linear system A X = B.0). else infnum = inf(numerator).Inf).X_k) returns the image after a % sweep of GaussSeidel iteration ( that is. end if sup(denominator) == 0 tmp2 = infsup(Inf.0) / midrad(sup(denominator). i=1. new_X_i = infsup(Inf. then the image under % the GaussSeidel sweep is returned in X_kp1. % This is done using the inverse midpoint preconditioner. Gauss_Seidel_image(A. (7.) Otherwise. end new_X_i = infsup(Inf. n = length(B). second_new_X_i = infsup(inf(tmp2). In this % case.i 98 Chapter 7.Inf) else tmp1 = midrad(infnum. 1 ≤ i ≤ n. error_occurred = 0. % If error_occurred = 0 but is_empty = 1.
0000 . A.X_k(i))). if(there_are_2) error_occurred = 1. num.0062 ] [ 0.1).0000 ] [ 1.0000 . 0.i 7.0062 ] [ 0. Linear Systems with Inexact Data X_kp1 = midrad(zeros(n.9000 ] [1. 2. X6) intval X7 = [ 0.1601 ] is_empty = 0 error_occurred = 0 . 10.0)] intval b = [ 10.0010 ] i . 2.0041 .1100) infsup(1800. error_occurred] = Gauss_Seidel_image(A.1).0).midrad(5. 0.. error_occurred] = Gauss_Seidel_image(A.0041 .2000 ] [ 1. X_k).0000 ] [ 5. .0010 .is_empty.. if (˜is_empty) X_kp1(i) = intersect(new_x_i. end if (˜error_occurred) is_empty = isempty_(intersect(new_x_i.is_empty.0011 .:). = gauss_seidel_step(i.1661 ] [ 0. B.0).0000 .5.5 as follows: >> A = [ infsup(1800. there_are_2. second_new_x_i. error_occurred] = Gauss_Seidel_image(A.is_empty. X_k(i)).1)] intval X0 = [ 1.1541 . 0.0e+003 * [ 1. b. 1. b.8000 . 1.1000 . . X0) intval X1 = [ 0.0000 ] >> [X1. 0.0000 ] >> X0 = [infsup(1.2200)] intval A = 1. 0. >> [X6.2000 ] >> b = [midrad(10. 0. X5) intval X6 = [ 0.1000 . b.0011 ] is_empty = 0 error_occurred = 0 >> [X7. 0.9000 ] [ 1. while(˜error_occurred & ˜is_empty & i<= n) [new_x_i.2200) infsup(900.1100) infsup(900.8000 .1601 . Y(i. end end i=i+1. infsup(1. 5. 0.0000 . denom] . end 99 We may use Gauss_Seidel_image to bound the solution set in Example 7.
In contrast. Interval Matrices It is shown in [167] that for a given preconditioner (e. fast implementations in software can be close to a factor of 5. wherever possible. but faster. Often. Also. designers of methods for veriﬁcation of solutions generally follow a principle of using ﬂoating point arithmetic to ﬁrst obtain good approximations. However. and see [97] for more development. solves the problem for each sample input vector..i 100 Chapter 7. An Additional Note The interval Gauss–Seidel method as illustrated in our example routine Gauss_Seidel_image could be made to execute more quickly with faster implementations of interval arithmetic. Mmatrices. in the worst case. p. where n is the number of equations and unknowns. the errors in the elements of the triangular factors in Gaussian elimination carried out in ﬂoating point arithmetic can grow proportionally to 2n−1 . does not exhibit undue magniﬁcation of roundoff error for most matrices that occur in practice. In fact. see [167]. From this point of view. This is shown with the famous example of Wilkinson [248. the interval Gauss–Seidel method can be used effectively in cases when the solution set is unbounded and for nonlinear systems. this leads to solving the equations millions of times to get estimated output distributions. 91. if we begin with a point matrix A and point righthandside vector b. We also can solve the linear system for selected real data from within the given intervals of uncertainty. Further discussion of interval methods for enclosing the set of solutions to linear systems with interval coefﬁcients may be found in [13].28 the interval Gauss–Seidel method requires more interval arithmetic than certain other methods of enclosing solution sets. [57] and in various other references. For advanced theory comparing various methods. 212]. Furthermore. carried out in ﬂoating point arithmetic. including use of preconditioners other than the inverse midpoint matrix. as we explained on p. the interval Gauss–Seidel method gives an ultimate result at least as narrow as the Krawczyk method.g. although Stephen Wright has presented a class of matrices that are important in practice. except for certain special matrices. This is true even if partial pivoting is used. in which one uses random number generators to sample the ranges or distributions of input data. It is wellknown that. Gaussian elimination with partial pivoting. the inverse midpoint matrix). 7. the typical result is that the widths of the resulting bounds X will be on the order of 2n−1 times the rounding error unit.29 Furthermore. but then use interval arithmetic in the Gaussian elimination algorithm to obtain veriﬁed bounds on the solution vector x. there is more of a question about how the pivot 28Assuming that interval computations are expensive compared to ordinary ﬂoating point computations. i . in practice. see [66] for the ﬁrst such use. for which Gaussian elimination with partial pivoting is unstable [249]. a widely used approach to estimating the effects of uncertainties in data upon solutions to equations is the Monte Carlo method. however. The interval approach is cruder. or H matrices. resorting to interval computations only where necessary. then summarizes the results.6 More on Gaussian Elimination Gaussian elimination is an example of an algorithm that cannot be converted directly into an intervalarithmeticbased algorithm by simply replacing ﬂoating point operations by interval operations. 29 Such as diagonally dominant matrices.
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. due to magniﬁcation of widths. For instance.j ) .j to be the pivot row. meaningful answers can be obtained for some very large matrices. If the original system Ax = B is an interval system of equations. [13]. Interval Gaussian elimination is analyzed theoretically in [12]. with the matrix Y in the Krawczyk method. and the condition of the matrix.6.9999. 3. i . that the diagonal matrices A are xi where. If such a matrix is passed to verifylss.. and the routines in INTLAB (and in particular verifylss) can use this sparse format. . since the pivots become intervals.7 Sparse Linear Systems Within INTLAB MATLAB has a sparse matrix format. we may multiply by a preconditioner matrix Y ≈ m(A)−1 . the structure of the matrix. that is. we ﬁrst use ﬂoating point arithmetic to produce an approximate inverse Y ≈ A−1 . then use interval arithmetic to do the matrixmatrix multiplication and matrixvector multiplication. −1 [2. one may precondition. 3. where i0 = argmaxi mig(Ai. 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 . that is. where A is the 1000 by 1000 matrix given by [2. That is. The solution set to the system of equations Gx = C must then contain the exact solution to the original noninterval system Ax = b. leading to reasonable bounds on the solution set to Ax = b. there is an implicit assumption that the diagonal entries vary independently. Suppose we wish to bound the solutions to Ax = b. 87. . 3. it is likely that all potential pivots in the j th column will contain zero at some step. 7. Depending upon how wide the intervals are.30 Indeed. if the elements of the matrix A and the vector B have nonzero widths at the start.i 7. Sparse Linear Systems Within INTLAB 101 element should be chosen. so that production of ﬁnite bounds on the solution becomes impossible. just as we did for the interval Gauss–Seidel method or. in a way. complete understanding of this example can be obtained by studying the sparse matrix format within MATLAB’s help system. and [167] as well as in other papers and reference works.9999. Example 7. The Gaussian elimination algorithm is then more likely to succeed for the resulting system of equations. where “mig” is the mignitude deﬁned on p.0001] −1 A= . There are various ways in which Gaussian elimination can be used to get tight bounds on the solutions to point systems of linear equations. we will give an example with cursory explanation.7.0001] −1 0 −1 [2. in general xi = xj . The Gaussian elimination algorithm can then be performed on Gx = C. just as we did for the interval Gauss–Seidel method. .0001] and b ∈ R1000 has all entries equal to −1. .9999. 0 ··· 0 ··· 0 ··· . Here.
0000__________ (3.b(i.1) 3.0000__________ >> for i=1:n.3) 1.0000__________ (2.0).9999.0000__________ >> X=verifylss(A.end >> d = [1.b). i .2)=diag_uncertainty. Interval Matrices [2.n).1e4) intval diag_uncertainty = 3.98____________ 0.n.62____________ The response and solution process in this interactive dialogue were almost immediate (small fractions of a second).0001].3) = midrad(1. B(i.2) 1. >> intvalinit(’Display_’) >> for i=1:n.0001].94____________ 0. then sharper bounds on the solution set possibly can be obtained by taking account of this fact. >> A(1:3.85____________ 0.2) 3.00000000000000 (2.end.0.00____________ >> X(997:1000) intval ans = 0.) A MATLAB dialogue that gives us bounds on the solution set follows: >> n = 1000.d.98____________ >> X(500:503) intval ans = 1.1]. >> X(1:4) intval ans = 0.62____________ 0.1)=1.00000000000000 (2. 3.9999. >> A = spdiags(B. even though that value is known to lie only within [2.00____________ 1. 3.1:3) intval ans = (1.85____________ 0.00000000000000 (3.i 102 Chapter 7.1) 1.94____________ 0.00____________ 1.3) 3. Material on mathematically rigorous bounds to solutions of sparse systems of equations can be found in [221] and [226]. (If the diagonal entries are all the same value.B(i.0).2) 1. B(i. >> diag_uncertainty = midrad(3.00____________ 1.00000000000000 (1.1) = midrad(1.
such as for symmetric. Alefeld. Final Notes 103 7. Günter Mayer provided an excellent review of this in [140]. Jiri Rohn. has made available a sizeable suite of INTLAB programs for interval linear systems of equations. These results include characterizing necessary and sufﬁcient conditions for when interval Gaussian elimination and other algorithms for bounding solution sets can be carried out and when they give sharp enclosures for the solution sets.i 7. persymmetric. i .8 Final Notes Mayer. and others have made signiﬁcant advances in characterizing the solution sets to interval linear systems. Rohn.8. and Hankel matrices. In the next chapter. the ideas and techniques discussed in Chapters 6 and 7 are used to develop methods for mathematically rigorous bounds on the solutions to nonlinear systems of equations. See Appendix D. Toeplitz. He has written a concise summary of results on interval linear problems. aside from his role as a leader in these developments and in the analysis of computational complexity in interval numerical linear algebra. They also include results for interval matrices with assumed dependency in their entries.
i i .
). Now let [a. then (8. can be implemented with iteration (8.1 Newton’s Method in One Dimension Our approach will be to initially develop Newton’s method in its simplest form. the procedure can be halted when Xk+1 = Xk . .2). . using IA at a speciﬁc number of digits.. Let f be a realvalued function of a real variable x. (8.2) If we start with an X0 such that F (X0 ) ⊆ X0 . and suppose that f is continuously differentiable. and can be used to prove existence and uniqueness of a solution to a nonlinear system of equations in a given box. 2. 1. 8. interval Newton methods share properties with the Krawczyk method. We describe these methods below. . we discussed iterative interval methods for solving equations in ﬁxedpoint form. this yields the narrowest interval possible (with that many digits) containing X∗ . By the mean value theorem. More generally. even though the interval Newton operator is not inclusion isotonic as is F in (8. . considered in Chapter 6 in the linear case. On a computer. .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.4) 105 i . Given an equation x = f (x).3) for some s between x and y. falls under the same general scheme as (8.2) and can be used to solve nonlinear systems of equations. 1.2). (8. 2. (8. we can write f (x) = f (y) + f (s)(x − y) (8. b] be an interval in which we seek a solution of the equation f (x) = 0. The Krawczyk method.i Chapter 8 Interval Newton Methods In Chapter 6. .1) we take an interval extension F of f (which is automatically inclusion isotonic if f is rational) and set up an iterative procedure of the form Xk+1 = F (Xk ) ∩ Xk (k = 0.
Hence. In this case. (8. . deﬁned by (8. . .41421357]. (8. the intervals X(k) form a nested sequence converging to x if 0 ∈ F (X (0) ).]. (8. Furthermore. . N (X) = m(X) − and (8. 2. . What happens if f (m(X (k) ) = 0? Example 8. if it exists. Exercise 8. Therefore w(X (k+1) ) < 1 w(X (k) ). b]) = (a + b)/2. in particular for y = m([a.].7) i . and if x is contained in X.5) (8.1. [m(X (k) )]2 − 2 . . 1.8) It follows from (8.3) is also contained in X. x = y − f (y)/f (s). .41441 . 1. 16 16 X(2) = [1. would satisfy Chapter 8. X(3) = [1. Theorem 8. . Convergence of the sequence 2 follows. Hence.9) (k = 0. . . we see that √ 2 lies in [1. b].1.4) with f (x) = x 2 − 2. then so does X (k) for all k = 0. .414213566 . Rounding X (3) out at the eighth place. Interval Newton Methods f (y) + f (s)(x − y) = 0 for any y ∈ [a.). √ Of course. If 0 ∈ F (X (0) ). 2X (k) [m(X)]2 − 2 . 2X (8. . then 0 ∈ F (X (k) ) for all k and m(X (k) ) is not contained in N (X (k) ).7) looks like X(k+1) = X (k) ∩ m(X (k) ) − Taking X(0) = [1. / Proof.414213559 .i 106 A solution x. If an interval X(0) contains a zero x of f (x).41406 . 1. An interval extension of f (x) = 2x is F (X) = 2X. 1.7). then s in (8. .6) Let F (X) be an inclusion monotonic interval extension of f (x) and consider the algorithm X(k+1) = X (k) ∩ N (X (k) ) where N (X) = m(X) − f (m(X))/F (X). we obtain X (1) = [ 22 .6) that x is contained in N (X) if y = m(X). 2. 2]. . 23 ]. .41421355.1. Suppose we wish to solve (8. / / unless f (m(X(k) ) = 0.4) has solution x = 2. (8. 1.. We have the following theorem. . x is also contained in X (k) for all k if it is contained in X(0) .
1. 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].) X (k) m( X (k) ) X X (k+1) (k) Figure 8. show that we have ﬁnite convergence to eight places in three iterations. i . respectively. the blue slopes represent the lower bounds on F (X (k) ). instead of the intersection of a single tangent line with the xaxis.1. x2 ]) is deﬁned and F ([x1 . and the red slopes represent the upper bounds on F (X (k) ).2. That is. x2 ] for which F ([x1 . A formal statement of this property is as follows. Exercise 8. x2 ] containing y and a positive real number C such that w(X(k+1) ) ≤ C(w(X (k) ))2 . there is an interval X0 ⊆ [x1 . Lemma 8. the new interval X (k+1) is deﬁned by the intersection of two tangent lines.i 8. such that f has a simple zero y in an interval [x1 . f . Show that X (k) = X(3) for all k > 3 in Example 8.1. with slopes corresponding to the lower and upper bounds of F (X (k) ). (In this ﬁgure. see Moore [148]. x2 ]) is deﬁned and does not contain zero.1. Given a real rational function f of a single real variable x with rational extensions F .1. For a proof. Geometrical interpretation of the univariate interval Newton method. Newton’s Method in One Dimension 107 The rapid convergence exhibited here is a consequence of the fact that the interval Newton method is asymptotically error squaring. This is illustrated with F (X (k) ) equal to the range of f over X(k) in Figure 8. F of f . Geometric Interpretation The univariate interval Newton method has a geometric interpretation similar to that of the classical point Newton method. However.
y = 2*x. using X as initial interval.X) % [NX_intersect_X.is_empty] = i_newton_step(’example8p1’.X) % returns the result of a single step of the interval Newton % method for a single variable.41406249999999 .i 108 Chapter 8. regardless of the % variable type of x.m: function [NX_intersect_X. Example 8.’example8p1_prime’. 6] in Example 8.7) is empty. The function in Example 8. midX = infsup(mid(X).X) intval X = [ 1. % y = example8p1(x) returns the derivative of xˆ2 2 in y.1. and is set % to "1" if the intersection is empty. % regardless of the variable type of x. 2.2) intval X = [ 1.X) NX_intersect_X = intersect(NX. we may produce the following MATLAB console dialogue: >> format long >> X = infsup(1. is_empty] = i_newton_step(f. Exercise 8. % while the string "f_prime" should be the name of an "m" % file for evaluating the derivative of f. Interval Newton Methods If the intersection X (k) ∩ N (X (k) ) in (8. NX = midX . % y = example8p1(x) returns xˆ2 2 in y.mid(X)). and function [y] = example8p1_prime(x).X). The flag "is_empty" % is set to "0" if the intersection is nonempty. Illustrate this by taking X(0) = [4.’example8p1_prime’.X) intval X = [ 1. The iteration equation (8.f_prime.37499999999999 . is_empty] = i_newton_step(f.7) can be implemented easily with INTLAB in the following mﬁle i_newton_step.2. 1.midX) / feval(f_prime.8) of % the text.41441761363637 ] is_empty = 0 >> [X.1 can be implemented in the following two mﬁles: function [y] = example8p1(x).00000000000000 . as defined in (8. y will be of the % same variable type as x.3. 1.X) intval X = [ 1.43750000000001 ] is_empty = 0 >> [X.2. there is no zero of f in X (k) . is_empty = isempty_(NX_intersect_X).f_prime. With these three mﬁles. The string f should % be the name of an "m" file for evaluating the function.is_empty] = i_newton_step(’example8p1’.is_empty] = i_newton_step(’example8p1’. 1.’example8p1_prime’.41421355929452 . y will be of the same variable type % as x.feval(f. y = x.ˆ2 .00000000000000 ] >> [X.41421356594718 ] is_empty = 0 i .
41421356237310 ] is_empty = 0 Exercise 8.4. − 2. 2] would violate the i .41421356237309 .9).X) % returns the result of a single step of the interval Newton % method for a single variable.is_empty] = i_newton_step(’example8p1’. and software packages in various programming languages have been written.midX) / fXg. Explain. even if format long is used for both displays. Exercise 8. After all. is_empty = isempty_(NX_intersect_X). NX = midX .feval(f. The string f should % be the name of an "m" file for evaluating the function.3 of this book. With some extra knowledge of the toolboxes distributed with INTLAB. It is important for mathematical rigor to deﬁne midX as infsup(mid(X). the displayed results need not be the same. Newton’s Method in One Dimension 109 >> [X.Xg). The flag "is_empty" % is set to "0" if the intersection is nonempty.dx. in general. Xg = gradientinit(X). pp.5.i 8.is_empty] = i_newton_step(’example8p1’.9). It would be nice if we could choose a sufﬁciently wide starting interval to encompass both zeros and ﬁnd them both.mid(X)). a starting interval such as [−2. using X as initial interval.4 with i_newton_step_no_fp in place of i_newton_step. since the “gradient” package. Additional explanation of automatic differentiation appears in section 9.6) of % the text. Repeat the computation above Exercise 8.’example8p1_prime’.41421356237309 . and is set % to "1" if the intersection is empty. 1. there is no need to explicitly program the derivative.X) intval X = [ 1.) This results in the following mﬁle: function [NX_intersect_X. There have been many conference proceedings and several comprehensive books on the subject since then. is_empty] = i_newton_step(f.X). Why do you think this is so?) Extended Interval Arithmetic √ Let us continue to consider the function (8. for (8. However. Are the same results displayed? (Note that.f_prime. fXg = feval(f. midX = infsup(mid(X).X) % [NX_intersect_X. NX_intersect_X = intersect(NX. mid(X)) rather than simply as mid(X). 1. where we use the technique in computing integrals. as defined in (8. % while the string "f_prime" should be the name of an "m" % file for evaluating the derivative of f. see [97. (One of the ﬁrst surveys of automatic differentiation is [200].1. may be used. it has another zero.’example8p1_prime’. is_empty] = i_newton_step_no_fp(f.41421356237310 ] is_empty = 0 >> [X. supplying automatic (or computational) differentiation capabilities within INTLAB. For a short didactic explanation from among our own work.X) intval X = [ 1. 36–41].
The deﬁnition of interval division can be extended as follows.1. If c < 0 < d. See note 4 on p.∞ 2 . − 1 ∪ 2 1 . If c < d = 0. then 1/[c. With this. 4]} = 1/[−2. Use extended interval arithmetic to compute 1/[−24. +∞). Recall that [a. where 1/[c. For (8. d] = (−∞. we are using ordinary interval arithmetic. These deﬁnitions assume the underlying set is the real numbers. 2] = −∞. d] = (−∞. If c = 0 < d. m(X(0) ) = 0.i 110 Chapter 8. 115. This deﬁnition makes the most sense if we keep in mind that the result of the operation should be the set of all possible values that can be obtained as we select numbers from the interval operand. extended interval / arithmetic speciﬁes three cases:31 1. 2] = [−4. and f (X (0) ) = 2[−2. Hence. b](1/[c. Then. +∞). If 0 ∈ [c. 3. d] = {1/y : y ∈ [c. 31 These deﬁnitions can be derived according to Cset theory. 2]. then 1/[c. we could take X (0) = [−2. N (X(0) ) = m(X (0) ) − f (m(X (0) ))/f (X (0) ) = 0 − {−2/[−4. d]). depending on whether −∞ and ∞ are included in the underlying set.9). upon intersecting N (X) with the ﬁnite interval X in the iteration formula X(k+1) = N (X (k) ) ∩ X (k) . b]/[c. 4]. 3]. 113. Exercise 8. d] = [a. we obtain two disjoint ﬁnite intervals. Interval Newton Methods condition 0 ∈ F (X (0) ) in the proof of Theorem 8. If 0 ∈ [c. There is some variation. which we brieﬂy describe on p.6. This situation can be handled using / extended interval arithmetic. i . 1/c] ∪ [1/d. rather than the set of extended real numbers. 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. This has practical consequences. d] = [1/d. We will not allow the case c = d = 0 here. 1/c]. d]. including −∞ and ∞. We would obtain f (m(X(0) )) = −2. d]. d]} (c < d any real numbers). 2. then 1/[c.
2].1. After convergence for that case (which we have already seen). However. − 1 ∪ 2 1 .1. A more difﬁcult case was carried out [154] for ﬁnding all the zeros of the function deﬁned by f (x) = x 2 + sin(1/x 3 ) for x in [0.5 1 1.1.2. especially near x = 0. 2 .” since it contains many values that are not obtainable as a/b for a ∈ A and b ∈ B.5 X (1) 0 ] [ −0.1. say.1.9. (You may corroborate your results with alternate techniques. Exercise 8.5 1 0.5 −1 −0.10003280628]. They are packed very close together.10003280626.5 0 0. 2]. 1] were found. The closest zero of f to that left endpoint of the starting interval [0.5 2 Figure 8.) Start with an interval in which you know all roots lie. −2. This is a “correct” enclosure of the exact range of the operation but is in general not “sharp. each within computed intervals of width less than 10−10 .2. and set 2 (0) X = 1 . then the depth h (in ft) to which it will sink in water is given by h3 − 3h2 + 8 = 0. the interval 2 Newton method can ﬁnd all the zeros of a function in a given starting interval.2 2 . − 1 to ﬁnd the other root in [−2. 1]. This is illustrated in Figure 8. Newton’s Method in One Dimension 111 2 1. we can go 2 back and set X(0) = −2. we may use the following function: i . is contained in [0. Exercise 8. The interval arithmetic in INTLAB does not implement sharp extended arithmetic. 0. 1].8.5 −1 −1.5 −2 −2 −1. 2]. Example 8. Use the interval Newton method with extended arithmetic to ﬁnd all zeros of the polynomial x 3 − 5x − 1. Extended interval Newton step over X (0) = [−2. After repeated splittings and eventual convergence of all the generated subintervals. ∞]. Intersecting this with X(0) = [−2. − 1 . It can be shown [234] that if a wooden sphere has radius 1 ft and speciﬁc gravity 2 . 3 3 Find h. division A/B by any interval B that contains zero results in the interval [−∞.7.i 8. X(1) = −2. We can momentarily put aside one of these two intervals. all 318 zeros in [0. In this way. we get the union of two disjoint ﬁnite intervals.
inf(X)).Y2. if (inf(X) > 0)  (sup(X) < 0) % do ordinary interval division two=0. % If X does not contain zero. Y2 is set % to INTLAB’s representation of the empty interval.8 using INTLAB and xreciprocal. The function xreciprocal has various complications necessary to ensure that the results it returns contain the exact range of the reciprocation operation. else % This is the case where X=0. Y1 = 1/X. upper_bound = infsup(1. Y2 = infsup(NaN. The return value two is set to 0 if only one interval % is returned and is set to 1 if two intervals are returned. end The function xreciprocal can be used to automate the computations explained above for ﬁnding all roots of an equation. the result of ordinary % interval division is returned in Y1.1) / infsup(sup(X). and 8.10. Y1 = infsup(NaN. Y1=infsup(Inf.sup(upper_bound)). lower_bound = infsup(1.sup(X)).NaN).Inf).1) / infsup(inf(X). implementation requires storage of a list of intervals that have been set aside for later.6. Exercise 8.9.inf(X)). lower_bound = infsup(1. elseif (inf(X) < 0) & (sup(X) == 0) % Case 3 of the text two = 0.1) / infsup(inf(X).sup(X)).NaN). Y1 = infsup(inf(lower_bound).two] = xreciprocal(X) returns the extended reciprocal % of X defined by the three cases above Exercise 8.1) / infsup(sup(X).7. and two is set to 0. Y2 = infsup(inf(lower_bound). Y2 = infsup(NaN. Y2 = infsup(NaN.NaN).two] = xreciprocal(X) %[Y1. Explain these complications.5 in the % text. Exercise 8.Y2. However. % two is set to 1.i 112 Chapter 8. and two empty intervals are returned.sup(upper_bound)). i . elseif (inf(X)==0) & (sup(X) > 0) % Case 1 of the text two=0. elseif (inf(X)<0) & (sup(X) > 0) % Case 2 of the text two=1.Inf). avoided in the text. not covered in the text two =1. % (INTLAB represents an empty interval as infsup(NaN. Redo Exercises 8.NaN). Y2 = infsup(NaN. Interval Newton Methods function [Y1. This process is similar to the process for creating and using the list produced in the Skelboe–Moore algorithm through bisection. Y1=infsup(Inf. upper_bound = infsup(1.NaN). % In the case inf(X) = sup(X) = 0. 8.NaN) ) % In cases where there is only one interval.
39. The difference in performance of the two methods can be dramatic. The ﬁrst such work.10) F (X) for the Newton iteration function N (X). 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. 1.0052 ln(109 I ) = 0. In such arithmetics. The extended reciprocation deﬁned here serves well in the context of our univariate interval Newton algorithm. continuing to do nonstop. After one application of X (k+1) = N (X (k) ) ∩ X (k) . and ﬁnd N(X0 ) ⊆ [1. However. c ∈ [2. Newton’s Method in One Dimension 113 In case we wish to ﬁnd intervals containing the roots of a rational function f which has coefﬁcients known only to lie in certain intervals.) Notes . we can put F (X) = X2 − [2.12. (Be sure to choose starting intervals in 1. the extended reciprocation deﬁned here can be considered to contain elements of Kahan arithmetic.1. the interval version practically always converges. Again. exceptionfree arithmetic on these objects. tan 3 π cos θi 2 = sin2 θi − (9/4)−1 cos θi π π . X0 = [1. To ﬁnd the roots of f (x) = x 2 − c that lie in the interval [1. 3] ⊆ [1.3.39. Solve by the Newton method. 2]. 2] = [ 2. 1. 2].76]. 3]} ∩ [1. there are contexts when it is useful to represent both semiinﬁnite intervals resulting from the division as a single object. The oddnumbered transverse electric modes of a glass slab waveguide have permitted incidence angles θi given by [83]. for c ∈ [2. Extended interval arithmetic involving reciprocation or division by intervals that contain zero has been the subject of much discussion and some controversy among experts in interval computation. Exercise 8. Whereas the ordinary Newton method is prone to erratic behavior. we have √ √ {x : x 2 − c = 0. 3]. various systems have been devised for doing computations on objects in which the system is closed under division by intervals that contain zero.i 8. and the interested reader is referred to Moore [152] for speciﬁc examples. we can take an interval extension F which evaluates the range of values of f over the intervals of coefﬁcients and use the more general form F (m(X)) N (X) = m(X) − (8. F (X) = 2X. Find all solutions θi that lie in the interval such a way that singularities are avoided. still widely referenced and the basis of what followed. there are issues of efﬁciency i . 3].11. In particular.76]. 8 2 . Example 8. this permits us to ﬁnd all the zeros of a function in a given starting interval. The current I (mA) ﬂowing in a diode circuit satisﬁes the equation 1 − I − 0. is “Kahan arithmetic” [89]. Exercise 8.
2. trigonometric functions. F (X) Assuming the underlying model is the set of real numbers. ∞]. −1. and 2. some analyses suggest that it is preferable to have a system where. ∞) = 0. ˜ ˜ we have 1/F (X) = 0 · (−∞.) On the other hand. etc. For example. 3. and the Cset evaluation of a set or interval vector is the union of the Csets of the points in the set. In this work. It also provides an unambiguous theoretical guide about how the arithmetic operations and function deﬁnitions (exponentials. ∞). [−1. consider applying the interval Newton method to the function f (x) = sin(π x)/π with starting interval X = [−2. so m(X) = 0. and not the extended reals. For instance. Cset arithmetic. As an example of the difference. Cset arithmetic is compelling from the points of view of simplicity and connections with classical mathematical analysis. these operational deﬁnitions of 0/[−1. ∞]. 1] and 0 · (−∞. and N (X) contains all solutions of f (x) = 0 in X. 0. The Cset. in this case. Interval Newton Methods of the operations when using standards such as the IEEE 745 standard for binary ﬂoating point arithmetic. furthermore. A related controversial issue is whether the underlying set is the set of real numbers or the set of extended real numbers.5]. N (X) does not contain all solutions to f (x) = 0 that are in X. rather than the empty set. as well as issues of sharpness in enclosing exact ranges. −∞]∪[∞. when c = 0 < d. including −∞ and ∞. is developed. Theorem 8. (The solutions are x = −2. suppose we write N (X) as ˜ N (X) = m(X) − F (m(X)) · 1 . There are also issues of consistency and mathematical elegance.5. In such arithmetics. ∞). 2.NaN]. a consistent mathematical system. However. ∞] is returned instead of [1/d. ultimately. and the ultimate standardized representation may differ from that seen in xreciprocal. that is.) should be extended. i . and N (X) = [0.i 114 Chapter 8. The representations in function xreciprocal are presently subject to discussion as part of an effort to standardize interval arithmetic. some view 1/0 as the set [−∞. then we obtain 0/0 = (−∞. 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. the set {−∞} ∪ [1/d. while the exact range of f over X is [−1. A recent work discussing this is [194]. 1.10) becomes N (X) = 0 − 0 . the empty set might be represented by something other than [NaN. Thus. ∞) are implemented in many currently available and proposed systems for doing interval arithmetic. 0]. so N (X) = (−∞.1 is not true with this extension of interval arithmetic. cases 1 and 3 of the reciprocation described above are limiting cases of case 2. The interval evaluation of an expression over an interval vector is then deﬁned to be an enclosure of the Cset of the expression over that interval vector. 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. the iteration (8. 1]. Thus.
the Krawczyk method. representing a third possible context of use. described below. ˜ so N(X) = N (X) = [−∞. (We may then plug [−4. INTLAB returns [NaN. while the Cset of the product 0 · [−∞. 16] = 0. ∞]. 4] = [−3. To study this.NaN] can be interpreted to mean “an undeﬁned result. if such an x exists in [−4. 33 Similar to the “inexact” ﬂag and other ﬂags that are raised in systems conforming to the IEEE 754 standard for binary ﬂoating point arithmetic. 4] satisfying x = (x + 3)2 . 4]. and the above computation correctly gives x ∈ [−3.) We would then have x = x−3. As of the writing of this book. A ﬁnal issue related to interval Newton methods and to the Krawczyk method we present in the next section is how to deﬁne interval extensions of functions over arguments that contain both points inside the domain of the function and points outside the domain of the function. Thus. i . inf ] for 1/[−1. ∞]. One proposal for handling this problem in implementations of interval arithmetic is with a “discontinuous” ﬂag33 that is raised when functions are evaluated over intervals that lie partially outside their domains. −1] ∩ [−4. (Such computations are important in various systems found in practice. if we take an interval evaluation of g over X and the resulting interval g(X) has g(X) ⊂ X. or x = − x−3. and we wanted to ﬁnd a narrower interval than [−4. whence x ∈ [−4. 1] + 3)2 = [−1. −3] ∩ [−4.NaN] for each of 0/[−1. Since g(X) ⊂ X. However. then the Cset of 0/[−1. we can conclude that there is an x ∈ X such that g(x) = x. INTLAB returns the complex interval [−2. −3]. then the narrowest such interval will be g(X) ⊆ [−3. 16]. 1] and 0 · [− inf . a correct result. In this context. −1]. After issuing a warning. 1] is [−∞. 4]2 = [0. −1] or x ∈ [−5. 4] = [−4. [NaN. since [−3. √ √ involving constraint propagation. 2]. ∞]. 2]. if we assume that −∞ and ∞ are numbers in the system. evaluation of an interval extension over an interval that is partially out of the domain will not lead to a practical result in the case of proving existence of solutions but does lead to a practical result in the case of constraint propagation. ∞] must contain the Csets of 0 · −∞ and 0 · ∞. and it is not critical how N (X) is implemented. 4] in which x must lie. suppose we knew that x ∈ [−4. inf ] but returns [− inf .” 4. the set of all limits of x · y as x → 0 and y → ±∞ is [−∞. can be analyzed in terms of the Brouwer ﬁxedpoint theorem. we note that a simpliﬁcation of the Brouwer ﬁxedpoint 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. −1] ∩ [0.i 8. However. we would come to the false conclusion that there is a point x ∈ X such that g(x) = x. 4].) Thus. we conclude that there is no x ∈ [−4. and. that is. 1]. In contrast. if we assume the twopoint compactiﬁcation of R. √ consider g(x) = x − 3 and X = [−4. If we deﬁne g(X) to be an interval that contains the range of g over that portion of X in the domain of g. −1]. 2]i for √ [−2. 4] and that x = (x + 3)2 . −1] into the original equation to obtain x ∈ ([−4. Newton’s Method in One Dimension 115 In contrast. 2] + [−2. We can explain this by noting that g is not continuous over [−2. 32 In fact.1.
150]. fn (x1 .2. Let y be a real vector contained in the interval vector X ⊆ D. (8.2 The Krawczyk Method In this and the following sections. . . . 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). then (8.25)) of g over X about the point y ∈ X is simply34 y − Yf (y) + {I − Y F (X)}(X − y) = K(X). .4 we consider a somewhat more straightforward generalization of the univariate interval Newton method. . if there exists an x ∈ X such that g(x) = x. Namely. or (2) the functions fi have coefﬁcients known only to lie in certain intervals. which we may write in vector notation as f (x) = 0. Each approach has its own advantages. and g maps X into itself. Deﬁne g(y) = y − Yf (y). It is also in K(X). . . We have the following computational test for the existence of a solution [119. if by g (y) we mean the Jacobian matrix of g at y. since Y is nonsingular. Proof (of Theorem 8. we consider the Krawczyk method (ﬁrst introduced for linear systems as (7.25) for each component of f . x ∗ = g(x ∗ ).7)). 34 Here. g(y) = y if and only if f (y) = 0. xn ) = 0. (8. if X is a closed convex subset of Rn . . However. xn ) = 0. We will discuss case (1) ﬁrst and extend the results to case (2). that is.2). then g (y) = I − Yf (y). then there is a solution to f (x) = 0 in x. We can consider two cases: (1) the functions fi are exactly representable realvalued functions.12) has a solution in X. if there is a ﬁxed point of g in x. and both are used in practice. then g has a ﬁxed point x ∗ . .12) is continuously differentiable in an open domain D.i 116 Chapter 8.11) In this section. Deﬁne K(X) by K(X) = y − Yf (y) + {I − Y F (X)}(X − y). Interval Newton Methods 8. Then. Therefore.13) we have (6. while in section 8. If K(X) ⊆ X. . Theorem 8. An early work containing the proof of this theorem is [150]. x ∗ ∈ X. Thus. Suppose that f in (8. the mean value extension (see (6.12) (8. . or a speciﬁc instance of the Schauder ﬁxedpoint theorem. The proof is based on a generalization of the Brouwer ﬁxedpoint theorem. we consider ﬁnite systems of nonlinear equations f1 (x1 . deﬁned on interval vectors X ⊆ D. i . Suppose that we can compute inclusion isotonic interval extensions F and F for f and f .
for an ncube X. Z (k) = X (k) − m(y (k) ). Consider the system of equations 2 2 f1 (x1 . −2X2 i . .14) is satisﬁed. . then g(X) ⊆ X. . 2 F2 (X) = X1 − X2 . . . (8. then K(X) lies in the interior of X if K(X) − m(X) < w(X)/2. x2 ) = x1 − x2 = 0.17) For the interval extensions F and F . Then the system (8. If the interval vector X = (X1 . The Krawczyk Method 117 Thus. (k = 1. and the following algorithm converges to the solution [150.). that is. so g has a ﬁxed point in X.17) in interval arithmetic: 2 2 F1 (X) = X1 + X2 − 1. Y (k) = if I − Y F (X ) ≤ I − Y (k−1) Y otherwise. is also sufﬁcient to guarantee convergence of the interval Krawczyk method. x2 ) = x1 + x2 − 1 = 0.14) is sufﬁcient for the existence of a solution to (8.16) and (8. . and if we choose y = m(X). .16) For f we have the Jacobian matrix f (x) = 2x1 1 2x2 . so f (x) = 0 has a solution in X. and Y a nonsingular real matrix. . simply evaluating (8. K(X) must contain the range of g over X. and where Y (k) is chosen as Y. 2.14) Thus. Suppose (8. 2 f2 (x1 . . −2x2 (8. (8.4.12) in X.14). 151]: X(k+1) = X (k) ∩ K(X (k) ) 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) ). . which can be veriﬁed computationally by evaluating K(X).i 8. Y (0) = Y and consider an arbitrary real vector x (0) in X (0) . n.11) has a unique solution in X. Put X(0) = X. Thus. . an approximation to [m(F (X (k) ))]−1 (k) (k−1) F (X (k−1) ) . we can take the natural interval extensions of the corresponding real rational functions. (8. Theorem 8. y = m(X). Let X be an ncube. Xn ) is an ncube so that w(Xi ) = w(X) for i = 1. if K(X) ⊆ X. The same condition (8. Example 8. g(X) ⊆ K(X).15) (8.2. and F (X) = 2X1 1 2X2 .3. the hypotheses of the Schauder ﬁxedpoint theorem hold.
0.dx)).29 −0. −1. the hypotheses for Theorem 8.8]. Interval Newton Methods Suppose we decide to try X = ([0. K(X) ⊆ ([0. we have m(F (X)) = m([1. [0. and % that f is the desired function in an "m" file that returns % a column vector. we ﬁnd from (8. is used.0). % First compute f(y) using interval arithmetic to bound % roundoff error n=length(X). with base point y.f) % [KX] = Krawczyk_step(X.8]) 1.iy).75)T = m(X).15) converges to a solution of (8.6]) m([1.6. [0. INTLAB Implementation The Krawczyk method can be implemented in INTLAB with the following mﬁle: function [KX] = Krawczyk_step(X. It is the user’s % responsibility to ensure that X is an interval column vector. 0. we will take Y = 0.5 As an approximate inverse of this matrix.43 .84])T .8]. 0.5.18) Putting y = (0. 0. 1]) m([1. Y = inv(mid(FXg.68]. % since the "gradient" automatic differentiation toolbox.5 . % Now compute F’(X) and the preconditioning matrix Y Xg = gradientinit(X).fprime) returns the image of X % from a step of the Krawczyk method.13) for the 2cube X.5.f. 0.65. fy = feval(f. [0.15. i .16) using Y given by (8. 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 K(X) − m(X) = 0. The iterative method (8.37 (8.16). % that y is a noninterval column vector contained in X.8.9])T . 1. and using IA converges in a ﬁnite number of steps to an interval vector containing a solution of (8.Xg).i 118 Chapter 8.2.2]) 1 1.091 < w(X)/2 = . 0.3 are satisﬁed. iy = midrad(y.6.9])T . Then. 1. FXg = feval(f.3 = m([−1. 0. % distributed with INTLAB. 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).18) from X (0) = ([0.y.y. It produces a nested sequence of interval vectors containing the solution. −1.43 0.74. 0.559.
0.9)] intval X = [ 0.76 x1 −103.5x2 + 1. x2 ) = x1 − x2 . The Krawczyk Method 119 % Finally.. there is no need to explicitly program the Jacobian matrix.4.2(−x1 − 1.i 8.74427536231884 .62 x1 −226. The MATLAB command window dialogue can then be as follows: >> X = [infsup(.4 with f2 replaced by f2 (x1 . x2 ) of a certain nonlinear system is described by the differential equations [110] dx1 = 0.dx) * (X . 0..31 x1 +83.2).Y*fy + (eye(n. f(2) = . then % Matlab represents f as a row vector by default. dt I− V − 10−9 eV /0..6. and one % must take f=f’.y. Using INTLAB.750000000000000 >> Kx = Krawczyk_step(X. we supply the following mﬁle: function [f] = example8p4(x) % [fx] = example8p4(x) returns the components f_1 and f_2 % for Example 8.’example8p4’) intval Kx = [ 0. i .x(2)ˆ2]. 20 2 3 4 5 where h(x1 ) = 17. Find I and V using INTLAB.80000000000001 ] [ 0.1 x(1) . Use the Krawczyk method within INTLAB to ﬁnd the system’s critical points. 0.79 x1 +229.n) .y). The state (x1 .55978260869565 .) f = [x(1)ˆ2 + x(2)ˆ2 ..13.4 of the text in f.5. It is important that % the return value f be a column vector.90000000000001 ] >> y = mid(X) y = 0.. dt dx2 = 0.83036231884059 ] Exercise 8.052 = 0.8) infsup(. (If f is defined % by componentwise assignment f(1) = . An electric circuit is described by the equations 20 − 20I − V = 0.50000000000000 .14... 0. Since INTLAB’s gradient package is used in Krawczyk_step.15. repeat Example 8.67717391304348 ] [ 0.. Exercise 8.59999999999998 .m.Y*FXg.2. compute the actual Krawczyk step KX = y . To use Krawczyk_step to do the computations above for Example 8. Exercise 8.72 x1 .650000000000000 0.5[−h(x1 ) + x2 ].
7861 .78615137775743 ] Exercise 8.78615137775742 . see [219] and [221].11) have coefﬁcients known only to lie in certain intervals. Moore derived the normbased existence test in Theorem 8. Epsiloninﬂation is used to obtain both tight rigorous error bounds and a large region in which a solution is unique. we might have the following command window dialogue: >> Solution = verifynlss(’example8p4’. If the semicolon is removed from the end of a line in an mﬁle.4.15) by F (y (k) ). Later.) Remove semicolons from Krawczyk_step. Try using verifynlss to ﬁnd narrow bounds in which each solution in Example 8. also in [218]. (If there is more than one computation on a line. Rump has embodied these ideas in the mﬁle verifynlss. We replace f (y (k) ) in (8. it begins with a ﬂoating point guess for the solution. Redo Exercise 8.15). .3. an “epsiloninﬂation” process.3. Krawczyk originally proposed his method as an iterative method for obtaining narrower bounds on a solution.61803398874990 ] [ 0.i 120 Chapter 8.11 from section 8. 0. Afterward.17 with the simpler routine Krawczyk_step.dx enter into the formula as you iteratively call Krawczyk_step several times.) Exercise 8.7862 ] >> format long >> Solution intval Solution = [ 0.m and run it. the separating semicolons can be replaced by commas to have MATLAB print those results in the command window. once initial bounds were known.14) now implies that the system (8. supplied with INTLAB.65.6180 .16. Example 8. and Exercise 8. Repeat Exercise 8.4.61803398874989 . verifynlss uses ﬂoating 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. and Exercise 8. For details of the mathematical background for verifynlss. without needing to compute matrix norms.[.18. without modifying example8p1.1.8. given an approximate solution. Exercise 8.11) has a solution in X (perhaps a set of them) and that i . we can still use the algorithm (8.m.15 are proven to be unique. commonly used today. For instance.14.17.19. fy. Interval Newton Methods Exercise 8. Exercise 8. and the condition (8. In case (2) mentioned at the beginning of this section. 0. 0. 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 coefﬁcients and such that f (x) is contained in F (X) for every choice of real constants from the interval coefﬁcients and for every x in X. To use verifynlss in Example 8.1 using Krawczyk_step and using verifynlss. then MATLAB prints the result of the computation on that line in the command window.6181 ] [ 0. 0. so you can see the intermediate results displayed above for Example 8.4. in [218].75].’g’) intval Solution = [ 0. (This will probably involve calling Krawczyk_step repeatedly. ’example8p1’ can be used as an argument for either of these. and FXg. Both Krawczyk_step and verifynlss can be used directly for the univariate examples in section 8. In this case. Rump showed that K(X) ⊂ X implied there is a unique solution within X. when the functions fi in (8. was introduced. Observe how y.
(8. can be extended to systems of nonlinear equations. with K(X) deﬁned by (8. Y (0) = Y . if K(X) ⊆ X. and it is also in K(X). equivalently if K(X (0) ) ⊂ X(0) .11) in X for any choice of the real coefﬁcients from the given interval coefﬁcients.12). For the derivative of f (x).i 8.13). is a nested sequence and converges in a ﬁnite number of steps (using IA) to an interval vector containing all the solutions to (8.14) holds. cos2 sin x (cos x) 3 π cos x 2 (8. (8. Thus we can compute bounds on the set of possible solutions in X. Example 8. We can rewrite the equation in the form f (x) = 0.5. From Theorem 8. It follows that if K(X) ∩ X is empty. Safe Starting Intervals 121 the sequence of interval vectors generated by (8. Furthermore.19) From Theorem 8. so there is a solution in the intersection K(X) ∩ X. using x instead of θi . if K(X(0) ) is contained in the interior of X (0) . there is no solution in X: K(X) ∩ X = ∅ =⇒ no solution in X.3. there is a solution in X.20) In searching within a region B of interest. K(X (0) ) ⊂ X(0) =⇒ a solution is in K(X (0) ).15). where f (x) = cos(x) tan 3 π 2 cos x − (sin x)2 − 4 .21) sin x 5 − 9 cos2 x i . We reconsider Exercise 8. the extended deﬁnition of interval division discussed following Exercise 8.20) holds.12 to illustrate how we can ﬁnd safe starting intervals. We are interested in ﬁnding all solutions that lie in the interval [ π .3 Safe Starting Intervals A safe starting interval for the interval Newton method is an X (0) from which the method (8. that is. π . which splits an interval and produces a gap containing no solutions. X(0) is a safe starting interval if (8. we can delete any part of B for which (8.3.3. we ﬁnd that f (x) = − tan − 3√ 3 π 2 cos x (sin x) − 3 π 2 cos x. 8. starting with X (0) = X.11) or (8.2. 9 The problem presents the interesting challenge that f (x) is not deﬁned on all of the interval of interest π . where we would like to ﬁnd solutions.15) converges to a solution of a given nonlinear system of the form (8. 8 2 We can ﬁnd the expression for K(X) = y − Yf (y) + {I − Y F (X)}(X − y) for this example as follows. π ] to the 8 2 equation tan 3 π cos θi 2 = sin2 θi − (9/4)−1 cos θi .
3 π 2 3 π 2 cos x = sin cos x / cos cos x . and X = − 1 . In this case. √ First. π ) given by 8 2 x ∈ cos−1 ( Furthermore. K(X (0) ) ⊂ int(X(0) ) =⇒ convergence to the unique solution in X (0) . . 1 2 2 3/2 by ignoring the part of X where x 3/2 is undeﬁned. π for 8 2 several reasons. 1. it is useful in some types of interval systems to produce interval values even if part of the domain interval X lies outside the domain of the function. . . .309585 ± 5(10−7 ) starting with X = [1. 1 .]. these are the intervals 3 2 = [0.230959417 . K(X(0) ) ∩ X (0) = ∅ =⇒ no conclusion. cos−1 ( 1 )] 9 3 and [cos−1 ( 1 ). . where int(X (0) ) denotes the topological interior of the box X(0) .20) above. For example. Aberth’s RANGE found the zero x = 0. 1. 1. .57] and found that there are no further zeros in those starting intervals. then we 2 2 might evaluate − 1 . .570796326 .i 122 Chapter 8. This happens for 2 2 x = cos−1 ( 1 ) = 1. Note.76551 ± 5(10−6 ) starting with X = [0.7297276562 . 1. tan 3 π 2 5 ).21) for proper subintervals of one or the other of the two intervals [cos−1 ( 5 ). 3 2 In fact. .] cos−1 ( and 5 1 ). using tests such as (8. . However. if we have y = x 3/2 − 1/2. the term 5 − 9 cos2 x deﬁnes only a realvalued function for values of x such that 5 − 9 cos2 x ≥ 0.2] and the zero x = 1. Interval Newton Methods We cannot evaluate the natural interval extension of f (x) for the interval X = π .7297276562 .21) have cos( 3 π cos x) in the denominator.]. we can bisect X (0) and process each half separately. π = [1. (0) 3. and 2 there is a division by 0 in those two terms for x such that 3 π cos x = π . .25. cos−1 ( 3 ) 9 cos−1 ( 1 ).570796326 . . K(X (0) ) is not deﬁned. . 1.. . 4. π = [0. For any given trial box X (0) . 2. including the following: 1. . 1. there are various things that can happen. . In fact. π ]. . This will be the case only if cos2 x ≤ 5 . . .73.19) and (8. we are restricted to 8 2 values of x in the subinterval (of π . but we can restart with XNEW = K(X (0) ) ∩ (0) X . thus obtaining i .570796326 . To 10 places. . K(X(0) ) ⊂ int(X(0) ) =⇒ there exists a unique solution to f (x) = 0 in X only if f is continuous over X.]. . This already restricts x to a 9 subinterval of π . which is in our interval of interest.230959417 . K(X(0) ) ∩ X (0) = ∅ =⇒ no solution in X(0) . so both the ﬁrst and second terms in (8.230959417 . . π 9 2 = [0. Thus we can only 3 evaluate an interval extension of (8. .3926990816 .
indeed.2. 1.) Exercise 8.7). (If you have verified_existence_and_uniqueness. Issue the command sqrt(infsup(1. and x 3/2 − 1/2 ⊆ [−0.i 8. if we were looking at ﬁxedpoint iteration xk+1 = g(xk ) with g(x) = x 3/2 − 1. then the computation would seemingly prove that g(X) ⊆ X. then y ∈ [−0. to the command window. Exercise 8.22) i . The inline documentation style in your routine should be the same as the style in the INTLAB examples in this text. 0.1464]. that is. Exercise 8.1464].is_verified] = verified_existence_and_uniqueness(X.5. Multivariate Interval Newton Methods 123 X 3/2 ⊆ 0.22. the only solution to g(x) = x lies in [1. in [194]. −0. 2−3/2 ⊆ [0. However.1913.5) f (y) − f (x) = A(y − x) (8. (8.4 Multivariate Interval Newton Methods An alternative to the Krawczyk method can be developed more closely analogously to the univariate case. and you type help verified_existence_and_uniqueness then MATLAB prints all comment lines. 8. Pryce proposed that systems implementing interval arithmetic perhaps allow evaluation over partial ranges.3536].6).1917]. but raise a discontinuous flag if the function is not deﬁned over part of the range. Write a routine [narrower_X.12). −0. such as in MATLAB’s working directory. 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.21.20. leading to the false conclusion that g has a ﬁxed point in X. and (8. In particular.11). The problem is that the ﬁxedpoint theorem “g(X) ⊆ X =⇒ exists x ∈ X such that g(x) = x” has “g is continuous over X” as one of its hypotheses. Explain what INTLAB returns. (8.5). we have the following analogues to (8. First.5. Is that a reasonable alternative for handling this case? Would this lead to incorrect conclusions concerning existence and uniqueness? 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. There had been discussion in the interval community about this for some time. A correct conclusion would be that if y = x 3/2 − 1. all lines beginning with % up to the ﬁrst blank line.17. Compare the output from your routine to the output from verifynlss for the problems you tried in Exercise 8.m in MATLAB’s search path. and Theorem 8.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. Use either Krawczyk_step or verifynlss to compute narrow bounds on the two solutions in Example 8. using the notation for f and F from (8.1)) in INTLAB. (8.4.5.
but doing so in (8. where A is a matrix whose ith row is of the form35 Ai. 96) can be used to bound the solution set to F (X)v = −F (y). where V bounds the solution set to F (X)v = −F (y). Suppose f has continuous partial derivatives over X and F (X) is an elementwise interval extension to the Jacobian matrix of F over X.25). 91) or the interval Gauss–Seidel method (as on p. N(X(0) ) ∩ X (0) is the union of two boxes.i in (7. and the four possibilities listed on p.6) for every x and y in the domain of f . analogous to Theorem 8. the Krawczyk method (thought of as a method for solving linear systems. then A(y − x) = f (y). most notably in the classic advanced text [50].8).4. This notation has been adopted in much literature on numerical linear algebra. .7 in [167]. A(i. For example.22). 35 This “colon” notation is what MATLAB uses to access rows and columns of matrices. Although that can be done clearly if not in a unique way (see [167]).3. if F (X) is an elementwise interval extension of the Jacobian matrix over some box X that contains both x and y. we can process each of these two boxes separately. . usually not known explicitly. In general. N(X) here is the multidimensional analog to (8. 122 are valid with N (X) replacing K(X). necessarily.24) x = y − A−1 f (y). while A(:. In addition. the analog to (8. ∂x1 ∂xn where ci ∈ Rn is some point.6) is (8.25) Thus. Theorem 8. then a denominator Gi. For instance. . A is not the Jacobian matrix F (c) for any particular c ∈ Rn . That is.24) would require us to deﬁne F (X)−1 for interval matrices F (X). and we have a ﬁfth possibility: 5. as on p. However. (8. A ∈ F (X). (ci ) . Assuming for the time being that A is nonsingular. In (8. where V is computed by any method for enclosing the solution set to the linear system F (X)v = −F (y). then. (8. as a column vector.8).1.i 124 Chapter 8. we replaced f (s) by F (X) to obtain the interval Newton operator (8.10) could contain zero. If we assume f (x) = 0 in (8. i . Then N(X) ⊂ int(X) =⇒ f has a unique solution in X that is also in N (X). is a special case of Theorem 5. the following theorem.j) produces the j th column of the matrix A. to keep our explanation simple we elect instead to note that x ∈ N(X) = y + V . .:) produces the ith row of the matrix A (as a row vector). if we use the interval Gauss–Seidel method or something similar.6).23) which is the analog of (8.: = ∇ T fi (ci ) = ∂fi ∂fi (ci ). where A takes the place of f (s). Interval Newton Methods corresponds to (8.5). on the line between x and y. 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). Suppose y is any point in X and suppose N(X) is as in (8.
9)] intval X = [ 0. % otherwise.i 8. is used. If error_occurred = 1. the following nonlinear_Gauss_Seidel_image function can be used in place of the Krawczyk_step function on p. % Compute the initial V V = Xy. % distributed with INTLAB. 0. with base point y.6.error_occurred] = nonlinear_Gauss_Seidel_image(X.9000 ] >> y=mid(X) y = 0. % since the "gradient" automatic differentiation toolbox. and % that f is the desired function in an "m" file that returns % a column vector. Multivariate Interval Newton Methods 125 For example.y.is_empty. no image NX is returned.8000 ] [ 0.8).. infsup(. 118: function [NX.4 using the interval Gauss–Seidel method as implemented in nonlinear_Gauss_Seidel_image to bound the solution to the system of linear equations.0).y. fy = feval(f. It is the user’s % responsibility to ensure that X is an interval column vector. Example 8. We will redo Example 8.’example8p4’) i .dx. % Now.. NX = y+new_V.4. fy.5000 . error_occurred] = nonlinear_Gauss_Seidel_image(X. % Now compute F’(X) and the preconditioning matrix Y Xg = gradientinit(X).Xg). FXg = feval(f.error_occurred] = nonlinear_Gauss_Seidel_image(X. where % the function is programmed in the function whose name is in % the string f.error_occurred] = Gauss_Seidel_image(FXg. % First compute f(y) using interval arithmetic to bound % roundoff error n = length(X). V). % that y is a noninterval column vector contained in X.6500 0.5999 . error_occurred = 0 is returned. iy = midrad(y.f) % returns the image of X from a single sweep of the nonlinear % GaussSeidel method.7500 >> [NX. We obtain >> X = [infsup(. 0.y.6. do the GaussSeidel sweep to find V [new_V.f) % [NX.iy).5. % There is no need to program the Jacobian matrix.
7702 .6172 .i 126 Chapter 8. For this example. this is due to intrinsic mathematical properties of the Krawczyk method and the Gauss–Seidel method.1999.6499 .18): >> X = [infsup(. 0.3700 i .8000.9)] intval X = [ 0.6.7850 .y.8).6176 ] [ 0. 0.5000 . intval X = [ 0. 1..0000 . . infsup(. 0.7853 ] >> [NX. 0.43 .4300 0. 1.43.5999 . error_occurred] = nonlinear_Gauss_Seidel_image(X.1500 ] >> Y = [.37] Y = 0.1501 . 0.6588 ] [ 0. . To see this.1999 ] >> fy = [y(1)ˆ2 + y(2)ˆ21.6500 0. 0.6179 ] [ 0.4300 0.y(1)y(2)ˆ2] fy = 0. 0. This is true in general. 0.7848 .0000 . 0.29 .8000 ] [ 1.6501 ] [ 0.7501 ] >> V = Xy intval V = [ 0.’example8p4’) intval NX = [ 0.8130 ] error_occurred = 0 .1500 ] [ 0. 0. we can redo the computation with the loose approximation (8.2900 0. the result occurs in [167] (and possibly earlier). 0. Interval Newton Methods intval NX = [ 0..9000 ] >> y=mid(X) y = 0.6000] [ 1. 1.18) is only an approximation. not to the fact that the matrix Y in (8.0000] [ 1.5.0875 >> y = midrad(y.8000 ] [ 0.1501 .7499 .6175 .5687 .0150 0.7500 >> fprimex = [2*X(1) 2*X(2). 1 2*X(2)] intval fprimex = [ 1. 1.0) intval y = [ 0.7851 ] error_occurred = 0 Observe that the image after the ﬁrst iteration is contained in the corresponding image after the ﬁrst iteration of the Krawczyk method. 0. .
can be found in [97]. 421].. p. along with details concerning a very early version of GlobSol (which was called intopt_90).0076 ] intval denom = [ 0. denom] .1181 ] >> new_X(1) = y(1)+new_V_1 intval new_X = [ 0. V) intval new_V_1 = [ 0. 0. Concluding Remarks >> [new_V_1. publicly available. In [257]. we left y arbitrary other than y ∈ X. 36 One place where this theorem is stated is [188. A brief description of the history and capabilities of GlobSol can be found in [104]. but here. A selfcontained.0813 . In the univariate case. Shen and Wolfe study slope enclosures and show that. 8. In [219]. in using them in the Krawczyk method. i . the interval Gauss–Seidel operator.0088 ] intval V12 = [ 0. easily installed version of GlobSol (distributed with a copy of the GNU Fortran 95 compiler) for MS Windows is available. GlobSol implements a branchandbound method in combination with computational existence and uniqueness based on a multivariate interval Newton method to ﬁnd all global optimizers of unconstrained or constrained optimization problems or (with conﬁguration variable NONLINEAR_SYSTEM set to .) all solutions to nonlinear systems of equations within a particular box.8599 . Rump discusses this and explains an efﬁcient twostage method whereby slopes can be used to prove both existence and uniqueness. 1. to systems of nonlinear equations. with mathematical rigor. It is possible to use a slope matrix (see p.5 Concluding Remarks See Hansen and Walster [57] (especially their Chapters 9 and 11) for a thorough discussion of interval Newton methods for nonlinear equations and nonlinear systems of equations.6588 ] 127 Note We have stated the multidimensional interval Newton method somewhat more generally than the univariate one. we ﬁxed the base point y to be the midpoint of X. 0.1501 .36 However. 72) instead of a componentwise extension to the Jacobian matrix in the interval Newton method.i 8. A treatment of the theory underlying the Krawczyk operator.. Some of our work. A number of experts in interval computations have produced software that automatically ﬁnds all solutions. = gauss_seidel_step(1.1500 ] there_are_2 = 0 intval num = [ 0. V12. In fact. The system of equations or optimization problem is provided to GlobSol in the form of a Fortran 90 program. fy. is GlobSol. there_are_2.0699 . 0.5.fprimex. the method has higher existenceproving power than the Newton–Kantorovich theorem.:). while an indepth description of some of the techniques in GlobSol.TRUE. num. if slopes are used in interval Newton methods. and there may be some advantages to choosing y other than m(X). the only requirement for the univariate case is also y ∈ X. Interestingly. 0.Y(1.5687 . the hypotheses of the Newton– Kantorovich theorem can be veriﬁed using interval arithmetic. uniqueness is lost. and other aspects of interval techniques for linear and nonlinear systems appears in [167].
the next chapter will use interval evaluations to bound error terms. i .i 128 Chapter 8. for numerical integration with veriﬁed error bounds. Interval Newton Methods 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.
etc.i Chapter 9 Integration of Interval Functions In this chapter we introduce the interval integral F (t) dt [a.2) [a. Lemma 9. whose origins date to the appearance of modern computers [92]. According to the mean value theorem for integrals. where X = [a. then f (t) dt ∈ f (X)w(X). 9. we outline some relationships between interval integration and the other. We typically denote the ordinary deﬁnite integral b f (t) dt a by either [a. we can write f (t) dt = f (s)(b − a) for some s ∈ [a. b]. Lebesgue. 200].b] f (t) dt or X f (t) dt.1 Deﬁnition and Properties of the Integral Let us begin with a realvalued continuous function f . (9. b].). so the lemma follows. We also revisit the subject of automatic differentiation.1.1) Proof. which appeared in the context of interval analysis in [157]. If f is continuous in X = [a. more familiar types of integration (Riemann.b] and use it to compute enclosures for the deﬁnite integrals of realvalued functions. Finally. b]. 54. and which is an extensive subject in its own right [21. 129 i . X (9.b] But f (s) ∈ f (X).
i 130 Chapter 9. there is a constant L. f (t) dt ∈ F (Xi )w(Xi ) Xi (i = 1. .1. Suppose f ∈ FC1 (X0 ) and F is an inclusion isotonic. Lipschitz. We have N N N w i=1 F (Xi )w(Xi ) = i=1 w(F (Xi ))w(Xi ) ≤ L i=1 w(Xi )2 as desired. . Because f¯(X) ⊆ F (X). .3) Furthermore. we have f (t) dt ∈ F (X)w(X) for all X ⊆ X0 X (9. . XN so that a ≤ X1 < X1 = X2 < X2 < · · · < XN = b.b] f (t) dt ∈ i=1 F (Xi )w(Xi ). (9. by Deﬁnition 6. i . This and the additivity property N [a. (9. (9. independent of both N and the mode of subdivision.5) by Lemma 9. Then N [a. . b] ⊆ X0 into N subintervals X1 . .6) yield (9. Finally. N ). b] with w(Xi ) = (b − a)/N deﬁne N (i = 1.1.8) We have the following theorem. Integration of Interval Functions Theorem 9. .b] f (t) dt = i=1 Xi f (t) dt (9.3). such that N N w i=1 F (Xi )w(Xi ) ≤ L i=1 w(Xi )2 . Therefore. For a uniform subdivision of [a.7) SN = SN (F . . interval extension of f with F (X) deﬁned for all X ⊆ X0 . b]) = i=1 F (Xi )(b − a)/N. b] ⊆ X0 . . there is a constant L such that w(F (X)) ≤ Lw(X) for all X ⊆ [a. (9. N ). .1. . Let N be a positive integer and subdivide [a. . [a.4) Proof.
N →∞ (9.) is nested and converges to the value of the integral. If [a. with the value of the integral lying in every SN by (9. for real t.b] k+1 [a. [a.b] Example 9. We deﬁne the interval integral [a. It follows from Lemma 6. By (9.b] = A − a k+1 bk+1 − a k+1 .4) becomes w(SN ) ≤ L(b − a)2 /N. b]).5 that the sequence of intervals deﬁned by Y 1 = S1 . [a. we ﬁrst note that. .1. Yk+1 = Sk+1 ∩ Yk (k = 1. Moreover. By (9. k+1 b i . Deﬁnition 9. the width of F (t) may not be zero for real t.11) It follows from the continuity of F that there are two continuous realvalued functions F and F such that. F (t) = F (t). 2.12) [a. while F (t) must be realvalued for a Lipschitz interval extension F .b] F (t) dt .b] A t k dt [a. where A = A.1. The interval polynomial enclosures discussed later have interval number coefﬁcients. (9.7). [a. w(SN ) → 0 as N → ∞. A and k is a positive integer.12) we have F (t) dt = A t k dt . F (t) .A k+1 k+1 k+1 k+1 −a b =A . the sums SN (F . We have ﬁnite convergence if IA is used. the integral deﬁned by (9.9) Proof.11) is equivalent to F (t) dt = F (t) dt . However.b] F (t) dt = ∞ N =1 SN (F . this is not true for all useful inclusion isotonic interval functions.2. For real arguments t (degenerate intervals [t. .1. the values of F (t) may be real numbers or intervals. Suppose that an intervalvalued function with values F (X) is continuous and inclusion isotonic for X ⊆ X0 . t]).b] [a.8) are well deﬁned. [a.3). [a.2 to deﬁne the integral of an intervalvalued function of a real variable t. In such cases. We can use Theorem 9. b]) = lim SN (F . (9. b] ⊆ X0 . [a.10) Therefore. inequality (9. b]) given in (9. .b] 131 f (t) dt = ∞ N =1 SN (F . (9. Deﬁnition and Properties of the Integral Theorem 9. [a.i 9. b]). Suppose 0 < a < b and let F (t) = A t k .
end % Now compute the sum S_N = feval(strfun. 0.f. Rework Example 9.3344 ] i . % h represents w(X_i) as in (9.N) % computes the sum defined in (9. to compute bounds on the MATLAB command window: [0.Xs(1)).8) can be done with a routine that is similar in structure to the routine refinement on p. for i=1:N xip1 = x1 + i*h. We obtain function S_N = integral_sum(X.1.1 for the case where a < 0 < b and k is an odd positive integer.1).5) intval value = [ 0.N) % Y = S_N = integral_sum(X. % First form the N subintervals h = (midrad(sup(X).500) intval value = [ 0. % The computations above and below should be done with intervals % so roundoff error is taken into account.3323 .0).0))/midrad(N.4401 ] >> value = integral_sum(infsup(0.sup(xip1)).i 132 Chapter 9. 0. Xs(i) = infsup(inf(xi). xi = midrad(inf(X).1).3435 ] >> value = integral_sum(infsup(0.0).’xˆ2’.Xs(i)). we use the internal MATLAB helper routine fcnchk that allows us to pass either a string deﬁning the function or a string giving the mﬁle deﬁning the function. x1 = xi. xi = xip1.1] x 2 dx.f. 56.50) intval value = [ 0. we might have the following dialogue in >> value = integral_sum(infsup(0. if N > 1 for i=2:N S_N = S_N + feval(strfun.2399 . For example. end end S_N = S_N * h.1). Additionally. We will discuss the integration of interval polynomials in the next section.8) of the text. strfun = fcnchk(f).’xˆ2’. 0. Integration of Interval Functions Exercise 9.3233 .7) of the text. Computation with INTLAB The computation in (9.0)midrad(inf(X).’xˆ2’. except that w(Xi ) needs to be computed with interval arithmetic to take roundoff error into account.
3335 ] 133 Just as Riemann sums are not the most efﬁcient or accurate way to approximately evaluate integrals using ﬂoating point arithmetic. Exercise 9.b] In other words. (9.2. If you have Aberth’s RANGE software.2 using that software.8) is not the most efﬁcient or sharpest way to obtain bounds on an interval integral. www. Prove (9.4.13) [a. b]. then F (t) dt ⊆ G(t) dt. We will explain some of the more advanced techniques later in this chapter. efﬁcient implementations of more sophisticated methods to get sharp bounds for the interval integral exist. Exercise 9.siam.5.13). Use integral_sum with various N to compute bounds on the following integrals: (a) the elliptic integral of the ﬁrst kind F (k. [a. 1. (b) the Fresnel sine integral f (x) = x 0 φ 2 0 (1−k sin2 t)−1/2 dt with parameters sin(t 2 ) dt at x = 100.i 9. Ai ] for i = 0. If a and b have the same sign.1). then P (t) dt = A0 (b − a) + · · · + Aq (bq+1 − a q+1 )/(q + 1).org/books/ot110.1 shows that care must be taken when integrating powertype functions having interval coefﬁcients. q.2. For instance.3. . in part because that execution of explicitly programmed loops in MATLAB is much slower than in compiled languages.b] 37 See the web page for this book. Here we will summarize the results for an interval polynomial of the form (9. interval integration preserves inclusion. Exercise 9. 9. i . repeat Exercise 9. Integration of Polynomials >> value = integral_sum(infsup(0. where t is real and Ai = [Ai . 0. the call above to integral_sum with N=5000 took a noticeable amount of time.b] (9.’xˆ2’.14) P (t) = A0 + A1 t + · · · + Aq t q .2 Integration of Polynomials Exercise 9.3332 .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. φ) = φ = 2π and k = 0. However.5000) intval value = [ 0. There are two cases: Case 1. . . . [a.
. % and Cloud. I = I + A(i)*(ibˆi . + A(q+1) xˆq.. If a < 0 < b.0). ia = midrad(a.0) ub = ( midrad(sup(A(i)). Note that for “real” (degenerate interval) coefﬁcients Ai .i 134 Case 2.0) T_i = infsup(inf(lb). with Ai = Ai .0).iaˆi)/midrad(i.0). (Ai bi+1 − Aa i+1 )/(i + 1) . for i=1:q+1.2) T_i = A(i)*(ibˆiiaˆi)/midrad(i.. then [a.sup(ub)). where Ti = Ai (bi+1 − a i+1 )/(i + 1).A) returns the interval integral % over the interval X of the polynomial with interval coefficients % given by A(1) + A(2) x + . ib = midrad(b. end else I = midrad(0. / midrad(i. end I = I + T_i.0).0) * ibˆi. (Ai bi+1 − Aa i+1 )/(i + 1) . b = sup(X).0) * iaˆi ). else lb = ( midrad(inf(A(i)). a = inf(X).0)... q = length(A)1. Kearfott. / midrad(i. midrad(inf(A(i)). if mod(i..b] Chapter 9.2 of the text by Moore. INTLAB Implementation The following MATLAB function implements the above formulas: function I = interval_poly_integral(X..0) * ibˆi ..0) * iaˆi ) .. both cases reduce to the usual formal integration of polynomials. end end i . i odd.A) % I = interval_poly_integral(X. i even. midrad(sup(A(i)). Integration of Interval Functions P (t) dt = T0 + T1 + · · · + Tq . if ( (a >=0) & (b >=0) )  ( (a <=0) & (b <=0) ) I = midrad(0. for i=1:q+1.. using the % formulas given in Section 8.0).
Polynomial Enclosure. Let T0 be an interval and x a realvalued function of the real variable t.b] Broadly speaking.16) x(t) = x(t0 ) + x (s)(t − t0 ) for some s between t and t0 . We have (9. the approach is to (1) enclose f (t) with a suitable interval function G(t) and then (2) integrate G(t). The present section is devoted to step (1)—the deﬁnition and efﬁcient computation of useful function enclosures. b] is an interval enclosure of x. 2] + [−3. Hence.3. We carry out this procedure in section 9. If X(t) = x(t) for all t ∈ T0 . i .e.2 takes the form (9. Note that X(t) in (9. having the property that (9. Suppose x(t) is continuously differentiable on T0 and that X (T ) is an inclusion isotonic interval extension of x (t).2. Deﬁnition 9. it may be a nondegenerate interval for each value of t.15) x(t) ∈ X(t) for all t ∈ T0 . Suppose x(t) satisﬁes a ≤ x(t) ≤ b for all t ∈ T0 .5. 0.3.3. Example 9. i.3 Polynomial Enclosure and Automatic Differentiation The main goal of this chapter is to discuss the computation of enclosures for the values of deﬁnite integrals such as f (t) dt.2.5]x 2 dx. then X is an inclusion isotonic interval extension of x. It follows that X(T ) = x(t0 ) + X (T0 )(T − t0 ) is an interval enclosure of x. This latter case will hold if X(t) takes the form of a polynomial in t with interval coefﬁcients. Try interval_poly_integral to compute [1.14). 135 [−1. 4]x + [−0.14). the form (9. with X(T ) deﬁned for all T ⊆ T0 . x(T ) ⊆ X(T ) for all T ⊆ T0 . for any t0 ∈ T0 .i 9.15) is not necessarily real. Automatic Differentiation Exercise 9. Deﬁnition 9. Example 9. it is called an interval polynomial enclosure of x. An interval enclosure of x is an inclusion isotonic intervalvalued function X of an interval variable T . (9.17) x(t) ∈ X(t) = x(t0 ) + X (T0 )(t − t0 ) for all t ∈ T0 . If X(t) in Deﬁnition 9.4. Then the constant interval function X(T ) ≡ [a. 9.1] Check the result by hand.. The intervalvalued function X(t) of the real variable t is an interval polynomial enclosure of x. with x(t) deﬁned for all t ∈ T0 . By the mean value theorem we have. [a.5.
Example 9. t]. For a ﬁnite representation. t]) for all s ∈ [t0 . for t within the radius of convergence of (9.23) for all t ∈ T ⊆ T0 . 1. for which we introduce some notation.5.22).i 136 Chapter 9.19) For the ﬁnite Taylor expansion with Lagrange form of the remainder. . t])(t − t0 )N . we have N−1 x(t) ∈ k=0 (x)k (t − t0 )k + RN ([t0 . We have e et ∈ 1 + t + 1 [1. (9. T0 = [0. N = 2. we can take N = 10 in (9. (9. We deﬁne (x)0 = x(t0 ). As a speciﬁc application of (9. the interval polynomial N−1 XN (t) = k=0 (x)k (t − t0 )k + RN (T0 )(t − t0 )N (9.22) to obtain 1 1 et ∈ X10 (t) = 1 + t + 1 t 2 + · · · + 9! t 9 + 10! [1. 2. (x)k is the kth Taylor coefﬁcient in the expansion of x(t) about t = t0 : x(t) = k=0 (x)k (t − t0 )k . e] t 10 . 1]. we can take X(t) = 1 + t + [0. For a sharper enclosure. t].19). 1 + t + 2 t 2 2 2 for all t ∈ [0. which is still an interval polynomial enclosure. 2 i . 1]. If x(t) is analytic for t ∈ T0 .22) is an enclosure of x.20) If RN is an interval enclosure of xN (s) so that (x)N (s) ∈ RN ([t0 .). . The values of XN (T ) for nondegenerate intervals T ⊆ T0 are also deﬁned.20).16) by working with Taylor expansions. and we have N −1 x(t) ∈ XN (t) ⊆ XN (T ) = k=0 (x)k (T − t0 )k + RN (T0 )(T − t0 )N (9. we have N−1 x(t) = k=0 (x)k (t − t0 )k + (x)N (s)(t − t0 )N for some s ∈ [t0 . Suppose x(t) is analytic in t in some neighborhood of t0 . (x)k = 1 dkx (t0 ) k! dt k ∞ (k = 1. (9.21) The righthand side is an enclosure for the Taylor series with remainder (9. (9. Integration of Interval Functions We can extend the idea of (9. let x(t) = et and take t0 = 0.4. . e] t 2 = 1 + t + 1 t 2 .359141] t 2 .18) That is.
when applied to a function deﬁned by another program. Indeed. so (x)k = 1 ((x)1 )k−1 . Note Use of Taylor polynomials in this way is a heuristic that often.3. the derived program produces a value of the derivative of the function deﬁned by the ﬁrst program. We will now show how to compute the real and interval values (x)k and RN ([t0 . An inefﬁcient approach would be to use (9. a somewhat more recent one is [200]. X(t) also contains et for every t ∈ [0. then we can use (x)k = 1 (g)k−1 k i . k (9. If we supply it with an integer K and argument values. will produce a Kth derivative program for general K for that function. Polynomial Enclosure. We can enclose the real coefﬁcients in narrow intervals to obtain a ﬁnitely represented interval polynomial enclosure X(t) which contains X10 (t) for every t ∈ [0. we can write a generalpurpose program which. it is not necessary to generate explicit formulas for the (x)k to obtain the values (x)k (t0 ). it will produce values of the derivatives (or Taylor coefﬁcients) up to order K of the given function at the given argument values. t]). reduces overestimation and excess width as we take polynomials and error terms of increasingly higher order. Of course. for instance. Fortunately. 157]. The result of differentiating a program is another program.18) to generate formulas for the (x)k in terms of t and then evaluate them at t0 . Partial derivatives can be obtained in a similar way. This phenomenon is analogous to the cancelation error we would observe. while a more recent. Automatic Differentiation 137 Only the last coefﬁcient is a nondegenerate interval. then the interval widths would increase as higherorder polynomials were taken. x(t)) with a given x(t0 ). For example. It remains to discuss how the Taylor coefﬁcients (x)k can be evaluated efﬁciently.24) This relation is important. This can be carried out in machine arithmetic or in IA. The technique will apply to almost any quantity dependent on x that is computed with a computer program.27 · 10−6 . In fact. x (t) = g(t. 1].75 · 10−6 ]. Early references on this are [147.i 9. 148. 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. were we to approximate such et with a highorder Taylor polynomial with ﬂoating point arithmetic. When executed. because if we have a function x(t) deﬁned by a differential equation. From (9. The latter can be computed numerically using the techniques of automatic differentiation. if highorder Taylor polynomials centered on t = 0 were used to approximate et for t large and t negative. but not always. 0. 1]. It is contained in the ﬁnitely represented interval [0. comprehensive overview in technical terms is [53]. The approach amounts to differentiating computer subroutines (or function subprograms).18) we ﬁnd that x (t0 ) = (x)1 .
38 k−1 j (a + 1) 1 a− (ua )k = (u)k−j (ua )j . and various other functions commonly used in applied mathematics. we can derive recursion relations for the kth Taylor coefﬁcients of elementary functions of an arbitrary analytic function u(t).7. (u − v)k = (u)k − (v)k . (9. With this and (9. x(t)). k j =0 k−1 1 j . Show the following: (a) If u(t) = constant. Similarly.i 138 Chapter 9.6. Derive a few of these formulas. of course. For example. Any secondorder differential equations that may occur can be rewritten as pairs of ﬁrstorder equations. k j =0 k−1 1 (cos u)k = − (j + 1)(sin u)k−1−j (u)j +1 . u j =0 k k−1 j u u (e )k 1− = (e )j (u)k−j .26) u k j =1 k−1 1 (sin u)k = (j + 1)(cos u)k−1−j (u)j +1 . = (v)j v k (v)0 v k−j j =1 Exercise 9. k j =0 Similar relations are available for the hyperbolic functions. All the commonly used “elementary” functions satisfy rational differential equations. that we can handle g(t.24). if u and v are analytic functions of t in some neighborhood of t = t0 . then (u + v)k = (u)k + (v)k . (x)k = 2 ((x)2 )k−2 . the Bessel functions. k(k − 1) As far as the arithmetic operations are concerned. i . then (uv)k = u(v)k . Exercise 9. (ln u)k = (u)k − 1− (u)j (ln u)k−j (9. the sum is deleted if k = 1.25) j =0 k u 1 u (u)k − . 38 In the relation for (ln u)k . Integration of Interval Functions recursively to compute the Taylor coefﬁcients for x(t) about t0 —provided. k (uv)k = (u)j (v)k−j .
the process can be carried out either in real computer arithmetic or in IA. (x)j (x)k−j .3. (We would prefer (9. even if only one is needed directly. Represent x(t) (or x (t) or x (t) · · · ) by a ﬁnite list of binary or unary operations (e. 3.5. (9.27) For simplicity (to use the formula in (9.) We have (T1 )0 (T2 )0 (x)1 = = = t · t. in order. Example 9. . j =0 = = ((T1 )k + (T2 )k )/(k + 1). x(t0 ) (and x (t0 ). (x)0 · (x)0 . T4 = eT3 . T3 = T1 + T2 . Consider the function x(t) deﬁned (when t0 and x(t0 ) are given) by the differential equation x (t) = x 2 + t 2 . the ﬁrst Taylor coefﬁcients of each item in the list. then the second Taylor coefﬁcient of each item in the list (which may require some of the stored values of the ﬁrst coefﬁcients and initial data). we write x 2 as x · x and t 2 as t · t.i 9. Automatic Differentiation (b) When u(t) = t. . the derived program will evaluate and store.26) for sharpness in interval evaluations. 2. using the recursion relation appropriate for the operation in that item. 4.29) (9. k 139 1 (cos t)k = − k (sin t)k−1 .28) Applying the third recursion in (9. . The list in step 1 can be generated from a subprogram description of x(t). This will be illustrated in Example 9. until the entire array of coefﬁcients has been computed.26)). T1 + T 2 .). rather than the ﬁrst formula in (9.. we obtain k (T1 )k (T2 )k (x)k+1 = j =0 k (t)j (t)k−j .6. Organize the subprograms and the data handling so that the derived program will accept initial values for N. A general procedure for computing the Taylor coefﬁcients of functions x(t) can be programmed to operate as follows: 1. we have (et )k = 1 t (e )k−1 k and the pair (sin t)k = 1 (cos t)k−1 . On a linebyline basis.25). etc. The sine and cosine formulas should be computed together. t0 .g. (9. ..25) for multiplication. i . Polynomial Enclosure. if required). etc. x (t0 ). generate subprograms for Taylor coefﬁcients for each item in the list.
28) and (9. e−T1 . Repeat Example 9. The total number of arithmetic operations required to ﬁnd (x)k for k = 1. The number of arithmetic operations to compute the kth Taylor coefﬁcient of any function expressible as a ﬁnite combination of rational. we obtain. . Example 9. use the recursions you so obtain to compute the ﬁrst ﬁve Taylor coefﬁcients for x(t) expanded about t = 1. N not taking into account simpliﬁcations possible because of zero terms is (from (9.29) could be modiﬁed to recognize that (T1 )k = 0 when k ≥ 3. for the function x(t). and N − 1 divisions. . N grows no faster than cN 2 for some constant c independent of N and depending only on the particular function in question. 2. k = 1.29 using T1 = t 2 and T2 = x 2 . k = 1. N 2 + N multiplications. .6. elementary. 1+t k (T1 )k = k−1 ak = 1.8. 1 (T4 )k−1 . . (9. . 1 (T4 )k = − (T1 )k−1 . Even without any such simpliﬁcation. using (t)0 = t. . Exercise 9. k > 1. and composition functions grows at most linearly with k once the coefﬁcients of lower orders have been obtained and stored by the process described. .30) Applying the appropriate relations from (9.26) on a linebyline basis.29)) N 2 + N − 1 additions.i 140 Chapter 9. We can represent x(t) by the list T1 T2 T3 T4 x(t) = = = = = sin t. cos t. the straightforward application of the recursion relations (9. (9. . Thus. and (t)j = 0 for j > 1.. Integration of Interval Functions Since (t)1 = 1 and (t)j = 0 for j > 1. the relations (9. 0. Assuming t0 = 1 and x(t0 ) = 0. T2 · T 3 .29) sufﬁce for the numerical evaluation of any number of Taylor coefﬁcients (x)k .25) and (9. the total number of arithmetic operations to obtain the set of Taylor coefﬁcients of orders 1. (T3 )k = j =0 1− j k (T3 )j (−T1 )k−j .32) i . . .31) (9. . k k (x)k = j =0 (T2 )j (T3 )k−j . ln(1 + t). (t)1 = 1. k 1 1 (T2 )k = ak − 1 − (T2 )k−1 . Consider x(t) = e− sin t ln(1 + t).
ln(1+t). 2.32) in interval arithmetic. then (9. Note that the functions sin t. In many instances.b] i .b] It follows from (9. The computational scheme presented here is commonly called the forward mode. 9. Computing Enclosures for Integrals 141 We compute and store the following twodimensional array of quantities proceeding downward through the elements of a given column before continuing with the ﬁrst element of the next column to the right: T1 (T1 )1 (T1 )2 ··· T2 (T2 )1 (T2 )2 ··· (T2 )1 (T2 )2 ··· T2 T4 (T4 )1 (T4 )2 ··· x (x)1 (x)2 ··· Again the total arithmetic computation required to ﬁnd the Taylor coefﬁcients of orders 1. it is more efﬁcient to arrange the computations in automatic differentiation in a different order than has been presented here.33) [a. To compute the value of gradient of a function of n variables. we can obtain RN ([t0 . Martin Berz. cos t.30) at any value of t is of order N 2 (about 3 N 2 additions 2 and multiplications). In contrast to the forward mode. ln(1 + t). the forward mode typically requires n times the amount of work required to compute the value of the function itself. perhaps. and e−T1 . [a. then a system is solved to obtain the values. directional secondorder derivatives are needed. using (9. An alternative is the backward mode. . Kyoko Makino. This is particularly so if just the function. cos t. at the outset of the process. . see the COSY web page. gradient.21). . and collaborators have provided an implementation of computation of multivariate Taylor coefﬁcients that is highly successful in applications. Carrying out evaluations of those interval extensions for the interval [t0 . t]) in (9.20) for this x(t) by using interval extensions of sin t. 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 function. A comprehensive monograph including details of efﬁcient implementation of both the forward mode and backward mode is [53]. t] and following this with evaluations of the Taylor coefﬁcients.4. The backward mode was perhaps ﬁrst introduced by Speelpenning [235] and has since been strongly advocated by Griewank [53]. e− sin t need to be evaluated only once each. . N for x(t) deﬁned by (9. and.13) that if G is an interval polynomial enclosure of f .i 9. Notes 1.4 Computing Enclosures for Integrals f (t) dt ∈ G(t) dt. and others. in which the intermediate results in the computation are ﬁrst computed and stored. We can bound the remainder term in (9. The backward mode is explained in elementary terms in texts such as [3]. Christianson [36].
i
142
Chapter 9. Integration of Interval Functions
More generally, (9.33) holds if f is realvalued and G is intervalvalued, continuous, and inclusion isotonic, with f (t) ∈ G(t) for all t ∈ [a, b]. Example 9.7. Consider f (t) = 1/t and put F (X) = 1/X. From (9.5) we have
[1,2]
(1/t) dt ∈ (1/[1, 2]) =
1 ,1 2
.
(9.34)
From (9.8), we have
N
SN =
i=1 N
(1/(1 + [i − 1, i]/N ))/N [1/(N + i), 1/(N + i − 1)].
i=1
= Using threedigit IA we obtain
∗ S1 = [0.5, 1.0], ∗ S2 = [0.583, 0.834], ∗ S3 = [0.617, 0.783], . . . ∗ S10 = [0.663, 0.722].
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 threedigit 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 ﬁnd upper and lower bounds on the integral I=
0 1
e−t dt.
2
(9.35)
For the integrand in (9.35) we have the interval polynomial enclosure P deﬁned by e−t ∈ P (t) = 1 − t 2 + 1 t 4 − [0.0613, 0.1667] t 6 2
2
(9.36)
for all t ∈ [0, 1]. The interval coefﬁcient [0.0613, 0.1667] bounds the range of values of 1 −s 2 e for all s ∈ [0, 1]. From (9.33) we ﬁnd, for I in (9.35), 6 I∈ P (t) dt.
[0,1]
(9.37)
i
i
9.4. Computing Enclosures for Integrals It follows from (9.12) and (9.36) that I∈
[0,1]
143
P (t) dt = 1 −
1 3
+
1 10
−
.1667 7
, 1−
1 3
+
1 10
−
.0613 7
⊆ [0.742, 0.758]. (9.38)
By using narrower interval polynomial enclosures, we can, as we shall see, compute arbitrarily sharp bounds on the exact value of integrals such as (9.35). Using automatic differentiation, we can efﬁciently 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 [a,b] K−1
f (t) dt ∈
i=1 k=0
1 (f )k (X i )w(Xi )k+1 k+1 (9.39)
1 + (f )K (Xi )w(Xi )K+1 K +1
for functions f with inclusion isotonic interval extensions of f and its ﬁrst 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 righthand side of (9.39) by IN,K . Since only the (f )K (Xi ) contribute anything to the width of IN,K , we have
N
w(IN,K ) = w
i=1
1 (f )K (Xi )w(Xi )K+1 K +1
N
= ≤ = Hence,
1 K +1 LK K +1 LK K +1
w [(f )K (Xi )] w(Xi )K+1
i=1 N
w(Xi )w(Xi )K+1
i=1 N
by (9.40)
w(Xi )K+2 .
i=1
w(IN,K ) ≤
LK K +1
N
w(Xi )K+2 .
i=1
(9.41)
For a uniform subdivision of [a, b], we have w(Xi ) = (b − a)/N for i = 1, . . . , N, and (9.41) becomes w(IN,K ) ≤ CK hK+1 , where CK = b−a LK (b − a) and h = . K +1 N (9.42)
i
i
144
Chapter 9. Integration of Interval Functions
Thus, for ﬁxed 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 , (f )K (Xi ) = (−1)K /XiK+1 , i 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 0 1 2 3 4 5 6 7 8 9 N 1000 32 10 6 4 4 3 3 3 2
For K > 9 we still need N = 2. Since the exact value of the integral is contained in IN,K for every pair of integers N ≥ 1, K ≥ 0, we can intersect the intervals IN,K for any sequence of pairs of integers {(N, K)} and obtain an interval which still contains the exact value of the integral. If we carry out all the computations in IN,K using IA, then any sequence of such intersections will converge in some ﬁnite number of steps to an interval containing the exact value of the integral. We could ﬁx N and take an increasing sequence of values of K, or ﬁx K and take an increasing sequence of values of N , for instance. Exercise 9.10. Verify that we may take LK = K + 1 in Example 9.9. Example 9.10. For (9.35) we can also apply (9.39) to compute IN,K for any N ≥ 1, K ≥ 0, using the recursion formulas (f )0 (X) = e−X , (f )1 (X) = −2X(f )0 (X),
2
(f )k (X) = −(2/k)(X(f )k−1 (X) + (f )k−2 (X)) for n ≥ 2.
(9.43)
For N = 2 and K = 6, using IA, we ﬁnd IN,K = I2,6 = [0.746, 0.748]. Compare with (9.38).
i
i
9.5. Further Remarks on Interval Integration
145
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 coefﬁcients (f )k (Xi ) in IA to ensure that the computed interval value of IN,K contains the value deﬁned by (9.39).
9.5
Further Remarks on Interval Integration
A computer implementation of an interval integration routine typically ﬁnds the Taylor coefﬁcients automatically, generates the interval enclosure of the associated remainder term, and adaptively chooses intervals of expansion within the interval of integration, until the entire integral is computed. If the data is given precisely, this can even be done to speciﬁed accuracy. If there is uncertainty in the data itself, for instance, if all we know about α is an interval that contains its value, we cannot expect to ﬁnd a narrower interval containing the integral than is allowed by the uncertainty in the data. In any case, an interval enclosure of the integral still can be obtained. Lang et al. [81, 129] as well as Krämer et al. [118] have successfully applied the techniques we have been describing to adaptive Gaussian quadrature, for rigorously veriﬁed enclosures of integrals. We can also carry out interval integration over domains in more than one dimension, that is, we can compute multiple integrals. Let us brieﬂy discuss interval integration over a simplex. A nondegenerate simplex Sd in Rd can be represented by
d d
Sd = x =
i=0
xi p (i) : 0 ≤ xi ≤ 1,
i=0
xi ≤ 1 ,
where {p(0) , p(1) , . . . , p(d) } is the set of d + 1 vertices. For d = 3, S3 is a tetrahedron. The barycentric coordinates {xi } transform S3 into the standard simplex with p (0) = 0 and (i) pj = δij . So integration over Sd can be written as integration over the standard simplex. Integration over a tetrahedron can be written as f (x, y, z) dx dy dz =
S3 0 1 0 1−x1 0 1−x1 −x2
f (x1 , x2 , x3 ) dx3 dx2 dx1 .
We can transform this problem further into integration over the unit cube as
1 0 0 1 0 1
g(x1 , y2 , y3 ) dy3 dy2 dx1 by using the substitutions x3 = (1 − x2 − x1 )y3 , where g(x1 , y2 , y3 ) = (1 − x2 − x1 )(1 − x1 )f (x1 , (1 − x1 )y2 , (1 − x2 − x1 )y3 ). x2 = (1 − x1 )y2 ,
i
i
146
Chapter 9. Integration of Interval Functions
There is interval software for multiple integrals of more general types, and even allowing singular integrands (with certain restrictions), e.g., Aberth’s RANGE software, when the integrand is precisely deﬁned. A RANGE result, using interval methods, integration of Taylor series with interval remainder, plus adaptive subdivision of the region of integration, is rigorous. Although nonintervalbased 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.
2 2 2 Exercise 9.11. Use RANGE to integrate (x1 +x2 +x3 )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 deﬁned by (9.11) and other familiar types of integrals [33]. 1. Let FL and FR be realvalued 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 intervalvalued b function deﬁned 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 a
F (x) dx =
b
b
FL (x) dx,
a a
FR (x) dx .
The lower Darboux integral of a realvalued 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 inﬁmum of all the upper sums. The upper and lower Darboux integrals always exist in the extended real number system for any realvalued functions FL and FR . It follows that all intervalvalued 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. 3. The interval integral of an intervalvalued function F contains the Riemann integrals of all Riemann integrable functions in F , and the Lebesgue integrals of all Lebesgue integrable functions in F . Thus, f (x) ∈ F (x) for all x ∈ [a, b] implies that
b a
f (x) dx ∈
a
b
F (x) dx,
where the integral of f may be either the Riemann or Lebesgue integral as is appropriate 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
9.6. Software and Further References
147
9.6
Software and Further References
Use of automatic differentiation to compute Taylor polynomials in the way we have explained above was perhaps ﬁrst suggested in [146], but it has been developed extensively since then under various guises. Often termed Taylor arithmetic, practicalities of the technique are discussed in [169]. Implementation of the univariate Taylor arithmetic we have described above is relatively simple, but, because of efﬁciency concerns, implementation of multivariate Taylor arithmetic (involving higherorder partial derivatives) is trickier. However, the COSY package of Berz et al. has a good implementation. In [23], Berz and Makino describe use of COSY’s Taylor arithmetic for computing multiple integrals with veriﬁed bounds. Although INTLAB implements automatic differentiation for multivariate functions, only ﬁrstorder derivatives (with the gradient variable type) and secondorder derivatives (with the hessian variable type) are available; no one has supplied a package for higherorder univariate Taylor arithmetic (using the formulas described above) yet. However, if the reader has access to Aberth’s book [2], then the software supplied with that work contains a Taylorarithmeticbased method for computing an integral with veriﬁed bounds. More discussion of automatic differentiation in general can be found in [21, 38, 54, 200] and elsewhere. A recent reference for veriﬁed numerical integration is [191]. An older reference, [40] describes construction of a quadrature package along the lines we have outlined. Although this older package uses a system (ACRITH) that is no longer generally available, it still may be of interest. For C++ programmers, packages for automatic differentiation, veriﬁed quadrature, etc., are available with CXSC; a description of the CXSC system, as well as references for quadrature packages utilizing CXSC, appears in [80]. In the next chapter, techniques from this chapter are combined with ﬁxedpoint iteration techniques (such as in Chapters 7 and 8) to introduce a few basic ideas for veriﬁed methods for solving integral equations. The next chapter also outlines a few basic techniques for the difﬁcult problem of designing algorithms for rigorously bounding the solutions to ordinary and partial differential equations.
i
i
i
We call P an interval majorant of p if p(y) ∈ P (Y ) for y ∈ Y.1) where the operator p may include integrals of the function y(t).2) Similarly. (10. If X(t) and Y (t) are interval.. (10.1).(or real vector) valued function. Interval polynomial enclosures are particularly useful. we write x∈X if x(t) ∈ X(t) for all t. we write X⊆Y if X(t) ⊆ Y (t) for all t (in the common domain). For clarity of notation. The methods can be extended easily to the case of a vectorvalued function of a real variable as in systems of ordinary differential equations.1) in which we seek a realvalued function y(t) of a single real variable t. In this section.3) Suppose the operator p in (10. if x(t) is a real. (10.g. 149 (10.1) and computational tests for existence of solutions and for convergence of iterative methods for approximate solution of (10.(or interval vector) valued functions with a common domain. and some of the methods can be extended to cover vectorvalued functions of vectorvalued t (e.1) is deﬁned for some class Mr of realvalued functions y with common domain a ≤ t ≤ b.i Chapter 10 Integral Equations and Differential Equations 10. we will restrict our attention in this section to equations of the form (10. systems of partial differential equations). we will consider operator equations of the form y(t) = p(y)(t).1 Integral Equations Recall that an interval enclosure of a realvalued function f is an inclusion isotonic intervalvalued function F such that f (t) ∈ F (t). Recall that we can formally integrate interval polynomials and that interval integration preserves inclusion. and suppose p : Mr → Mr . Let the interval operator P : M → M be deﬁned on a class M of interval enclosures of elements of Mr with Mr ⊆ M.4) i . We will consider some interval methods for establishing the existence of solutions to (10.
for which X ⊆ Y (0) implies sup w(P (X)(t)) ≤ c sup w(X(t)).1). 1. 2.9) for every X ∈ M.4). then (10. then y(t) ∈ Y (k) (t) for all k and all a ≤ t ≤ b.9). (10. 2. (3) Any solution of (10.. .1. then y ∈ Y (0) implies p(y) ∈ P (Y (0) ).8) exists as an interval Y (t) ⊆ Y (k) (t). then the interval operators of the form P (Y )(t) = H (t. since P is an interval majorant of p. If y is a solution of (10.9). 1. Property (1) follows by induction from Y (1) = P (Y (0) ) ⊆ Y (0) . Uniqueness in Y (0) follows from the contraction property (10. (10. s. By induction. .8). The following theorem provides a basis for useful computational tests for existence of solutions to (10. . and Y (t) = P (Y )(t). so y ∈ Y (1) = P (Y (0) ). given p. we obtain property (3). For any ﬁxed t.1) which is in Y (0) is also in Y (k) for all k and in Y as well.6) are inclusion isotonic because of (9. then the sequence deﬁned by Y (k+1) = P (Y (k) ) has the following properties: (1) Y (k+1) ⊆ Y (k) .1). For example. . Proof. From (10. Integral and Differential Equations An interval operator P is inclusion isotonic if X⊆Y implies P (X) ⊆ P (Y ). . using the inclusion isotonicity of P . That is.1) has the unique solution Y (t) in Y (0) given by (10. t t a ≤ t ≤ b. the limit Y (t) = ∞ k=0 (k = 0.7) Y (k) (t) (10. From (10. k = 0. if H and F are inclusion isotonic. (4) If there is a real number c such that 0 ≤ c < 1. . and if P (Y (0) ) ⊆ Y (0) . .5) We can usually write such an operator P immediately. it follows that Y (t) is a solution to (10. .13). 1. i . 2. k = 0.) (10.i 150 Chapter 10. it follows that the limit Y (t) in property (2) is a degenerate interval of zero width (realvalued) for every t.. Theorem 10. Y (t)) + 0 t F (t. If P is an inclusion isotonic interval majorant of p.1) and for the convergence of iterative algorithms for solving operator equations. the sequence Y (k) (t) of nested intervals converges to an interval Y (t) which is expressible as the intersection in property (2). Y (s)) ds (10. if y(t) ∈ Y (0) (t) for all a ≤ t ≤ b. y = p(y). However. (2) For every a ≤ t ≤ b. .
w].9.13)).13) Therefore. which is formally equivalent to the initial value problem for the ODE dy(t) = f (t. w = 0. (10.2. can be written in the form (10.11) We deﬁne in a natural way the interval operator P by P (Y )(t) = 0 t (s 2 + Y (s)2 ) ds.2 ODEs and Initial Value Problems y(t) = h(t. It turns out here that the b and w we found to satisfy P (Y (0) ) ⊆ Y (0) . A solution to the initial value problem is also a solution to the integral equation. From (10.9. w] for 0 ≤ t ≤ b. s. then we have P (Y (0) )(t) = 0 (0) (0) 3 t (s 2 + [0.1 for this choice of w and b. w 2 ]) ds = t 3 /3 + [0. The initial value problem dy/dt = t 2 + y(t)2 .5 and b = 0.12) Let Y (0) (t) = [0. y(t)) dt with initial condition y(t) = y0 at t = 0.9) is satisﬁed with c = 2bw if 2bw ≤ 1.5 and b = 0. Y ] ⊆ Y (0) = [0. y(s)) ds. (10. The operators p and P are deﬁned for continuous functions y and Y . w(P (Y )(t)) = 0 t (Y (s)2 − Y (s)2 ) ds ≤ 2bw sup w(Y (t)). we can satisfy the hypotheses of Theorem 10.1. ODEs and Initial Value Problems 151 10. for 0 ≤ t ≤ b and Y = [Y . t (10. Since P is (by construction) an inclusion isotonic majorant of p (see (5. (10. This is the case if.10) (s 2 + y(s)2 ) ds. for instance. Example 10. we ﬁnd that. w 2 ] t.9).12). w = 0. namely. we might have to reduce b to satisfy (10. also satisfy (10.24) and (9. We have P (Y ) ⊆ Y if b /3 + w2 b ≤ w. (10. y(t)) + 0 t A special case of the integral equation of the form f (t.i 10. In other examples. y(s)) ds is the integral equation y(t) = y0 + 0 t f (s.1) with p(y)(t) = 0 t y(0) = 0.9) after we have found w and i .
9 and Y (0.9) (cf. so Y (1) (t) = 0 t √ s ds = Y (2) (t) = 0 t 2 3/2 t [0. even without (10.).9. w]. Y (s) for 0 ≤ Y (s).i 152 Chapter 10.7) to some intervalvalued function Y (t). Let Y0 (t) = [0. This operator does not satisfy (10. . We deﬁne the interval operator P by P (Y )(t) = 0 t Y (s) ds. 2. the sequence is nested. Then P (Y0 )(t) = 0 t [0. 1. is Y (k+1) (t) = P (Y (k) )(t) = 0 t √ Y (k) (s) ds (k = 0. . Exercise 10. 1].9. has an intervalvalued function Y (t) = ∞ k=0 Y (k) (t) i . Integral and Differential Equations b to satisfy P (Y (0) ) ⊆ Y (0) . w] ds = [0.7) with Y0 (t) = [0. Then the sequence generated by (10. 1] s ds = t 3 21 21 . with w > 0. Note that.1) with p(y)(t) = 0 t y(s) ds. we will have convergence of the sequence (10.14) where Y (s) = Y (s) . Y (s) = Y (s) . The initial value problem √ dy/dt = y for y ≥ 0.2).7)) at least for 0 ≤ t ≤ 0.10) has a unique solution (expressible as the limit of the convergent sequence (10. . for 0 ≤ t ≤ b. It follows that the initial value problem (10. take w = 1 and b = 1. As a numerical example. 3. Example 10. By Theorem 10. (10. √ We have P (Y0 ) ⊆ Y0 if wb ≤ w. with the initial condition y(0) = 0 can be written in the form (10.1.2. This is the case if b ≤ w.9) as a new initial point to continue the solution beyond t = 0. 3 2 3/2 4 √ 3/2 √ 4 7/4 √ t t 6= 6[0. . We can apply the procedure again with t = 0. . √ w]t. 0 ≤ t ≤ 1. 1]t.9).
Y0 (t) = [0. is also in Y (k) (t) for every k and all 0 ≤ t ≤ 1. and we can deﬁne the interval operator P by P (Y )(t) = 1 + 0 t (s 2 + Y (s)2 ) ds. and seek a positive number b such that P (Y0 )(t) ⊆ Y0 (t) for all t ∈ [0.3. a < t. with the initial condition y(0) = 0 that is in Y0 (t) = [0.14) does not satisfy (10. 4 Exercise 10. 1 t 2 . as discussed in section 9.15) (s 2 + y(s)2 ) ds. ODEs and Initial Value Problems 153 √ as a limit. we were able to use interval methods to enclose the set of all inﬁnitely many solutions. 2] for all t ∈ [0. We can determine in various ways (including by numerically solving the polynomial equation b3 /3 + 4b − 1 = 0) that this is true. b].24) = 1. Actually. i . Example 10. since 1 + 0. √ In the previous example. if b = 0. We can choose an initial constant interval value.24. (10.9). can be written as the integral equation y(t) = 1 + 0 t y(0) = 1. Nevertheless. Show that the interval operator P given by (10. that is. 1 sup0≤a≤t (t − a)2 4 = 0. 1] for 0 ≤ t ≤ 1. Let us now consider more typical examples. say.i 10.2. Show that Y (t) = ∞ k=0 Y (k) (t) = 0. 2]. so we can use Taylor expansions with interval bounding of remainder terms and automatic differentiation to generate coefﬁcients. the initial value problem has inﬁnitely many solutions of the form ya (t) = 0.2.1. for y ≥ 0.243 /3 + 4(0. 4 where a is an arbitrary nonnegative real number. 0 ≤ t ≤ a.3. 4] t ⊆ [0. and any solution y(t) of dy/dt = y. Exercise 10. when the functions in a differential equation or system of differential equations are differentiable as many times as wanted. so the solution was not unique. The initial value problem dy/dt = t 2 + y 2 . b]. 3 This is true if 1 + b3 /3 + 4b ≤ 2. for example. and we have ya (t) ∈ Y (k) (t) for all k.964608 ≤ 2. 1+ t3 + [0. 1 (t − a)2 . f (y) = y was not differentiable at the initial condition √ y(0) = 0 because f (y) = 1/(2 y) is not deﬁned as a real number for y = 0.
3 (y)4 = 7 .7) converges to it. 0. 17. using interval arithmetic.24]) such that (y)5 (s) ∈ R5 ([0. (y)2 = s + y(y)1 ∈ [0. 2 1 (y)3 = (1 + 2(y)0 (y)2 + (y)2 ).44]) ⊂ [0.24]) for all s ∈ [0. We ﬁnd the initial coefﬁcients (y)1 = 1. 4. 2][0. To illustrate.1][0.1]2 ) ⊂ [0.33.51].33. (y)3 = 4 . For this. 2]. 6 It remains to ﬁnd R5 ([0. 8. 0. The recursive formulas given in Chapter 9. become (y)1 = dy/dt = t 2 + y 2 .1] ⊂ [0.9). Integral and Differential Equations It follows that the initial value problem has a solution such that y(t) ∈ [0. 2] for all t ∈ [0. 1 (y)3 = (1 + 2y(y)2 + (y)2 ) 1 3 1 ∈ (1 + 2[0.24]2 + [0. Alternatively. 4 1 (y)5 = (2(y)0 (y)4 + 2(y)1 (y)3 + (y)2 ). 4. we have (y)0 = y(0) = 1.24] + [0. 2][0. 1 3 1 (y)4 = (2(y)0 (y)3 + 2(y)1 (y)2 ). 17.1]. we ﬁnd (y)0 = y(s) ∈ [0. (y)2 = 1. 0. 2 5 From the initial condition at t = 0. 8. (y)1 = dy/dt = s 2 + y 2 ∈ [0. we can compute an enclosure of the solution y(t) of the form (9. for this example.24]. 2]. 4. 2][0. 0. 0.24])t 5 for all t ∈ [0. 2]2 ⊂ [0. Then 4 y(t) ∈ k=0 (y)k t k + R5 ([0. we recall that Y0 (t) = [0. 2].24] and y(s) ∈ [0. 0.i 154 Chapter 10. since the formal integrations get a bit messy. 2 1 (y)5 = (2(y)0 (y)4 + 2(y)1 (y)3 + (y)2 ). 1 (y)2 = (2t + 2(y)0 (y)1 ). so the solution is unique. so for s ∈ [0. we choose N = 5.44] + [0. 8.2]. 0. and the sequence (10. 34. 3 1 (y)4 = (2(y)0 (y)3 + 2(y)1 (y)2 ) 4 1 ∈ ([0. It is not hard to show that P in this example satisﬁes (10. 2 5 i .44].24]. 0. 0.21) with interval enclosure of the remainder.24]. 4.2] + [0.
or a polytope. 5 Thus. such as the Y (t) found above.39 We show the calculations in detail above to give an idea of how some of the software works. and we have the result that the initial value problem (10. for further values of the independent variable t > 0. Successful attempts to reduce the growth of bounds due to the wrapping effect have been based on various ideas. 0. 138. ellipsoid.000005. 4. .1114.11146˜.24]) = [0. 1. the resulting bounded region will contain extra points.44]2 ) for all s ∈ [0. 3 6 In particular.1] t 5 for all t ∈ [0. we can take R5 ([0.1][0. such as y(0.1114.33. This phenomenon has been dubbed the wrapping effect [152] and has been studied in a variety of ways. See.24] with an interval polynomial enclosure Y (t) given by 4 7 y(t) ∈ Y (t) = 1 + t + t 2 + t 3 + t 4 + [0.2. not in the solutions emanating from S0 .3. xn (t)) : x(0) ∈ S0 } for t > 0 is. ODEs and Initial Value Problems so 155 (y)5 (s) ∈ R5 ([0. 148. . 0. The interval Taylor method extends to systems of differential equations and allows for intervals of initial conditions and parameters in the functions. the tilde means that the exact result is 1. [22. 17.1122]. 70. i . 0.51] + 2[0. contained in the interval we found. 0. 24. given only the differential equations and initial conditions. 139].24]. 39 Here.2] + [0.24 by restarting the procedure with a new initial condition. 152] as well as by searching the web. . 1. Earlier references on interval methods for ODEs can be found in [146. not exactly representable by the same type of geometrical object as S0 .1118 ± 4(10−4 ). in fact. Suppose a set of initial points x(0) is enclosed in a ﬁnitely representable set S0 such as an interval vector. which means that the exact solution is. Exercise 10.15) has a unique solution y(t) at least for t ∈ [0.24) ∈ [1.24].11146 ± 0. y(0. .1122] = 1. It is important to point out that everything shown can be carried out automatically by software. 8. 70. 147. for instance. in general. Apply the interval Taylor method to the following initial value problems: (a) dy/dt = y 2 with y(0) = 1 and (b) dy/dt = −y with y(0) = 1. or polytope. What is shown is a relatively simple version of much more sophisticated but similar techniques in existing software. 0. The set of solution points St = {x(t) = (x1 (t). Thus if St is enclosed again in an interval vector.1) = 1. We can continue an interval enclosure. 2][0.i 10.1].1) ∈ [1. the most successful of which is the Taylor model approach of Berz and Makino. 25. an ellipsoid. 34. Aberth’s RANGE ﬁnds y(0. and at whatever values of t the solution is desired.24]) 1 ⊂ (2[0. A difﬁculty arises in connection with the continuation of sets of solutions to an initial value problem for a system of n ordinary differential equations.
Our coverage of these applications is necessarily uneven. Y (s)) ds is an interval majorant of p. 133. 164. 193. Many published papers on this topic can be found with a web search. y(t)). are general. Much remains to be done in the area of interval methods for partial differential equations. IA has been used in computeraided rigorous computation of error bounds. i . y(s)) ds. based on our own expertise. 10. If F is an interval enclosure of f . Verify this. dt 2 y(0) = y(1) = 0.3 ODEs and Boundary Value Problems d 2y = f (t. with many speciﬁc examples. For additional examples of the application of interval analysis to operator equations. and we can apply Theorem 10. In our ﬁnal chapter. 242. [113. Details are well beyond the scope of this introductory volume. A twopoint boundary value problem of the form is equivalent to the integral equation y(t) = p(y)(t) = (t − 1) 0 t sf (s.1.4.i 156 Chapter 10. Exercise 10. 187]. e. Also. y(s)) ds + t t 1 (s − 1)f (s. Examples are [107. See.. 166. as well as for obtaining mathematically rigorous results in eigenvalue problems and the analysis of operators. Some of these applications. Y (s)) ds + t t 1 (s − 1)F (s. see Moore and Cloud [156].g.4 Partial Differential Equations In the area of partial differential equations. 250]. The interested reader should pursue the references we provide to obtain a fuller understanding of particular applications. 231. detailed treatment of the derivation of these applications is outside the scope of this book. we discuss applications of the concepts and techniques introduced to this point. Integral and Differential Equations 10. the interval operator P deﬁned by P (Y )(t) = (t − 1) 0 t sF (s. such as computerassisted proofs and global optimization. as well as a brief discussion of interval analysis in the context of lattice theory.
and rigorous methods of interval analysis. mathematicians C. in computational parts of a proof of Kepler’s Conjecture on the densest packing of spheres.i Chapter 11 Applications 11. Johannes Kepler proposed that the best way to pack spheres as densely as possible was to pile them up in the same way that grocers stack oranges or tomatoes. which they carried out on an ordinary PC. Interval analysis has been used. George Szpiro shows how the problem engaged and stymied many men of genius over the centuries—Sir Walter Raleigh. The intervals found by the computer will. This was a longstanding challenge to the dynamical system community and was included by Smale in his list of problems for the new millennium. In 1611. This equalvolume case was proved by Hass et al. Sir Isaac Newton. The proof uses computer estimates with rigorous bounds based on interval analysis. In the tradition of Fermat’s Enigma. among other areas [42]. for example. F. Another proof that used interval arithmetic for rigor was that of the “double bubble conjecture. known as Kepler’s Conjecture. who seldom take anyone’s word for anything.1 ComputerAssisted Proofs Any computation using IA. 157 i . The following is quoted from Szpiro [240]: The fascinating story of a problem that perplexed mathematicians for nearly 400 years. This proposition. seemed obvious to everyone except mathematicians. by construction. Because of the rigor of interval computation. and R. Warwick Tucker has given a rigorous proof that the Lorenz attractor exists for the parameter values provided by Lorenz. Gauss and David Hilbert. Buckminster Fuller.260 integrals. it is ﬁnding use in computeraided proofs in mathematical analysis. to name a few— until Thomas Hales of the University of Michigan submitted what seems to be a deﬁnitive proof in 1998. proves something. certainly contain the results they are constructed to contain. astronomer Tycho Brahe.” It had been conjectured that two equal partial spheres sharing a boundary of a ﬂat disk separate two volumes of air using a total surface area that is less than any other boundary. who reduced the problem to a set of 200. [71].
i 158 Chapter 11. • all the zeros of a nonlinear system in a box.) bounds and their implementation. • accurate strategies for Kolmogorov–Arnold–Moser (K. in which more than half the papers involve the use of interval methods. • SPICE program for circuit analysis. • global optimization. • solution of the heat convection problem. • forest planning. i . • veriﬁcation of the existence of chaos. In a chapter on computerassisted proofs in Einarsson’s book [45]. • eigenfrequencies of a turbine. • doublebubble conjecture. • least squares problems. all of which make use of interval methods: • veriﬁcation of the existence of the Lorenz attractor. • extreme currents in Lake Constance. • interval tools for computeraided proofs in analysis. • software tool for analysis in function spaces. Siegfried Rump listed the following examples of computerassisted proofs. • computerassisted lower bounds for atomic energies. • veriﬁed bounds for the Feigenbaum constant.M.A. Warwick Tucker made further signiﬁcant contributions to the development and application of this area [244]. • computerassisted proofs of stability of matter. • dynamics of the Jouanolou foliation. • veriﬁcation of the instability for the Orr–Sommerfeld equations with a Blasius proﬁle. including • computerassisted approach to small divisors problems arising in Hamiltonian dynamics. See also Meyer and Schmidt [143]. • existence of an eigenvalue below the essential spectrum of the Sturm–Liouville problem. Applications In later work.
i 11. This fact alone provides a basic algorithm for global optimization without using derivatives. including intervals and vectors of intervals.1) x ∈ B and pi (x) ≤ 0. leaving a list of subboxes whose union still contains the set X ∗ of all global minimizers.2 Global Optimization and Constraint Satisfaction It has long been asserted that rigorous global optimization by a computer is impossible in the nonlinear case. the truth of a relation such as f (x) = f (x1 . Newton method. we obtain upper and lower bounds on f ∗ . Points satisfying the constraints are called feasible. if F (B) = [L. . on a computer. U ] ≤ 0. if U ≤ 0. It is a simple branchandbound algorithm. If the objective function and the constraint functions are differentiable. There are two kinds of deletion tests on X made in the algorithm: i . Bn ) using IA. x2 .2. . For an ndimensional region (“box”) such as an interval vector B = (B1 . provides upper and lower bounds on ranges of values of functions over continua. deﬁned on B. we can test. . . and hence deﬁned on subboxes of B.1 A Prototypical Algorithm The following simple algorithm will ﬁnd a list of small boxes whose union contains the set X ∗ of all feasible global minimizers. . . The algorithm proceeds by deleting parts of the initial box B which cannot contain a global minimizer. we wish to ﬁnd the set X∗ of all global minimizers x ∗ ∈ B and the global minimum value f ∗ such that f (x ∗ ) = f ∗ ≤ f (x) for all feasible points x. for instance. xn ) ≤ 0 for all points x = (x1 . We assume we have inclusion isotonic interval extensions. then f (x) ≤ 0 for all x ∈ B. . That is. 11. x2 . xn ) ∈ B. which we describe in this section. During this process. See the references at the end of this section for more efﬁcient methods. . and this may be true using only evaluations of functions at points. 2. . which may even be a point (degenerate box) in B. B2 . . . there are more efﬁcient interval methods using. F of f and Pi of pi . . that is. the interval. . but we will not cover those here. IA. X is any subbox of B. .2. as we have seen. Global Optimization and Constraint Satisfaction 159 11. . In the algorithm. k. along with an interval containing f ∗ . . using interval computation for rigor and completeness. At the very least we need to be able to compute upper and lower bounds on ranges of values of functions over sets. For example. i = 1. where f is a realvalued function with an inclusion isotonic interval extension F . We consider now the following global optimization problem: minimize f (x) subject to the constraints (11.
If it is not deleted. 2. UFY ] = F (Y ). If m(X) is feasible. we can construct a list (queue) of items consisting of pairs (X. because f ∗ ≤ f (m(X)) ≤ UFMX . Using tests 1 and 2. . UFMX ] = F (m(X)). U F X]. If it is narrower than some prespeciﬁed tolerance EPSB (epsilon B). (b) If for some i. 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 . As a result. 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 . delete X. then X is certainly feasible. If Y is another subbox of B. We LIST items at the end and UNLIST items from the beginning of the list. we bisect it in a coordinate direction of maximum width. (a) If LF Y > U F ∗ .) unlist ﬁrst 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 . Denote this interval by [LFMX . then Y cannot contain a feasible global minimizer in B. k. 2. and we terminate the algorithm. . we put it at the end of the list. Algorithm 11. Feasibility test. We test each half. and we evaluate F (Y ) to ﬁnd [LFY . LF B) and set U F ∗ = U F B DO WHILE (the ﬁrst box on the list has width > EPSB. LF X1 ) at end of list and update U F ∗ = U F X1 . where F (X) = [LF X. Chapter 11. .1. Pi (X) > 0. It is certainly the case that f ∗ ≤ UFMX . then X is certainly infeasible (contains no feasible points). . then we can make the following test. LF X). Midpoint test. Thus Pi (X) ≤ 0 implies that pi (x) ≤ 0 for all x ∈ X.i 160 1. we compute F (m(X)). Every time we UNLIST a box. The bisections are always in a coordinate direction of maximum width. and we delete Y . the widest box remaining is always the ﬁrst one in the list. That every point in X is feasible is guaranteed despite rounding errors in the computer ﬂoating point arithmetic because of the outward rounding used in IA. Let U F ∗ be the smallest UFMX yet found. initialize the list with the single item (B. Applications (a) If Pi (X) ≤ 0 for all i = 1. then so are all the other remaining subboxes.
6 and x = (x1 . including use of the interval Newton method.i 11. x20. over the ﬁnite set of all items (X.1. various improvements in efﬁciency are discussed for differentiable problems. For EPSB = 0. Here. minimizers are eliminated by choosing the ﬁnal box width tolerance EPSB ≤ 0. 1. 1.1.0125. [158].25 }). For example consider the following variation.2]). Also. 0. in a coordinate direction of maximum width. [−1.2.25. The bisections are. 160.2 Parameter Estimation Simple variations of Algorithm 1 can solve other types of problems. The entire unit circle x1 + x2 = 1 consists of local minimizers. it is shown how to parallelize the procedure for further improvement in efﬁciency with application to photoelectron spectroscopy. This algorithm has appeared in Moore et al. There. Global Optimization and Constraint Satisfaction LF ∗ = min(LF X). (1 − max{ 0. 1(a) and 1(b) refer to the feasibility test on p. Algorithm 11. The arcs lie outside the union of two rectangles 2 2 cutting through the circle.4 p(x) = max{(1 − max{ x1  .3 })} ≤ 0 0. LF X) will certainly contain all the feasible global optimizers of f in B. x2 ) ∈ B = ([−1. The set X∗ of all global minimizers consists of three disconnected continua. DO WHILE (the ﬁrst box on the list has width > EPSB.25 .2].2. and max box width for termination EPSB. LF X) in the list U F ∗ is the current U F ∗ stop 161 When we stop. and the union of the boxes X in the list of items (X. The local. is applicable in general. the following nondifferentiable example is discussed: minimize 2 2 2 2 f (x) = (x1 + x2 − 1 + 0. It is the familiar “smiley face.” 11. In [158]. but not the global. and the feasible region is nonconvex.2. we will have LF ∗ ≤ f ∗ ≤ U F ∗ . while not efﬁcient for differentiable problems.25 subject to x2  x1  −0. Algorithm 11. three 2 2 disjoint arcs on the circle x1 + x2 = 0. initialize the list with the single item B.2. the paper cited shows the graph of X∗ .2.001)x1 + x2 − 0. The algorithm produces a list of small boxes whose union covers the set X ∗ of all global minimizers. The objective function f and constraint function p are nondifferentiable and nonconvex. as before.) unlist ﬁrst box on the list i .
and the components of f are deﬁned by f1 = α1 x1 x3 + α2 x2 x3 + α3 x1 + α4 x2 + α5 x4 + α6 x7 + α7 . 2 2 f5 = x1 + x2 − 1.3 Robotics Applications Although there are various global optimization problems and problems involving the solution of nonlinear systems that we do not yet know how to solve efﬁciently with interval techniques. f2 = α8 x1 x3 + α9 x2 x3 + α10 x1 + α11 x2 + α12 x4 + α13 . . Algorithm 11. The mathematical formulation consists of ﬁnding all solutions to f (x) = 0. can be found in Jaulin et al. where f : R8 → R8 . . .2. An early such application was an example from [243] and has since become a classic test problem for interval methods for nonlinear systems.i 162 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 output box list items stop Chapter 11. Such points will all lie in the union of the remaining subboxes. . 2 2 f8 = x7 + x8 − 1. (11. f4 = α17 x1 + α18 x2 + α19 . because the only parts of B that are deleted by Algorithm 11. 11. we have been largely successful with applications involving robotics. [86]. f3 = α14 x6 x8 + α15 x1 + α16 x2 . k}. Applications 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 are subboxes containing only all feasible or all infeasible points. 2. See Moore [153]. 2 2 f7 = x5 + x6 − 1. Any point on the boundary of the feasible region will contain both feasible and infeasible points in any neighborhood.2 has been applied to estimating the set of all parameters of a model for which the output errors are within given bounds. 2 2 f6 = x3 + x4 − 1. with applications to robust control and robotics. A more thorough discussion of related methods.2) i .
2. “the geometric design problem of seriallink robot manipulators with three revolute (R) joints is solved for the ﬁrst time using an interval analysis method. 49.2) with lower and upper bounds differing beyond the ﬁfth digit (and a mathematical proof that there are no other solutions) with a total of only 31 boxes processed in the branchandbound process and 17 calls to a local approximate rootﬁnder. and all solutions are known to lie within the unit 8cube xi ∈ [−1. More recent applications to robotics can be seen in Chapter 8 of [86] and in [131].2) is interesting from the standpoint that. see [94]. several solutions can be missed if machine interval arithmetic without directed rounding is used.) Problem (11. chemical kinetics equilibrium problems. α10 = α16 = α19 = 2.000. 3. designed for parallel computation [142]. and the like. Particularly impressive is the work of Lin and Stadtherr [134. α7 = −3. −1 163 α2 = −3. 236.731 · 10−3 . This problem was solved effectively with the early Fortran 77 interval code that later became INTBIS [105] with an efﬁciency that competed well with homotopy methods for polynomial systems. largely because of the talents of Mark Stadtherr and his students. 137].338 · 10−1 . in which the authors combine Taylor arithmetic for the solution of systems of ordinary differential equations with interval methods for i . 4. 1]. scaling. 135. −1 α3 = −1.745 · 10−2 .022 · 10−1 . α4 = −1. α17 = −7. Apparently.238 · 10 . 1. α8 = α14 = 2. 11.461 · 10−1 .637 · 10−3 . 7. such problems often can be posed in a way that is amenable to solution by interval methods. The papers [192] and [34] are two other examples of applications to control and robotics.i 11. 136.4 Chemical Engineering Applications Chemical engineering is another area where there have been major successes in the application of interval computations. The problem was solved using a network of 25 desktop computers running in parallel.2. α5 = −9. α13 = −6.623 · 10−1 . x2i )}4 represent the cosines and sines of angles on the arm of the i=1 manipulator.623 · 10−1 . α11 = −7. In [131]. depending on the actual branchandbound code used. 3.238 · 10−1 . (The four pairs {(x2i−1 . Our GlobSol code [104] ﬁnds rigorous enclosures to all 16 solutions to problem (11. and pathfollowing algorithms. partially in response.” Their implementation of an interval branchandbound algorithm involved the ALIAS library.571 · 10 .238 · 10−1 .578 · 10−1 . 2.638 · 10−1 . see [48. α6 = α9 = α15 = α18 = 1. Much of this success is along the lines of optimizing objectives and solving systems of equations arising in molecular models. 237]. α12 = −6.734 · 10−1 . Global Optimization and Constraint Satisfaction where α1 = 4. The authors of such homotopy methods subsequently improved the selection of homotopy.731 · 10−3 .000. 1 ≤ i ≤ 8.578 · 10−1 .
1.01. This holds for all solvers that claim to ﬁnd an approximation to the global optimum within a speciﬁed error tolerance. α3 = 0. we cannot expect any software designed to solve this problem in general to be practical for all such problems.01]. α5 = −1.2. The search box is set to xi ∈ [−0. GlobSol ﬁnds a box with coordinate endpoints differing in the fourth digit. where f : R4 → R4 and the components of f are deﬁned by 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 2 f 3 = x1 − x 2 2 f 4 = x4 − x 3 (11.773 · 101 . Because of these theoretical results. α2 = 2. 11. β5 = −1. 2. regardless of whether interval arithmetic is used to bound roundoff error and provide mathematically rigorous results. that there is no known algorithm that will solve all possible instances of this problem.177 · 107 .450 · 100 . 1 ≤ i ≤ 4. β6 = 4.126 · 107 . processing a total of nine boxes in the branchandbound process. 11.918 · 107 .285 · 106 .000 · 100 .284 · 107 .2.6 Pitfalls and Clariﬁcations It is well known that the general global optimization problem (11. even if the objective function f is quadratic and the pi are linear. consists of ﬁnding all solutions to f (x) = 0. and with three calls to a local approximate root ﬁnder. now not so challenging for interval techniques.3) with α1 = −1.585 · 1014 .550 · 100 . α4 = and β1 = β4 = 1. originally from [141].840 · 101 . β7 = −2.697 · 107 . A classic kinetics equilibrium problem. Applications global optimization to rigorously determine parameters in differential equation models of processes. in a time that is bounded by a polynomial function of the number of variables and constraints.1) is NPcomplete. β2 = 4. 0. β3 = −8. i .5 Water Distribution Network Design Angelika Hailer has recently presented a dissertation [55] in which she both provides a more accurate model of water distribution networks than previously found in the literature and successfully designs a global optimization algorithm and software package that provide automatically veriﬁed optima of this model. that is.i 164 Chapter 11.
based on carefully deﬁning and limiting what we mean by “veriﬁed” or taking full advantage of the special structure of the problems. In computer programs whose goal is to meet speciﬁcation 1. An example of this is found on Siegfried Rump’s website. for every i. Feasible solutions are of interest in operations research problems for which an operating scheme that is possible to carry through is needed.40 Nonetheless. 4. 2. but is not necessarily a point at which f takes on its global minimum value.1): 1. i .i 11. Global Optimization and Constraint Satisfaction 165 In fact.org/books/ot110. Output a small box X that is proved to contain a feasible point whose objective value is within some tolerance of the global optimum. With this terminology. Doing so. A feasible solution is any point x for which x ∈ B and pi (x) ≤ 0. and an optimizer: A global optimum is a value of f of f such that f ≤ f (x) for every feasible point x.siam.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. Before we enumerate these additional successes. 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. Find the global optimum f to within some speciﬁed tolerance . there are no X ∈ C that do not contain any global optimizing points.2.41 A global optimizing point is a feasible point x such that f (x) is the global optimum. In a computer 40 www. and the width of each component of each X ∈ C is as small as possible. Output a small box X that has been proved to contain a feasible point x. each isolated global optimizing point is in a separate X ∈ C. but for which it may be difﬁcult or impractical to ﬁnd such a point at which f takes on its global optimum. there are notable additional successes (not mentioned above) in ﬁnding veriﬁed solutions to global optimization problems.” that is. or even using variable precision and a ﬁnite amount of time. these quality conditions are impossible to meet in practice. we deﬁne varying speciﬁcations for a computer program that deals with (11. 3. implementations are higher quality if the total number of boxes in C is minimal. we distinguish between what operations researchers call a feasible solution. Find all feasible points x at which f (x) = f . we can clarify different interpretations of the statement “solve the global optimization problem. it is not hard to ﬁnd global optimization problems that cannot be solved efﬁciently with existing software claiming to ﬁnd solutions with automatic result veriﬁcation. 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. an optimum value of the objective function f . that is. 42 Using ﬁxedprecision machine arithmetic. we will clarify what a “veriﬁed solution” can mean. and ﬁnd a box X within which we can prove there is a feasible point x such that f (x) − f < . Speciﬁcation 1 is the most difﬁcult to meet and is likely to be practical to meet for the fewest number of problems. listed on the web page for this book. a point at which the constraints are satisﬁed. Except for a very restricted set of problems.
45 Involving only several interval matrixvector multiplications. linear programs are often illposed in the sense that there is an entire manifold of optimizing points. even for linear problems. In particular.1) for which the form of the objective f and constraints pi are sufﬁciently simple or can be put into a form in which there is not excessive overestimation in the interval evaluations over boxes within a few orders of magnitude of the machine precision. a small box is constructed about the perturbed point. and the widths of these clusters decrease by decreasing the stopping tolerances. See [108] for the numerical results. proves existence of a feasible point within that small box. Also see [85] for application of similar techniques in semideﬁnite programming. the other boxes need not be further resolved or veriﬁed. and trying to meet speciﬁcation 1 is much more difﬁcult than trying to meet speciﬁcation 2.43 The “clustering effect” and ways of reducing the total number of boxes in such clusters are discussed ﬁrst in [44] and [102]. for example. speciﬁcation 2 and speciﬁcation 1 lead to different results. Basically. Speciﬁcation 3 is essentially practical for most instances of the optimization problem (11. then we may graph twodimensional cross sections of C. 47 Using. for which a sufﬁciently 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 sufﬁciently wellconditioned at the local optimizer. the web page for our book. Applications code whose goal is to meet speciﬁcation 1. appears in [100]. the algorithm may quit when U F ∗ − LF ∗ < and the box containing the point x at which f (x) = U F ∗ may be printed. to meet this speciﬁcation. 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. for certain nonsmooth problems and illconditioned or illposed problems. then in [228]. and theory particular to these cases allows us to use these approximations to obtain rigorous bounds.46 The approximate optimizing point is then perturbed into the interior of the feasible region similarly to the techniques in [98]. 43 With 44 See corresponding increases in computational time. www. Essentially. A discussion. 48 That is. the matrix of partial derivatives of the equations formed from the Lagrange multiplier conditions.siam. In such instances. Christian Keil and Christian Jansson [108] have been successful at handling a variety of difﬁcult test problems from the Netlib LP test set44 with this criterion. However. if the code exits with a list C. a ﬂoating point nonlinear programming solver such as IPOPT from the COIN project. Software based on speciﬁcation 2 is practical for a signiﬁcantly wider set of problems than software based on speciﬁcation 1. these graphs typically exhibit clusters of boxes about isolated solution points and solution sets. 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. this process ﬁrst uses an efﬁcient commercial or opensource solver to compute an approximate solution with ﬂoating point arithmetic.org/books/ot110.i 166 Chapter 11. i . 46 Neumaier and Shcherbina [173] and Jansson [84] discovered this process independently. as well as some techniques relevant to this case. and interval evaluation of the inequality constraints combined with the Krawczyk or other interval Newton method applied in a subspace for the equality constraints. The approximate primal and dual variables then enter a short interval computation45 to obtain upper and lower bounds on the optimum value. Speciﬁcation 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.
such as iCOs. They can be converted into optimization problems through penalty function methods. more recent codes. see the web page for our book. i .siam. a “feasible solution”). 50 For the iCOs package.org/books/ot110. then use techniques such as those in [98] to construct bounds within which we prove that an exact feasible point exists and for which we can obtain a rigorous upper bound on the global optimum. BARON [227] is successful commercial software for global optimization. 104] is designed to either satisfy speciﬁcation 1 or exceed userset limits on execution time or memory for general problems.i 11. If a good approximation to a feasible point exists. which remains a valuable reference for the theory underlying interval Newton methods. and further comparison and software development will give additional clariﬁcation and increased utility. meeting these speciﬁcations involves simply one or more iterations of the Krawczyk method or other interval Newton method.2. The relationship is spelled out. We have already mentioned Neumaier’s relatively early book [167].6 were not fully made in [174]. The group headed by Arnold Neumaier at the University of Vienna is doing much scholarly work on global optimization. It does not claim to rigorously verify the solutions it provides. but it does use interval arithmetic in places to compute bounds on ranges of expressions.2. 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. Global Optimization and Constraint Satisfaction 167 Speciﬁcation 4 is the easiest to meet: we simply need to ﬁnd an approximate feasible point (that is. still50 under development for speciﬁcation 1. However. pp. 51 Interval Newton methods are important for efﬁciency in solving many global optimization problems. 11. and Waltraud Huyer. 52 Constraint satisfaction problems are systems of equality and inequality constraints. Our GlobSol software [99. However.7 Additional Centers of Study Several groups of researchers have been focussing on interval methods in global optimization. Neumaier’s website is a valuable resource for further information on global optimization. www. but that may not be the best approach. promise to be highly competitive. along with Oleg Shcherbina and Ferenc Domes. One publication of note is a comparison of global optimization software [174].49 . Hermann Schichl. similar to speciﬁcation 2. in [97.2. Its users can generally expect it to ﬁnd an approximation to a global optimum and one (of perhaps many) global optimizing points. That publication is one of few attempts to compare existing software in an unbiased way on problems of potentially practical signiﬁcance and thus provides good guidance. Because of this. GlobSol’s performance does not compare with computer programs designed around the other speciﬁcations. They can be viewed as global optimization problems either without an objective function or with a constant objective function. for example. the distinctions and goals we have given in section 11. 219–223]. have collaborated in the European Unionwide COCONUT (Continuous CoNstraints—Updating the Technology) project for providing a general computing environment for experimentation with and solution of constraint satisfaction52 and global optimization problems. This involves only a few interval linear algebra operations but can fail if the constraints are approximately linearly dependent.51 and the paper [173] that enables easy veriﬁcation of bounds on the optimum of linear programs. Arnold Neumaier.
led by Tibor Csendes at the University of Szeged. in conjunction with the COCONUT project [171]. incorporation into the ILOG solver. also at the University of Vienna.2. have studied interval constraint solving in their QUADSOLVER algorithm [130]. Nonetheless. when a partial differential equation is solved numerically. and continuing with efforts by Christian Bliek. Applications Ferenc Domes. See Appendix D. Particularly noteworthy are the successes of this group in concrete applications. 11. Structural engineering problems typically give rise to large. which we also mention in section 11.8 Summary of Links for Further Study An excellent summary of available software for global optimization and constraint satisfaction problems is given in Neumaier [170]. A number of interesting websites are also available. i . Lebbah et al. there have been some notable successes. It is more challenging to obtain meaningful results when propagating these larger widths through a solution process for a large linear or nonlinear system. See also Ratschek and Rokne [211]. ILOG has been in a position to provide quality products in this area. Furthermore. An excellent introduction to applied interval analysis. Hansen and Walster [57]. Researchers in Hungary.7. Meanwhile.i 168 Chapter 11. reviewed in the book53 [239]. There has been interest in interval techniques in constraint propagation within the French company ILOG. These matrices are typically “assembled” from smaller matrices corresponding to the individual elements into which the 53 With collaboration of other European researchers.3 Structural Engineering Applications Rigorous numerical analysis of models involving partial differential equations is particularly challenging. 11. have consistently done highquality work in veriﬁed global optimization over the years. the rigorous error bounds should reﬂect not only the roundoff error incurred in the solution process but also the discretization error in transforming the equations (differential or integral) into a linear or nonlinear algebraic system. For instance. the motivation for employing interval methods may be that the input data has uncertainties. 173]. since they can interface their CPLEX linear programming solver with techniques for rigorous linear relaxations [28] and the Neumaier–Shcherbina–Jansson technique for providing rigorous bounds on the global optimum [84. associates Laurent Granvilliers and Frédéric Benhamou have produced the freely available constraint propagation package [52]. is [86]. is developing a MATLABbased solver Gloptlab for rigorous global optimization and for use as a test bed within the COCONUT project. Similarly. exempliﬁed by the advances made with intervalbased optimization methods in understanding the problem of circlepacking on the square. these uncertainties correspond to intervals whose widths are typically much larger than the widths of intervals corresponding to roundoff error alone. beginning with a commercial release of Pascal Van Hentenryck’s Numerica optimization software in the 1990s [245]. structured matrices when the ﬁnite element method is used for the discretization. while Lebbah has been making available his ICOS package for solving systems of constraints. and Kearfott [97].
ﬁnding the intersection points of two curves. curves. Computer Graphics 169 structure is partitioned or triangulated. For instance. in which these and other methods featuring rigorous bounds are studied. corresponding to uncertainties in the properties of the building materials used. 162. such as the length or tensile strength of a particular beam to be used in the construction. the lines. they have taken advantage of the “structure” of the systems of equations. Typically. Raﬁ Muhanna and Robert Mullen have been highly successful in bounding the solutions to structural engineering problems with uncertain parameters. and the like. 11. and conferences featuring these methods have been held periodically there. Additional papers in this area include [39] and [172]. preconditioned Gauss–Seidel method.4). the resulting solution bounds are usually so wide that they are meaningless. something that can be handled relatively easily with interval computations. Some references in the area are [233] and [46]. Part of the problem is that dependency is introduced during the assembly process. integrating the assembly and solution process. 163]. This gives rise to lowdimensional systems of loworder polynomial equations. and surfaces are given as parameterizations of relatively loworder polynomials or piecewise polynomials. tracing the intersection curves of two surfaces.4. this allows guaranteeing the safety of the structures with less construction cost. If the elements are assembled in the traditional way to form the system of equations to be solved. Challenges in solving such problems involve. Muhanna has established the Center for Reliable Engineering Computing. among other things. Examples of this work are [144. and there is additional dependency in the system itself. missing a solution or coming to an incorrect conclusion can result in large problems with the ﬁnal output. implementing the solution process to be sufﬁciently efﬁcient for smooth operation of the system in which it is embedded.4 Computer Graphics Problems in computer graphics typically include ﬁnding the intersection points of a surface and a line segment. 160. There are uncertainties. 11. as explained in section 7. determining that intersection point of a surface and a line segment closest to one end of the line segment. or preconditioned Gaussian elimination. where experiments are in progress to more accurately determine Newton’s i . and we attempt to use offtheshelf interval methods (such as the Krawczyk method. 161. determining whether one surface is in “front” of another surface. To do so. The authors of these articles are at the University of Wuppertal. Despite this.5 Computation of Physical Constants One example of use of interval arithmetic in determining precise values of physical constants is described in [81] and [128]. since the computations are typically embedded into and carried out repeatedly in relatively sophisticated graphical modeling systems.i 11. there is a sizeable advantage to being able to predict sharp bounds on the behavior of a structural system. or even cause the system to crash. that translate into interval values associated with each element. Furthermore. it is advantageous to have rigorous bounds on such solutions.
112] and C++ for interval arithmetic applications. 162. An excellent applied introduction. 114. including description of global optimization and parameter estimation techniques in some detail and application to robust control. 11. 47. involving quadrature. 51. that relates experimentally measured quantities to the value of the constant. 256]. Applications gravitational constant. along with a few suitable references. The gravitational constant is determined through a computation.i 170 Chapter 11. • electrical engineering [31.7 For Further Study A collection of applications. 212. 72. • mechanical engineering [115. 11. and robotics.6 Other Applications Interval analysis has found applications in a wide variety of different areas. and Schütt used veriﬁed Gaussian quadrature to determine which of the measured quantities were of critical inﬂuence on the error in the computed value of the gravitational constant. and use of PROFIL/BIAS [111. i . implementation using the IEEE arithmetic standard. as well as details of implementation for automatic differentiation. We mention some of these below. 230]. 190]. both proposed and completed in 1996. just to whet the reader’s appetite: • computation of complex roots of polynomials and complex eigenvalues [35. Lang. appears in [103]. Holzmann. 165. is [86].
and its terminology is indispensable in a subject such as ours. . 2. . The objects are called elements or members of the set.}. . we may use the setbuilder notation S = {x : P(x)}. We / may specify a set by listing its members between braces as. . . . denoted ∅.i Appendix A Sets and Functions Review of Set Concepts Set theory occupies the very foundations of mathematics. . b] = {x ∈ R : a ≤ x ≤ b}. (A. Alternatively. b are real numbers with a ≤ b. b. and lowercase letters such as a. to denote set elements. . for instance. We therefore devote a few pages to a brief review of some necessary concepts and notation. . Set Notation A set is a collection or assemblage of objects. . to denote sets. C. −3. c. . b. The notation a ∈ A means that a is an element of A. 0. which deﬁnes S as the set of all elements x such that a proposition P(x) holds. the set of all odd integers that are multiples of two is empty. For example. A = {a.) 171 i .1) The empty set. The notation a ∈ A means that a is not an element of A. if R is the set of all real numbers and a. Another example is the set {x : x ∈ [1. . B. 3. 2]∩[3. then we can deﬁne the closed interval [a. For instance. This method works best for sets having ﬁnitely many elements but is also acceptable for some inﬁnite sets such as the integers: {. −1. b] as [a. (We will review the intersection operation ∩ shortly. 1. 4]}. −2. . c}. is a set with no elements. . In this section we use uppercase letters such as A.
because it is impossible to produce a counterexample or contradiction.2) The notation A1 ∪ · · · ∪ An may be used for a ﬁnite family of n sets. and write A⊆B if every member of A is a member of B. . The second item is a set containing one element (a singleton set). {b}} are all different. . is the set of all elements that belong to either A or B or both: A ∪ B = {x : x ∈ A or x ∈ B}. i Ai = {x : x ∈ Ai for every i}. We say that A equals B and write A = B if and only if A ⊆ B and B ⊆ A. n} or simply {A1 . {{a}}.i 172 Appendix A. and so on. {a}. An }. Subsets and Set Equality We say that A is a subset of B. If A ⊆ B and A = B. Sets and Functions Families of Sets A family (or class) is a set whose elements are sets themselves. A2 . {{a}. . A2 . for a family {Ai } we have i Ai = {x : x ∈ Ai for at least one i}. . denoted A ∪ B. A family {A1 . . . denoted A ∩ B. any statement about members of ∅ holds vacuously. (A. Indeed. More generally. . {a}}. That is. then A is a proper subset of B and we write A ⊂ B. . A ∩ B = {x : x ∈ A and x ∈ B}. More generally. The ﬁrst item is not a set. For a ﬁnite family.3) We may use the notation A1 ∩ · · · ∩ An for the intersection of a ﬁnite family. . . or that B contains A. A3 . The complement of A is the set of all elements that are not members of A: Ac = {x : x ∈ A}. Let us note that the entities a. The empty set is a subset of any set. Set Operations The union of two sets A and B. (A. The intersection of two sets A and B. we may use notation such as {Ai : i = 1. / i . The third item is a set containing a set. {a. is the set of all elements that belong to both A and B. .} may be denoted by {Ai } and referred to as a sequence of sets. Two sets A and B are said to be disjoint if A ∩ B = ∅. The third and ﬁfth items are simple examples of families or collections of sets.
symmetric if x R y implies y R x for all x.1.e. 2] × {3}. and transitive.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}. One example would be the set [1. and Partial Orderings Let X and Y be sets.2. This is. y) ∈ R.3. between similar triangles) is an equivalence relation. 4].. z ∈ X. and let x ∈ X. The Cartesian product X × Y is the set of all ordered pairs (x. respectively. In mod12 (i. denoted X × Y . antisymmetric if x R y and y R x imply x = y for all x. is the set of all ordered pairs having ﬁrst element from X and second element from Y : X × Y = {(x. A relation R from X to Y is a subset of X × Y . Example A. i . we write x R y. / Relations. y) such that 1 ≤ x ≤ 2 and 3 ≤ y ≤ 4. We could deﬁne many different relations R from X to Y . Equivalence Relations. A relation on a set is an equivalence relation if and only if it is reﬂexive. y) : x ∈ X.. 3. y ∈ X. Such a relation is called 1. 2] and [3. of course. Example A. 13 ≡ 1 (12). symmetric. y. 4. Example A. y ∈ X. a collection of subsets of X such that every element of X belongs to one and only one set in the collection.. A relation R from X to X is said to be a relation on X. i. reﬂexive if x R x for all x ∈ X. It can be shown that the family {Cx : x ∈ X} is a partition of X. The Cartesian product of X and Y . In modular arithmetic we write a ≡ b (N ) whenever a−b is exactly divisible by N. 2.e. for example. The relation of geometric similarity (e.g. Let X and Y be the intervals [1. transitive if x R y and y R z imply x R z for all x. y ∈ Y }. “clock”) arithmetic. It is easily veriﬁed that equivalence modN is an equivalence relation. Let R be an equivalence relation on X. are both partial orderings of R. If (x. The equivalence class of x under R is the set Cx = {y ∈ X : y R x}. for example. A relation R on a set X is called a partial ordering of X if and only if it is transitive. a unit square in the xyplane. The relations < and ≤.
Example A. for example. onto if Ran f = Y .i 174 Appendix A. 2] → [3. we will be able to write F ([x. The set X is the domain of f . and Y is the codomain of f . onetoone if f (x1 ) = f (x2 ) =⇒ x1 = x2 whenever x1 . the function fA : A → Y such that fA (x) = f (x) for all x ∈ A is the restriction of f to A. In our case. and F (x) = f (x) for all x ∈ D. If f : X → Y with A a nonempty subset of X. We write f : X → Y. It happens to be a constant function whose range contains the single value 3. The relation given at the end of Example A. Hence two functions are equal if and only if their domains are the same and they both map elements from that common domain in precisely the same way. x]) = f (x) because we have already agreed on the equivalence relation x ∼ [x. consider. Composition is associative. By an extension of a function f : D → W . we mean54 a function F : T → Z such that D ⊆ T . however. Composition is generally not commutative.4.1 is a function f : [1. If f : X → Y and g : Y → Z. and x is a preimage of y under f . y) ∈ f . g ◦ f can exist only if the range of f is included in the domain of g. 4]. 54 In this deﬁnition. the two functions f (x) = x 2 and g(x) = x + 1: f ◦ g(x) = (x + 1)2 = g ◦ f (x) = x 2 + 1. The range of f is the set Ran f = {f (x) : x ∈ X}. with h ◦ (g ◦ f ) = (h ◦ g) ◦ f. x2 ∈ X. W ⊆ Z. then the composition g ◦ f is the function from X to Z such that g ◦ f (x) = g(f (x)) for all x ∈ X. A function f : X → Y is said to be 1. The deﬁnition of equality of sets allows us to formulate a condition for the equality of functions. 2. x]. Two functions f and g are equal if and only if Dom f = Dom g and f (x) = g(x) for all x ∈ Dom f . The element y = f (x) is the image of x under f . i . subset containment permits isomorphisms deﬁned by equivalence relations. Because functions are deﬁned only over their domains. Sets and Functions 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. We sometimes denote the domain of f by Dom f .
4. but we can still consider preimages of various sets under g. If A ⊆ X. S1 ⊆ S2 =⇒ f (S1 ) ⊆ f (S2 ). If B ⊆ Y . R1 ⊆ R2 =⇒ f −1 (R1 ) ⊆ f −1 (R2 ). 5. 1]) = [0.i 175 The identity function for a set X is the function IX : X → X such that IX (x) = x for all x ∈ X. 1]. f (∅) = ∅ and f −1 (∅) = ∅. the preimage of B under f is the set f −1 (B) = {x ∈ X : f (x) ∈ B}. 1].4) This is called the image of the set A under f . The function g (if it exists) is unique and is the inverse f −1 of f . then the following statements hold: 1. In addition. Let f be deﬁned by g(x) = x 2 for all x ∈ R. S = f −1 (R) =⇒ f (S) ⊆ R. Set Functions Let f : X → Y.5. The preimage of the interval [1. (A. −1] ∪ [1. the function g of the preceding example is not invertible. If {Yi } is a family of subsets of Y . and we may write g ([−1. we deﬁne f (A) = {y ∈ Y : y = f (x) for some x ∈ A}. 2]. 3. then i . then (a) f (b) f i i Xi = Xi ⊆ i i f (Xi ). If {Xi } is a family of subsets of X. 1] under g is the interval [0. f (Xi ). if X and Y are nonempty sets and f : X → Y . R = f (S) =⇒ S ⊆ f −1 (R).5) Example A. 4] under g is the union [−2. It can be shown that a function is invertible if and only if it is onetoone and onto. (A. The image of the interval [−1. The reader may wish to verify some simple facts about set functions: 1. Note carefully the distinction between a set preimage and an inverse function. 2. A function f : X → Y is invertible if there exists a function g : Y → X such that g ◦ f = IX and f ◦ g = IY . 2.
However. unions. we can see that f −1 (f (A)) ⊇ A. while the process of taking images preserves only containments and unions.i 176 (a) f −1 (b) f −1 i i Appendix A. i . Note that if f : X → Y with A and B arbitrary subsets of X and Y . then it is not true general that f −1 (f (A)) = A or f (f −1 (B)) = B. f (f −1 (B)) ⊆ B. and intersections. Sets and Functions Yi = Yi = i i f −1 (Yi ). respectively. f −1 (Yi ). We also see that the process of taking preimages preserves set containments.
i Appendix B Formulary OneDimensional Intervals Interval X = X . Y } . X = {x ∈ R : X ≤ x ≤ X} Degenerate interval x = [x. Y ) . max(X. Y ) . Width. absolute value. X = max(X. otherwise. x] Union and intersection X ∩ Y = {z : z ∈ X and z ∈ Y } X ∪ Y = {z : z ∈ X or z ∈ Y } X ∩ Y = ∅ =⇒ X ∩ Y = max(X. min(X. Y ) Interval hull X ∪ Y = min{X. max{X. Y ) . X). 177 m(X) = 1 (X + X) 2 i . Y } X∪Y = =X∪Y ⊃X∪Y if X ∩ Y = ∅. X ∪ Y = min(X. midpoint w(X) = X − X.
X−Y X · Y = [min S. Properties of arithmetic operations 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. XY . max S] . Formulary ⊕ = + − · / S = {XY . 1/Y . X/Y = X · (1/Y ). X+Y X−Y = X−Y . 1] X(Y + Z) ⊆ XY + XZ x ∈ R =⇒ x(Y + Z) = xY + xZ Appendix B. XY } 0∈Y / 1/Y = 1/Y .i 178 Order relations X < Y ⇐⇒ X < Y X ⊆ Y ⇐⇒ Y ≤ X and X ≤ Y Deﬁnitions of arithmetic operations X ⊕ Y = {x ⊕ y : x ∈ X. Y Z > 0 =⇒ X(Y + Z) = XY + XZ X + Z = Y + Z =⇒ X = Y Relations between width and absolute value w(aX + bY ) = aw(X) + bw(Y ) w(XY ) ≤ Xw(Y ) + Y w(X) w(1/Y ) ≤ 1/Y 2 w(Y ) if 0 ∈ Y / i . y ∈ Y }. Endpoint formulas for arithmetic operations X+Y = X+Y . XY .
1] Y. . 1] 2 Symmetric intervals X is symmetric ⇐⇒ X = −X m(X) = 0. m(Xn )) X = max Xi  i Interval Matrices A = max i j Aij  w(A) = max w(Aij ) i. where the Xi are intervals x ∈ X if xi ∈ Xi for each i X ∩ Y = (X1 ∩ Y1 . . .i 179 Interval in terms of midpoint and width X = m(X) + 1 w(X)[−1. Z symmetric =⇒ X + Y = X − Y = (X + Y )[−1. Xn ∩ Yn ) X ⊆ Y if Xi ⊆ Yi for each i w(X) = max w(Xi ) i m(X) = (m(X1 ). . . . Y. Z symmetric =⇒ X(Y + Z) = XY + XZ Interval Vectors X = (X1 . 1]. . . . XY = XY [−1. X = X[−1. X(Y ± Z) = XY + XZ = X(Y  + Z)[−1. X. . . Xn ).j (m(A))ij = m(Aij ) Interval Valued Functions United extension g(X) = g(X) = {g(x) : x ∈ X} ¯ i . 1]. 1]. . X = w(X)/2.
X . Yn ) ⊆ F (X1 . f (X) . Formulary f increasing. . Y ) X ⊆ Y =⇒ d(X. . Y ) d(X + Z. . Z) + d(Z. . Xn ] . . X > 0 or n odd (or both). Xn ) ⊆ F (X1 . . Xn ) Xn . X n . . . ∃N such that n > N =⇒ d(Xk . Y ) = 0 ⇐⇒ X = Y d(X. . X) < ε Lipschitz condition ∃L such that X ⊆ X0 =⇒ w(F (X)) ≤ Lw(X) i . Xn ) Fundamental theorem of interval analysis F an inclusion isotonic interval extension of f Power function =⇒ f (X1 . f decreasing Inclusion isotonicity Yi ⊆ Xi for each i =⇒ F (Y1 . 0) = X Convergence ∀ε > 0. f (X) . Y ) ≤ d(X. f (X). . . . [0. n n n n X = {x : x ∈ X} = X .i 180 (The united extension is simply the exact range of g over X. X) d(X.) Monotonicity f¯(X) = f (X). Y ) = d(Y. . Y + Z) = d(X. Appendix B. . X < 0 and n even. 0 ∈ X and n even Sequences Metric d(X. Y ) = max{X − Y . . X − Y } d(X. . Y ) ≤ w(Y ) d(X.
. (k = 0. . X i + j w(Xi )/N Xi = ∪N=1 Xi. . . Xn. . 2.j ) = w(Xi )/N X = ∪N=1 (X1. . Xn. . .b] i .jn ) = w(X)/N Reﬁnement F(N ) (X) = Excess width w(E(X)) = w(F (X)) − w(f (X)) Nested sequence Xk+1 ⊆ Xk Finite convergence in K steps ∃K such that k ≥ K =⇒ Xk = XK Iteration Xk+1 = F (Xk ) ∩ Xk Onedimensional Newton’s method X(k+1) = X (k) ∩ N (X (k) ). [a. and there may be advantages to doing so in particular instances and for particular k. 2.i 181 Uniform subdivision of interval vector Xi.jn ) Here.jn ) ji w(X1. . .). . 1.b] [a. .) N ji =1 F (X1. . Xn. . Integration Endpoint formula F (t) dt = F (t) dt . . .b] F (t) dt [a.j = Xi + (j − 1) w(Xi )/N .j j w(Xi. . 1.j1 . . m(X) may be replaced by any y ∈ X.j1 .j1 . N (X) = m(X) − f (m(X))/F (X) (k = 0.
i 182 Polynomials a. b have opposite signs =⇒ (A0 + · · · + Aq t q ) dt = T0 + T1 + · · · + Tq . (x)k = 1 dkx (t0 ) k! dt k Recursions for automatic differentiation k (uv)k = j =0 (u)j (v)k−j k 1 (u)k − (v)j (u/v)k−j v j =1 k−1 (u/v)k = 1 u k−1 (ua )k = a− j =0 j (a + 1) (u)k−j (ua )j k (eu )k = j =0 1− j k (eu )j (u)k−j i .b] (A0 + · · · + Aq t q ) dt = A0 (b − a) + · · · + Aq (bq+1 − a q+1 )/(q + 1). where Ai (bi+1 − a i+1 )/(i + 1). t])(t − t0 )N . t]) is an interval enclosure for xN ([t0 . i odd. [a. Formulary [a.b] Ti = Enclosure by Taylor expansion N−1 x(t) ∈ k=0 (x)k (t − t0 )k + RN ([t0 . i even. t]) (x)0 = x(t0 ). a. (Ai bi+1 − Aa i+1 )/(i + 1) . where RN ([t0 . b have same sign =⇒ Appendix B. (Ai bi+1 − Aa i+1 )/(i + 1) .
i 183 k−1 j 1 1− (u)k − u k j =1 1 k k−1 (ln u)k = (u)j (ln u)k−j (sin u)k = (j + 1)(cos u)k−1−j (u)j +1 j =0 (cos u)k = − 1 k k−1 (j + 1)(sin u)k−1−j (u)j +1 . j =0 i .
i i .
3. 1. 1.3. 8].75 and w = 3. 3.2. . The interval expression X − X yields the set of all real differences x − y when x and y are permitted to range through X. 2. √5 . for example. 2. 2 .7.77893 . 1] − [0. (d) − 1 . . So. 1]. .1.9157 .05 kg. 185 i . (c) − 2 . The required inner products are given by 1 2 p = ( √5 .5. (b) [−12. 7]. For the interval [3. 2]. 0) · (f. X independently. X − Y = [1.7 = 0. 1.5. − 1 . we ﬁnd that 2 2 ≤ π ≤ 4. Using a pair of squares.4. . Therefore M ≈ 3. However.8)/2 = 3. 6.8−3. F0 + F F0 − F ≤a≤ . 2. · 10−17 < 10−10 . 3 5 5 5 2. m0 + m m0 − m 1. until we ﬁnd a precision below which we obtain an incorrect answer and above which we obtain a correct answer. The reader may wish to try a pair of hexagons as well. 13] and X ∪ Y = [−2.1. −7) = 1 √ (f 5 + 12).75 ≤ 0.1. No. we can use a variableprecision package to try different precisions. 6]. we have [0. 2. X + Y = [3. We can use techniques covered later to prove that we have used enough digits of precision.4. 1] = [−1.2. and so x75 = 3.7+3. Take natural logs of both sides of x75 = (1 − 10−21 )2 and use a Taylor expansion: 75 ln x75 = 275 ln(1 − 10−21 ) = 275 (−10−21 − (1/2)(10−42 ) − · · · ) = −37.75 kg and M − 3. since we are given the correct answer.i Appendix C Hints for Selected Exercises √ 1. (a) [−2.8] we have m = (3.
1. then a is clearly in X(Y + Z).8. Later we will introduce a procedure called outward rounding. 3]. .6). 3.432.3.234. 1.2.8].405.834. 3] 5 + 12) = 1 √ [13.4). 6. we truncate at place 4 for the left endpoint and round upward at place 3 for the right endpoint: [1. Direct computation shows that the volume v = wlh lies within in the interval V = [42599. Proof of (4. hence v = 43517.7082039 .8137767 . y ∈ Y and some pair of numbers x ∈ X.4. z ∈ Z. 15] 5 = [5. z ∈ Z =⇒ ξ ∈ XY + XZ. 4. and choosing x = x1 we have a = x(y + z) ∈ X(Y + Z). If desired. outward rounding to one place gives us p ∈ [5.8. 6.4.266 ± 917. X + Z] = [Y + Z. . . If y = z = 0. Hints for Selected Exercises Replacing f by the interval F = [1.2. For Exercise 3. Proof of (4. x2 ∈ X. 3. .457].4. y ∈ Y. ξ ∈ X(Y + Z) =⇒ ξ = xζ for some x ∈ X and ζ ∈ Y + Z =⇒ ξ = x(y + z) for some x ∈ X. In the present instance. Let a ∈ XY +XZ. so we have y + z = 0 iff y = z = 0. Then a = x1 y + x2 z for some x1 . Y + Z] =⇒ X + Z = Y + Z and X + Z = Y + Z =⇒ X = Y and X = Y =⇒ X = Y. we can enter W L H V = = = = infsup(7.4. X + Z = Y + Z =⇒ [X + Z. and z ∈ Z =⇒ ξ = xy + xz for some pair of numbers x ∈ X.8). W*L*H 4. To retain the third place. it sufﬁces to show that XY +XZ ⊆ X(Y +Z). we ﬁnd that p is enclosed in the interval P = 1 √ ([1. 44435. y+z y+z i .4). infsup(405.3). y z + x2 ∈ X.1]. y ∈ Y.1. By hypothesis yz ≥ 0. .]. we could use outward rounding to retain containment with numbers having only one decimal place: v ∈ [42599. 3. Otherwise y + z = 0. infsup(14.i 186 Appendix C.7. By (4.1].15). 44435.
” the command setround(1) sets the rounding to “round up. (a) We say that F (X) is continuous at X0 if for every ε > 0 there is a positive number δ = δ(ε) such that d(F (X). and so it exits with the machine in the same rounding mode as when the routine was entered. Take Z = [0. so it can handle arrays and complex interval arguments. For example. . 3]. Now 5 is in [2. 3] and √ furthermore. again.ˆ5. we have√ (x) = 0 at x = 2 ∈ [0.” while the command setround(0) sets the rounding to “round to the nearest machine number. 3] where p (x) = 0. If F is an interval extension of f such that F (x) = f (x) for real x. F ([0. X0 ) < δ.6. 3]. 2 2 . Now the maximum value is easily 3 √ seen to be f (3) = 3. gives f ([0. 5. 3]) ⊆ [0. X = [0. >> y = x.28). 2]) = F ([0. d is the interval metric given by (6. √ 2 f 5. 3]. However.3333 . and p(3) = −5. 3]. This can be done in various ways. 2]. 1]) = 1 3 .i 187 4.11. 5. 2]).*x. So f (x) has a √ minimum value at x = 2.13.ˆ420. Since f (x) = x√− 2. 1 1 (X + X) + (X − X)[−1. we obtain (5.*x. 1].001). and Y = [1. With further calculation. but F ([0.*x.3). we ﬁnd 3 that f ([0. Here.ˆ26. 3]) ⊆ [−1. 9].9. 3]2 − 2) = [0.ˆ66*x. 4. f ( 2) = − 4 2.999. The form f (x) = x( 1 x 2 − 2). 1] = 3 [−6. 3 3 equivalent in real arithmetic. Without using calculus. we obtain x = ± 5. then F1 (X) = F (X) + X − X deﬁnes a different interval extension of f . X = 5. Since it is the only place in [2.5. Therefore f ([0. The command setround(1) sets the rounding to “round down. F (X0 )) < ε whenever d(X. 1]. 4 4 6. 3]. we can ﬁnd intervals enclosing the range of values found above. 5. 3][−2. Since p(2) = −6. plotting f in its own window could be done with the following sequence: >> x = linspace(0.+15.10.1. try to identify the part where the lower and upper bounds of the interval value y are set. i . p (x) = 2x > 0 for x in [2. 3]. .+15. so 5 is a local minimum of p(x) for x in [2. 3]( 1 [0. plotting on a single window or in multiple windows. 3]3 − 2[0.88562. 3]) = [− 4 2.6. >> plot(x.8. f ([0.y) √ √ 5. Setting p (x) = −5 + x 2 = 0.*x+1.2. 3] = [−6. 2 2 X = X.ˆ3. First. 1]. namely.” There is also some complication in this routine. 3]) ⊆ 1 [0. 1 3 . it remains only to evaluate p(x) at the endpoints 2 and 3.
6] is √ √ at x = 2 and is f ( 2) = −1.3. with V1 = 10. A − A  + B − B } ≤ max{A − A . .409 .55].4) + [−0. B = [B. A + B] . . A = [A .611 . B = [B .2. A ) + d(B. .2] = −1. as we have seen in an earlier chapter.10. 0. and interval coefﬁcients determined by R1 = R2 = R3 = 1000 ± 10%. Since f (x) = x 2 − 2. 0. 1. A .5. + [−0. 20 ] = −[0.824 . 1100]) = −[ 20 .112] ⊆ [−2. . we take DF (X) = X 2 − 2... B ] and write d(A + B. −1. In fact. A − A + B − B } ≤ max{A − A  + B − B  . A + B ) < ε whenever both d(A. So the exact range of values is [−1. In fact. is better written as −1/(1 + R1 /R2 ) for interval computation. So R1 = R2 = R3 = [900. [A + B .56] and Fmv ([1. B ). . 18 ] = −[0. A ) and d(B. δ is dependent on ε only (and not on the intervals A.6]) = [−0.8856 . 2). V2 = 5.77]. 1100]. 1100] + [900. 6. 1100]/[900.83]. From H (Y ) = −2 + 1 (Y + c)2 + (Y + c)c + c2 3 we obtain Fc ([1. . A + B ]) = max{(A + B) − (A + B ) . with the given data R1 = R2 = R3 = [900. −R2 I1 + (R2 + R3 )I2 = −V2 .112.]. −1. We can apply the Gaussian elimination process shown in the text. 1. .8856 . We have (R1 + R2 )I1 − R2 I2 = V1 . 6.45.01.2. A − A } + max{B − B .56][−0.885333 . B ) are less than δ.6]) ⊆ [−1. Let A = [A. 1100]) = −[ 22 .95. the ﬁrst expression yields 9 11 −[900. whereas the second one yields the narrower interval enclosure 9 11 −1/(1 + [900. . . .56. We ﬁrst notice that the multiplier a21 /a11 becomes −R2 /(R1 + R2 ) which. Then DF ([1.2. −1. 0.824 . 1. B].56.6)) = −1. Hints for Selected Exercises 6. .] because max(f (1. The exact minimum value for x ∈ [1. 1100]. 1. B. 0. Hence given any ε > 0 we can choose δ = ε/2 and have d(A + B. .2. A]. . i . f (1. . B − B } = d(A.11. 1100]/([900. .6]) = f (1. 7. A ]. 0. In this example (as in most others) Fc is narrower. (A + B) − (A + B )} = max{A − A + B − B  . .2. 0. B ) so the continuity is uniform. A + B ) = d([A + B.i 188 Appendix C.
01. 1795]I2 = −5 + [4. 5. 10. 8. in Case 3 we would have Y2 = infsup(Inf. If the extended reals were used as the underlying model.3.5291. it does not include −∞ and ∞ as numbers). 1/1800][9. the Cset model used in this function has underlying set of numbers the ﬁnite reals (i.5. 1/1800](10 + [−0.4609]) = [1/2200. Also. The given polynomial has three real roots in the interval [−1.4609.i 189 Using this interval multiplier. (−∞.000419. Our result is that the interval vector (I1 . m(X (0) ) − 1 8.55])(−[900. 0.000419] and I1 = [1/2200. 0. First note that an object with speciﬁc gravity < 1 will ﬂoat. Caution should thus be exercised when using xreciprocal in either case. 0. 3].8.4609]. and in Case 4 we would have Y1 = infsup(Inf. since INTLAB follows the ﬁnite version of Cset theory in some cases. 0. 1/1195][−0.Inf) and Y2 = infsup(Inf. A similar technique is used for Case 2 and Case 3. the Gaussian formulas. but INTLAB does not follow it consistently: Try i .5. (It is necessary that the computed result contain the exact mathematical result.55])10. We ﬁnd h = 1. [1800. only a root lying in [0. However.5.7.) Thus.000419.e. 0. I2 ) encloses the set of all real vector solution points for any real number choices of coefﬁcients from the given interval coefﬁcients. 0.Inf). 0. 8.5] and I2 = [1/1795.NaN] as the empty set.Inf). 37 ]. 1100][−0. we convert them to intervals to obtain a mathematically rigorous lower bound. evaluated in IA at the third or fourth nonzero digit. where I1 = [0. ∞)..5] = [−0. We seek x such that x 3 = 5x + 1.Inf). so [1195. 1100])I2 . In Case 1. if one interprets [NaN. 1/X is computed with interval arithmetic.10. although the numerator and denominator of the quotient 1/X are both real numbers. To ﬁnd a good starting interval. 3 [m(X (0) )]2 − 2 25 − 2 =5− = [ 17 . 1100]))I2 = −5 − (−[0.000419].00582] and I2 = [−0. then in Case 1 we would have Y2 = infsup(Inf.45. 2200] − (−[0.22 ± 0. 2] makes sense as an answer.5] = [−0.6.00433. − 24 ] ∪ [ 1 .000419.45. yield the results ([1800. 0. and the lower bound of that result is used to form the lower bound of the semiinﬁnite interval. examine the graphs of y = x 3 and y = 5x + 1. 0. 1/1800](10 + [900. 6] 8. 2200]I1 = 10 − (−[900. 8 12 (0) 2X 2[4. 8.000419]) = [1/2200.
053592491/[−1.9461195 − 0. Hints for Selected Exercises computing infsup(0. etc.9]. the solution θi = 0. 0.0] = [−1.0052 ln(I ).7071 · · · .75824). 1]) is large enough.21038).i 190 Appendix C.25. 1.94641. 0. First. because N (X) is already contained in X. x1 : one from the ﬁrst equation (involving the ﬁfthdegree polynomial) and one from the second equation (straight line). 1]. 8. there is exactly one real positive zero in [0. 1.12. −1.0052/[0.73.892239.0].0052]} = [0. all having x1 ∈ [0.30958 radians (75. To see that the starting box X0 = ([0.005828036.06264. and (0. f (I ) is clearly negative for I > 1 and positive for I < 0.13.0]) = −1 − 0. Observe the following dialogue: i . depending upon how INTLAB is set to display intervals.892239.053592491. infsup(0.0]. As can be seen graphically. 1. Aberth’s RANGE yields the following solutions: (1) for the search interval [1. There are three critical points: to ﬁve places they are (0. so f (I ) = 0.0).76551 radians (43. 8. 0.88443. 1] as well.9461195) = −0. superpose two plots of x2 vs.892239. Then return to the straight line equation to see that these intersections all have x2 ∈ [0.1).892239.0)/infsup(1. 8. Also see Note 3 on p. −1.15. f (m(X)) = 0.0052/I so starting with X = [0. N(X) = 0. the function f (I ) can be simpliﬁed: ln(109 I ) = ln(109 ) + ln(I ).005828036. I = 0.20. [0. we can compute an interval Newton iteration as follows: m(X) = 0.8928376].8928042. Intersecting that with X = [0. 8.11.8922390 − I − 0. In fact it contains the unique solution to the problem and is already an interval of width about 3 × 10−5 .7071 · · · 8. 1.60975). 1]. 0.0334◦ ).0] does not change it.0052 ln(0.35]. 0.0)/infsup(0. Thus.8922390.892239 − 0.0052].892239.9461195 − {−0. f (X) = f ([0. 1.9461195. In the given equation f (I ) = 0. (0.28537.8605◦ ). your results may differ. 0. 1. the solution θi = 1.14. It should be obvious that there are three intersection points. V = 1. We have f (I ) = −1 − 0. there are two solutions X=± 0. 114. 8. (2) for the search interval [0.071715.
you can see this when sqrt(infsup(1. At k dt = = = [a.1.b] [0. t A . INTLAB uses the principal value of the square root. [0. in the last case.____i >> intvalinit(’DisplayInfsup’) >> sqrt(infsup(1. (b) 0. whose lower left corner is −1 − i and whose upper right corner is 1 + i.74300141925. To 10 places.0] [a. (*) but this is not the same as {bk+1 /(k + 1) − a k+1 /(k + 1)}A.0] At k dt . − A A + A.0] At k dt + At k dt + At k dt . 9. such as in constraint propagation with real variables or in interval Newton methods dealing with real variables.6314179219. Thus. For k odd we have At k = At k . but not in others.b] tkA . .3.0000 > >> intvalinit(’Display__’) >> sqrt(infsup(1. For example.0] At k dt + At k dt . 1. which is [−1/4.1)) intval ans = [ 1.b] = − = a k+1 bk+1 a k+1 bk+1 A. while. 2] − (1/4)[1. 1]. 9. k+1 k+1 k+1 k+1 bk+1 A − a k+1 A bk+1 A − a k+1 A . INTLAB interprets sqrt as being complexvalued for negative values of its argument.b] [a.0000 + 0. t < 0.____ + 0_. t A.1)) intval ans = 0_.b] At k dt .1)) intval ans = < 0. 1.0000 .1)) returns a small region about i. Aberth’s RANGE ﬁnds (a) 6. At k dt [0. if k = 3 and A = [1.0000i . 0].i 191 >> intvalinit(’DisplayMidrad’) >> sqrt(infsup(1.b] At k dt At k dt [0. the result is represented as a disk of radius 1 in the complex plane. the result is represented as a rectangle in the complex plane. 2]. In fact. 2]. then (*) is (1/4)[1. and [a.0000 + 1.1.0000i .0] [a. [0. b] = [−1.0000i ] In the ﬁrst case. i . tkA . At k = Therefore [a. k+1 k+1 Note: The result is equivalent to {bk+1 /(k + 1)}A − {a k+1 /(k + 1)}A. This interpretation of the square root is appropriate in some contexts. k k t > 0. [a. 1/4]—not [0.
k! dx k j ! dx j (k − j )! dx k−j j =0 j =0 9. since 1 ≤ Xi < X i ≤ 2. each of them ≤ 1. 9. XK+1 Xi i . i .13) follows. Just write 1 XK+1 i − 1 Xi K+1 = Xi K+1 − X K+1 i K+1 X K+1 X i i = (X i − X i )[sum of K + 1 terms]. 2]. K! dt K t (−1)K XiK+1 . 9. So only the j = 0 terms contribute in the summations for the sine and cosine. it follows that w((f )K (Xi )) ≤ (K + 1)(X i − X i ).i 192 Appendix C. we have G ≤ F and F ≤ G so (9. Write Xi = X i .10. The ﬁrst two formulas are an exercise in elementary calculus. For K even. From (9. Xi and carry out the interval arithmetic: (f )K (Xi ) = (−1)K [X i . X i i K+1 ] = (−1)K 1 1 K+1 .12) and F (t) ⊆ G(t). X i ]K+1 = (−1)K [X K+1 . j dx j dx k−j dx k j =0 where the binomial coefﬁcient k j = k! j !(k − j )! can be broken up into its three factors to obtain (dividing both sides of the Leibnitz formula by k!) k k 1 d k (uv) 1 dj u 1 d k−j v = = (u)j (v)k−j . From this. the left side of (9. The third is essentially the Leibnitz formula k d k (uv) k d j u d k−j v = .6. (b) With u(t) = t we have (u)1 = 1 and (u)i = 0 for i > 1. Hints for Selected Exercises 9.7. We have (f )K (t) = so (f )K (Xi ) = 1 dK (−1)K (1/t) = K+1 .34) is f (t) = 1/t.40) is w((f )K (Xi )) = 1 X K+1 i − 1 K+1 Xi . The integrand of (9.4. where Xi is a subinterval of the integration interval [1.
b] for b > 1 and ﬁnd that P (Y (0) )(t) = 1 + 0 t [1.3. The exact solution is y(t) = 1/(1 − t).11. b2 ]t ⊆ [1. 1 0 0 1−x1 0 1−x1 −x2 2 2 2 (x1 + x2 + x3 )e−x1 x2 x3 dx3 dx2 dx1 = 0.i 193 9. which blows up as t → 1. b] for t ∈ [0. (b − 1)/b2 ]. (a) We can take Y (0) = [1. i . 10.04955715430˜. b2 ] ds = 1 + [1. (b) The exact solution is y(t) = e−t . The maximum value that (b − 1)/b2 can have for any b ≥ 1 is 1/4 when b = 2.
i i .
Texas. The purpose of this appendix is merely to suggest two starting points. provides links to interval and related software packages. Since the subject is inherently computational. There are two mirror sites: one at the University of Texas at El Paso and one in Spain.org/books/ot110 Here they will endeavor to offer current links to the computational tools mentioned in the book (such as INTLAB. comaintainer of the site.edu/intervalcomp/ serves as a main hub for the interval analysis community and is strongly recommended. It enumerates various programming languages for interval analysis. 195 i . as well as other resources of interest to the reader.cs. RANGE. its goal is to disseminate information and facilitate collaboration between researchers both inside and outside the interval community. 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. it is not surprising that the Internet has played an essential role in its growth. Interval Computations Site The Interval Computations site http://www.utep.i Appendix D Internet Resources Interval analysis is a rapidly evolving area with an everexpanding set of applications. Web Page for This Book The authors will maintain a web page at http://www. and GlobSol). Interval Computations originated in 1995 during an international workshop held at El Paso.siam. According to Vladik Kreinovich. and lists homepages of some active interval researchers.
i i .
= : logical operators. as deﬁned in MATLAB. and d real numbers. With INTLAB installed. as in MATLAB. and variable precision arithmetic toolboxes in this appendix. Some Basic Commands Here we let X denote an interval. *. ∧ . Click on this blue link for further information. in blue. we list some INTLAB commands and functions. . Many MATLAB functions and commands are overloaded in INTLAB. : interval arithmetic operations. you can type help sin from a MATLAB command window. MATLAB’s help feature may provide information about whether a particular function can be applied to intervals. these can be applied to matrices. information and various examples are available at the INTLAB web page. slope. if you are interested in an interval extension of the sine function. gradient. This indicates that there is support for an interval version of sin. ∼ == . d] = [a − b. We have not included functions from INTLAB’s accurate sum. of links to directories of deﬁnitions for other data types. b] X = midrad(a. <= . along with a listing. /.m. >=.b): deﬁnes X as [a. later versions). c. For example. intvalinit(’DisplayInfsup’): infsup default display intvalinit(’DisplayMidrad’): midpointradius default display intvalinit(’Display_’): uncertainty representation default display X = infsup(a. You will then see basic MATLAB help for sin. Hessian. and not all of these may be listed here. Finally. you will see help intval/sin. a + b] +. >. The information here applies to version 5. In particular.5 of INTLAB (and. b. <. presumably. and a. but with interval inter pretations 197 i . \. it is useful to go through the INTLAB part of MATLAB’s Help → Demos menu.b): deﬁnes X as [c.i Appendix E INTLAB Commands and Functions Here. As in MATLAB.
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. diam(X): width of X hull(X. Many can be applied when X and Y are interval vectors or matrices. if it can be computed isempty(X): returns 1 if and only if X is the empty interval isintval(X): returns 1 if and only if X is an interval data type mag(X): magnitude of X (applied componentwise for arrays) mid(A): midpoint of A mig(X): mignitude of X rad(X): radius of the interval X (half of diam(X)) sup(X): upper bound on X Some Standard Functions Implemented in INTLAB These functions return interval bounds on the ranges of the corresponding realvalued functions. and X and Y may be matrices) inf(X): lower bound on X intersect(X.Y): interval hull of X and Y in(X.Y): returns 1 if and only if X is in the interior of Y (X may be real or interval. The bounds are generally good approximations to the narrowest possible bounds.i 198 Appendix E. INTLAB Commands and Functions Some Special Interval Functions These are functions special to the interval computations. abs acos acosh acot acoth acsc asec asin asinh atan atanh cos cosh cot coth csc exp log log10 log2 sec sin sinh sqrt sum tan tanh i .Y): intersection of X and Y inv(A): interval inverse of the matrix A.
Y): Overall.y).Y) plots shaded boxes for each (Xi . i . plot(x. However.i ] as a box in the xyplane.Y). when x is real and Y is interval.N) representing lower bounds and upper bounds of an Ndimensional interval vector. and the entire solution set is enclosed in its interval hull (the narrowest possible interval vector enclosing the solution set). semilogy(X. and both axes on a logarithmic scale. semilogx(X. X2.B): This routine plots the solution set to an interval linear system AX = B in two unknowns. respectively. If X is interval and y is real.Y): For the abscissa vector x real and the correspond ing ordinate vector Y interval.i . semilogx. the area between the lower bound curve and upper bound curve is not shaded. plotlinsol(A. yaxis. as it is for plot. For both X and Y intervals. plot(X. Yi ) pair. shading in between. these behave as plot for one or both of abscissa X and ordinate Y interval. and loglog plot the xaxis.i 199 INTLAB’s Plotting Facilities INTLAB has overloaded MATLAB’s plot.Y). plot(X. (Such a solution set is illustrated in Figure 7. As in the versions that come with MATLAB. Neither the circles nor the boxes are shaded. Some Other MATLAB Functions Overloaded in INTLAB The following is a partial list of additional MATLAB functions that can be applied to interval data types: diag dim disp2str display find full isfinite isinf isnan isreal issparse iszero length imag logical nonzeros norm real repmat reshape numel relerr size sparse spdiags spones spy trace transpose tril triu Particularly noteworthy is INTLAB’s support for sparse matrices. plot(X. loglog(X. plotintval plots each interval vector [X1. but their outlines are plotted in colors that cycle. semilogy.y) plots a horizontal line for each (X. plotintval(X): If X is an ndimensional complex interval vector. 89. the INTLAB version plots the lower bounds on Y and the upper bounds on Y as curves. plotintval plots each component as a circle in the complex plane.1 on p.) The actual solution set is shaded. If X is a twodimensional array of real intervals with dimensions (2. semilogx. and semilogy routines and also has special routines plotintval and plotlinsol. y) pair.Y). plot(X.
i 200 Appendix E. e. we see the following: >> intvalinit(’FastIVmult’) ===> Fast interval matrix multiplication in use (maximum overestimation factor 1.m ﬁle distributed with INTLAB may specify fast matrixvector multiplication. gershgorin.0000 ] [ 9. i .0000 .0000 ] [ 7.0000 . the fast multiplication is appropriate.2 on p.0000 ] [ 40. to check Example 7. 2.8).0000 .0000 .0000 ] >> B = [infsup(5. in contexts such as the Krawczyk method and for very large systems that are point matrices or almost point matrices. For instance. For example. 64.5 in radius) >> A = [infsup(1.0000 ] [ 39. so you will need to issue intvalinit(’SharpIVmult’) to get results that are almost exact.0000 . 12. toeplitz. Jiri Rohn has made publicly available an extensive library of routines for the analysis of interval linear systems. 8. 3].12)] intval B = [ 5.. 10. [−3. 86.0000 ] [ 11.0000 . 64. INTLAB uses the fast multiplication internally for various computations. Nonetheless. 6.6) infsup(7. Some Other INTLAB Routines These implement some other useful features only in INTLAB.13) on p.10).0000 .0000 ] [ 3. infsup(9. 4. In other cases. the results can be far from exact.4)] intval A = [ 1. 52. and such intervals occur in the Krawczyk method in E = I − Y A when Y is a good approximation to m(A)−1 (see (7. 91) or in (X − y) when y − m(X) (see (8. lssresidual.g. infsup(11.0000 .0000 ] The startintlab. 116). However. INTLAB Commands and Functions INTLAB’s MatrixVector Arithmetic INTLAB uses midpointradius representation of intervals in matrixvector multiplication in such a way that the rounding mode (round down or round up) need not be switched after each individual intervalinterval multiplication.0000 ] >> A*B intval ans = [ 31.0000 ] intvalinit(’SharpIVmult’) ===> Slow but sharp interval matrix multiplication in use >> A*B intval ans = [ 32. Users of INTLAB have contributed numerous other routines besides the ones listed here. The results are sharp when the intervals are symmetric about 0. a consequence is that the result of the individual multiplications is not sharp.0000 .7) on p. as well as certain less fundamental algorithms in interval computations: circulant. 52.0000 .2) infsup(3.
Datenverarbeitung). 53:T176– T177. New York.. Feb. Mech. Universität Karlsruhe. Edward J. Math. Math. 1970. 19(1):56–64. [7] Götz Alefeld and Jürgen Herzberger. 1971. Über de Verbesserung von Schranken für die Lösung bei linearen Gleichungssystemen. 13:107–112. 1968. 1971. Dissertation. Zur Invertierung linearer und beschränkter Operatoren. Academic Press. 1972.. Numer. Boca Raton.i References [1] Oliver Aberth. Z. editors. and Practice. 2009. FL. 50:T33–T35. Angew. Nullstelleneinschließung mit dem NewtonVerfahren ohne Invertierung von Intervallmatrizen. Angew.. Introduction to Precise Numerical Methods. Math. 1973. Z. Angew. Mech.. 52:T197–T198. [11] Götz Alefeld and Jürgen Herzberger. Angew. Germany. Mech. Methods. Praktische Anwendung von Abschätzunsformeln bei Iterationsverfahren.. 1968. Ein Verfahren zur monotonen Einschließung von Lösungen nichtlinearer Gleichungssysteme. Academic Press. Math. 201 i . Precise Numerical Methods Using C++. and Padmanabhan Seshaiyer. [6] Götz Alefeld and Nikolaos Apostolatos. [9] Götz Alefeld and Jürgen Herzberger. 1998.. Ackleh. [5] Götz Alefeld. Taylor and Francis. Math. [4] Götz Alefeld. New York. Intervallrechnung über den komplexen Zahlen und einige Anwendungen. [2] Oliver Aberth. 2007. Informatik (Elektron. [10] Götz Alefeld and Jürgen Herzberger. Einschließungsverfahren zur Berechnung des inversen Operators. [3] Azmy S. Allen. 1972. 48:T46–T49. 120:309–317. Classical and Modern Numerical Analysis: Theory. Ralph Baker Kearfott. Mech. Bemerkungen zur Einschließung der Lösung eines linearen Gleichungssystems. Math. Zeitschr. [8] Götz Alefeld and Jürgen Herzberger. Angew. Z. Z.
Ulrich W. and Tools. and Otto Mayer. SpringerVerlag. Einführung in die Intervallrechnung. Feb. J. 1971. Math. Higher order multivariate automatic differentiation and validated computation of remainder bounds. Applications. and Jerzy Wasniewski. [18] Nikolaos Apostolatos. 2:195–201. Lecture Notes in Computer Science 3732. [23] Martin Berz and Kyoko Makino. B. Christian Bischof. Sept. George F. Lortz. 1968.T. [24] Martin Berz and Kyoko Makino. 1996. 65–74. and N. An Interval Input / Output Package for the Univac 1108. and Andreas Griewank. 1968. University of Wisconsin. Jan. [26] W. Berlin. Computing. 10:73–83. 3(1):37–44. SpringerVerlag. 28(1):80–87. Corliss. [25] Martin Berz. Applied Parallel Computing. Computing. 2005. 5:13–22. Computational Differentiation: Techniques. Binstock. 24:458–467. Optimal centered forms. New York.i 202 References [12] Götz Alefeld and Jürgen Herzberger. Math. Unterricht. Nuclear Instruments Methods Physics Research A. 1998.. Technical Report 1212. 11(2):175–180. Über neuere Gesichtspunkte beim numerischen Rechnen. Kulisch. Kulisch. [16] Nikolaos Apostolatos and Ulrich W. Karl L. WSEAS Trans. Numer. Computing. 1983. Rudolf Krawczyk. Academic Press. 1974. Ulrich W. Approximation der erweiterten Intervallarithmetik durch die einfache Maschinenintervallarithmetik. Grundzüge einer Intervallrechnung für Matrizen und einige Anwendungen. [13] Götz Alefeld and Jürgen Herzberger. Performance of Taylor model methods for validated integration of ODEs. 1999. Reliable Computing. The algorithmic language TriplexALGOL 60. Hsu. [21] Martin Berz. Hawkes. 558:1–10. Philadelphia. Kulisch. Naturw. 1967. editors. In Jack Dongarra. Kyoko Makino. 1973. New methods for highdimensional veriﬁed quadrature. BIT. and YounKyung Kim. Feb. March 2006. pp. Kaj Madsen. 1967. Mathematics Research Center. [15] Nikolaos Apostolatos and Ulrich W. Elektronische Rechenanlagen. editors. [22] Martin Berz and Kyoko Makino. Kulisch. and HansWilm Wippermann. 2:181– 194. Introduction to Interval Computations. 1988. i . Kulisch. [17] Nikolaos Apostolatos and Ulrich W. Nickel. 2:89–104. and Karl L. SIAM. Ein Einschliessungsverfahren für Nullstellen. Jürgen Herzberger.. New York. Math. 1967. [20] Eckart Baumann. Longterm stability of the tevatron by veriﬁed global optimization. Grundlagen einer Maschinenintervallarithmetik. Nickel. [19] NikolaosApostolatos. [14] Götz Alefeld.
1978. 2005. Corliss. Interval eigenvalue analysis for structures with interval parameters. SIAM. An interval analysis based study for the design and the comparison of threedegreesoffreedom parallel kinematic machines. Fabrycky. May 2005. [29] Norbert C. Decision evaluation with interval mathematics: A power distribution system case study. Stanley Wagon. Philippe Wenger. Rall. [39] George F. Christèle Faure. vol 2: 321–341. Technical Report 901. Hua Dong Lian. Subroutines add. Félix Majou. Automatic Differentiation of Algorithms: From Simulation to Optimization. Shaalan. Comput. Integration of interval functions. A Program for the Solution of Differential Equations Using Interval Arithmetic (DIFEQ) for the CDC 3600 and 1604. Switzerland. Design. 1981.. for Use in an ErrorBound Arithmetic. An experimental interval arithmetic package in Maple. [34] Damien Chablat. Reverse accumulation and accurate rounding error estimates for Taylor series coefﬁcients. 1987. Braun and Ramon E. and Jörg Waldvogel. Computer and Information Science. [30] Judy A. Rall. Kaj Madsen. 39:419–431. Corless. Math. and Xiao Wei Yang. and JeanPierre Merlet. 13:125–147. Komplexe KreisStandardfunktionen. Math. 2004. Csajka.. Hesham E. SIAM J. University of Wisconsin. 1993. [33] Ole Caprani.. mul. Integration of Interval Functions. Sci. Philadelphia. Moore. and Louis B.i References 203 [27] Folkmar Bornemann. 2001. Kaj Madsen. 1967. Laurent Hascoët. 23(6):615–624. [40] George F.. Connell and Robert. and Louis B. Robotic Res. Dec. [28] Glencora Borradaile and Pascal Van Hentenryck. IBM Research Laboratory. Finite Elements Anal. SIAM J. I. 2004. 1(1):81–94. Math. [38] George F. [35] Su Huan Chen. Program. and Karl L. and Wolter J. M. Corliss and Louis B. Muenzer. New York. 12(3):321–341. Rueschlikon. J.. Universität Freiburg. Mathematics Research Center. 8(5):831–847. Corliss. Anal. Dissertation. IEEE Trans. 1981. [32] Ole Caprani. Reliable Comput. neg. Dirk Laurie. Freiburg. [31] Robert P. Statist. SIAM J. 1966. Formulation for reliable analysis of structural frames. Christopher Foley. Safe and tight linear estimators for global optimization. and Ralph Baker Kearfott. sub. editors. April 2007. and Uwe Naumann. Adaptive. Andreas Griewank. i . Rall. [41] I. Technical report. March 2003. Börsken. Nickel. Optimization Methods and Software. Interval Comput. W. div.. [37] Amanda E. 102(3):495–517. 20(2):725–7334. 2:120–134. Springer. [36] Bruce Christianson. Broadwater. selfvalidating numerical quadrature. Power Systems. Anal. 1991.. The SIAM 100Digit Challenge: A Study in HighAccuracy Numerical Computing. Germany.
Michela Farenzena. Technische Universität Hamburg. editor. 26:827–840. University of Southwestern Louisiana. [50] Gene H. Ulrich W. Frontiers in Appl. [46] Andrea Fusiello. and Dietmar Ratz. 20:155–168. Math. Intell.. 26(12):1633–1638. IEEE Trans. and Alessandro Busti. [52] Laurent Granvilliers and Frédéric Benhamou. 2005. Algorithm 852: RealPaver: An interval solver using constraint satisfaction techniques. Globally convergent autocalibration using interval analysis. 2000. Philadelphia. Golub and Charles F.... Comput. Global Optimization Using Interval Analysis. June 2001. and Application. 52(11):1350–1356. [54] Andreas Griewank and George F. 1996. Pattern Anal. 1992. Baltimore. Stadtherr. 32(1):138– 156. ACM Trans. 26:811–815.). [53] Andreas Griewank. Kulisch. Walster. Hailer. thesis. 19. Numer. SpringerVerlag. Dissertation. 3rd ed. Math. Chemical Engrg. W. New York. Whither mathematics? Notices Amer. Mach. Softw. 1993. Matthias Hocks. Cluster Problem in Global Optimization Using Interval Arithmetic. Aug. Math. Computing (Suppl. 1972. Circular arithmetic and the determination of polynomial zeros.D. SIAM. [49] ChaoYang Gau and Mark A. Implementation.. [51] Laurent Granvilliers and Frédéric Benhamou. Progress in the solving of a circuit design problem. Ph. 2003. 2006. [57] E. van Loan. [44] Kaisheng Du and Ralph Baker Kearfott.i 204 References [42] Brian Davies. Comput.. SIAM. June 2002. Harburg. Soc. Dynamic load balancing for parallel intervalNewton using message passing. [43] Kaisheng Du. 1991. Corliss. Philadelphia. 18(4):305–320.. Math. Accuracy and Reliability in Scientiﬁc Computing. 9:117–127. [48] ChaoYang Gau and Mark A. Numerical Toolbox for Veriﬁed Computing I—Basic Numerical Problems. Philadelphia. Chemical Engrg. Global Optim. Marcel Dekker. i . Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation. Arrigo Benedetti. [45] Bo Einarsson. Johns Hopkins University Press. 2004. Logos Verlag. Stadtherr. 2006. Matrix Computations. New interval methodologies for reliable chemical process modeling. SIAM. Veriﬁcation of Branch and Bound Algorithms Applied to Water Distribution Network Design. J.. F. Heidelberg. Dec. editors. [47] Irene Gargantini and Peter Henrici. June 2002. 2005. 1994. [55] Angelika C. [56] Rolf Hammer. Berlin. Automatic Differentiation of Algorithms: Theory. Hansen and G. The cluster problem in global optimization: The univariate case.
editors. 1969. London. Oxford University Press. Technical Report LMSC 422663. Master’s thesis. J. 1965. Hansen. Plantation. Anal. Hansen and G. 2(2):308–320. 2002. Indust. 1978. Vichnevetsky. 1969. In Eldon R. Interval arithmetic in matrix computations. London.. Oxford University Press. Global optimization in nonlinear mixed integer problems. Hansen and Saumyendra Sengupta. pp. Hansen and Roberta Smith. Global Optimization Using Interval Analysis. IMACS. 379–381. Numer. Hansen. part II. 1969. 1:98– 102. [62] Eldon R. William Walster. [68] Eldon R. [63] Eldon R. 4(1):1–9. In William F. Ames and R. editor. editor.. i . [59] Eldon R. Hansen. Appl. 1982. BIT (Nordisk tidskrift for informationsbehandling). Hansen. Soc. Math. Topics in Interval Analysis. Hansen.i References 205 [58] Eldon R. Interval arithmetic in matrix computations. In Eldon R. On solving twopoint boundaryvalue problems using interval arithmetic. Topics in Interval Analysis. Ser. 21(2):203–211. Hargreaves. Math. I. Topics in Interval Analysis. Electronic Research Announcements of the American Mathematical Society. Hansen. editor. Marcel Dekker. [69] Eldon R. June 1981. Hansen. [61] Eldon R. part I. pp. SIAM J. FL. 1966. April 1968. New York. Interval Analysis in MATLAB. Hansen and Roberta Smith. A Computer Program for Solving a System of Linear Equations and Matrix Inversion with Automatic Error Bounding Using Interval Arithmetic. Palo Alto. Michael Hutchings. 1.. 102–106.. B Numer. Bounding solutions of systems of equations using interval analysis. [71] Joel Hass. [67] Eldon R. In Eldon R. Hansen. [66] Eldon R. Department of Mathematics. Hansen. March 1967. On linear algebraic equations with interval coefﬁcients. 1995. and Roger Schlaﬂy. The double bubble conjecture. [65] Eldon R. London. 1969. pp. Anal. 1992. pp. 20:153–163. Hansen. vol. 22(102):374–384. Oxford University Press. CA. Oxford University Press. University of Manchester. 35–46. Interval forms of Newton’s method. The centered form. Hansen. Comput. London. Proceedings of the 10th IMACS World Congress on Systems Simulation and Scientiﬁc Computing. On solving systems of equations using interval arithmetic. 74–90. Topics in Interval Analysis. [60] Eldon R. [70] G. Lockheed Missiles and Space Co. [64] Eldon R. Computing.
SIAM Rev. 1970. [78] Jürgen Herzberger. 1972. New York. A computable errorbound for systems of ordinary differential equations (abstract). Numer. Mech. Über optimale Verfahren zur numerischen Bestimmung reeller Nullstellen mit Fehlerschranken. Math. 1972. [79] Desmond J. Z. SIAM J. 2004. SpringerVerlag. Electromagnetic Waves. Germany. i .i 206 References [72] Peter Henrici. Michel Keiffer. 51:T56. Zur Konvergenz intervallmässiger Iterationsverfahren. 1969. Optim. 2001. SIAM J. Newton’s constant of gravitation and veriﬁed numerical quadratures. Lecture Notes in Comput.. MATLAB Guide. 2000.. Universität Karlsruhe. Germany. Applied and Computational Complex Analysis. editor. Interval Comput. 1993(3):29–39. and Eric Walter. 14(3):914–935. 46(1):180–200. [81] Oliver Holzmann. [77] Jürgen Herzberger. [82] Chenyi Hu and Ralph Baker Kearfott. Wiley. [76] Jürgen Herzberger.. SpringerVerlag. Über ein Verfahren zur Bestimmung reeller Nullstellen mit Anwendung auf Parallelrechnung. Inan and Aziz S. Universität Karlsruhe. 5:377–384. [75] Jürgen Herzberger. CXSC 2. Angew. Sci. Math. Rigorous error bounds for the optimal value in semideﬁnite programming. 53:356–358. 1977. Philadelphia. Intervallmässige Auswertung von Standardfunktionen in Algol60. 1966. Inan.. 1973. [84] Christian Jansson. [73] Jürgen Herzberger. Computing. Kahan. Moore. 2991. Berlin. 1993. Reliable Comput. SIAM. 15–35. Bemerkungen zu einem Verfahren von Ramon E. Higham and Nicholas J. Upper Saddle River. and Holger Schütt. Prentice–Hall. 1971. Higham. Habilitationsschrift. [86] Luc Jaulin. Z. Olivier Didrit. 1996. Rigorous lower and upper bounds in linear programming. Dissertation. New York. Angew. 14:250–254. [85] Christian Jansson. 2004. [74] Jürgen Herzberger. and Christian Keil. Elektronische Rechenanlagen.. NJ. 2000. pp. Mech. Denis Chaykin. 2(3):229–240. [80] Werner Hofschuster and Walter Krämer... [87] William M. On bounding the range of some elementary functions in FORTRAN 77. Bruno Lang. Applied Interval Analysis. Anal.. [83] Umran S.0—A C++ library for extended scientiﬁc computing. 2007. Metrische Eigenschaften von Mengensystemen und einige Anwendungen. 8:568–569.
E. II. July 1987. Software. 1968. A More Complete Interval Arithmetic: Lecture Notes for an Engineering Summer Course in Numerical Analysis at the University of Michigan. In C. 60–62. Amsterdam. Circumscribing an ellipsoid about the intersection of two ellipsoids. 49(179):187–202. [93] Ralph Baker Kearfott. Global Optim. Comput. Can. Kluwer Academic Publishers. 1969.i References 207 [88] William M. ACM Trans. Freiman. Amsterdam. On a mathematical symbolism convenient for performing machine calculations (in Russian). Software. Dec. I. Some tests of generalized bisection. [95] Ralph Baker Kearfott. Kahan. Algorithm 763: INTERVAL_ARITHMETIC: A Fortran 90 module for an interval data type. 113(4):738–741. 1988. 1987. [97] Ralph Baker Kearfott. Veriﬁed branch and bound for singular linear and nonlinear programs: An epsiloninﬂation process. 1996. Morrell. V. 1998. On proving existence of feasible points in equality constrained optimization problems. Proceedings of IFIP Congress 1968. Kahan.. [91] William M. Grifﬁth. Available from the author. Dordrecht. 1994. The Netherlands. vol. 14(4):399–399. 22(4):385–392. 1996. Methods Software. Dec. [94] Ralph Baker Kearfott. editor. [90] William M. Algorithm 737: INTLIB: A portable Fortran77 elementary function library. Dec. editors. J. [101] Ralph Baker Kearfott. Nonconvex Optimization and Its Applications 13. Nickel: Error bounds and computer arithmetic). L. Rigorous Global Search: Continuous Problems. Proceedings of IFIP Congress 1971. Invited commentary (concerning the invited paper of Karl L. [100] Ralph Baker Kearfott. [99] Ralph Baker Kearfott. To appear in Optim. 5:253–265. Kaisheng Du. [96] Ralph Baker Kearfott. 2008. Math. Math. Sept. Math. A survey of error analysis. Math. i . Milinde Dawande. pp. Math. 1957. 20(4):447–459. University of Michigan. ACM Trans. Dokl. 1968. Corrigenda: Some Tests of Generalized Bisection. In A. North–Holland. Kahan. [89] William M. Abstract generalized bisection and a cost bound. Kahan. 11:437–441. North–Holland. April 2007. ACM Trans. J. Bull. ACM Trans. pp. 1972. Nauk SSSR. Software. Program. GlobSol User Guide. [102] Ralph Baker Kearfott and Kaisheng Du. Math. [98] Ralph Baker Kearfott.. vol. 1214–1239.. Software. 13(3):197–220. and Chenyi Hu. Akad. Technical report.. The cluster problem in multivariate global optimization. Math. 1994. 83(1):89–100. and J. [92] Leonid Vitalevich Kantorovich. Rosenfeld.
12(4):303–321. [106] Ralph Baker Kearfott and G. [109] J. tools. [107] Gershon Kedem. and Rudolf Lohner.. Computing. IEEE Computer Society. [117] Walter Krämer.0. Anal. i . Sept. Shin’ichi Oishi. 16(2):152–157. Mech.. 1993.. SpringerVerlag. Çakmak. intpakX—An Interval Arithmetic Package for Maple. editors. Neilson. Appl. 1999. World Scientiﬁc. [104] Ralph Baker Kearfott. Ahmet S. 1995.. Applications of Interval Computations: Papers Presented at an International Workshop in El Paso. 2006. IMACS International Symposium on Scientiﬁc Computing. Keiper. 26(3):373–389. 2003. Reliable Comput.i 208 References [103] Ralph Baker Kearfott and Vladik Kreinovich. 1996. Harburg. 1995. On stopping criteria in veriﬁed nonlinear systems or optimization algorithms. A posteriori error bounds for twopoint boundary value problems. Sci. Interval Comput. Software. Applied Optimization 3. In Proceedings of the 12th GAMM. 152:243–262. Software. ACM Trans. June 1990. [116] Walter Krämer. William Walster. MacMillan. [114] Lubo Kolev. [111] Olaf Knüppel. 1993(3):76–87. [115] Hasan Ugur Köylüoglu. Feb. March 2003. and Fabien Rico. 26. 53(3–4):277–287. Technische Universität HamburgHarburg. Engrg. New York. Ulrich W. pp. [113] Martin Koeber. Nonlinear Systems.1. B. 2006. Bericht 99. Numer. ACM Trans. [105] Ralph Baker Kearfott and Manuel Novoa III. J. June 1981. PROFIL/BIAS v 2. Math. [110] Hassan K. The Netherlands. Singapore. p.. Kulisch. Algorithm 681: INTBIS. SpringerVerlag. PROFIL/BIAS—Afast interval library. Texas. Dordrecht. Lecture Notes in Comput. SIAM J. Numerical Toolbox for Veriﬁed Computing II: Advanced Numerical Problems. Comput. a portable interval Newton/bisection package. 18(3):431–448. 2991.. Math. [108] Christian Keil and Christian Jansson. Markus Neher. 2004. Washington. and interactive systems for veriﬁed computations: Four case studies. DC. Interval arithmetic in Mathematica. 2000. Computational experience with rigorous error bounds for the netlib linear programming library. Computer Arithmetic and Validated Numerics (SCAN 2006). Kluwer. 121:1149– 1157. Sept. Germany. Libraries. 2006. February 23–25. [112] Olaf Knüppel. New York. 1994. K. and Søren R. Khalil. Math. New York. 36–63. J. Interval Methods for Circuit Analysis. 1992. Interval algebra ¸ to deal with pattern loading and structural uncertainty. Inclusion of solutions of Darboux problems for quasilinear hyperbolic equations.
1998. Symbolic Algebraic Methods and Veriﬁcation Methods. Miranker. Rump. March 1986. 2005. Mathematics Research Center. Mech. SIAM J. Veriﬁed quadrature in determining Newton’s constant of gravitation. Sci. and Patrick Kahl. 1969. New York. SpringerVerlag. Efﬁcient and safe global constraints for handling numerical constraint systems. The arithmetic of the digital computer: A new approach.i References 209 [118] Walter Krämer and Stefan Wedner. University of Wisconsin. Kulisch. Derivativebased subdivision in multidimensional veriﬁed Gaussian quadrature. 4:187–201. NewtonAlgorithmen zur Bestimmung von Nullstellen mit Fehlerschranken. 2001. Interner Bericht des Inst. Anal. David Daney. Applied Optimization 10. June 1985. [129] Bruno Lang. Kulisch and Willard L. Computer Arithmetic in Theory and Practice. Michael Yohe. 51–98. Math. [120] Rudolf Krawczyk and Arnold Neumaier. Technical Report 1105. University of Wisconsin. Ladner and J. 4(1):16–24. Interval slopes for rational functions and associated centered forms. 126:842–849. The Netherlands. [119] Rudolf Krawczyk. Constantinos Mavroidis. editor. New York. editors. Siegfried M. Mathematics Research Center. pp. 1969. and JeanPierre Merlet.. 1970. SIAM Rev. 1996. Technical Report 1055. Kluwer Academic Publishers. 1971. Kulisch and Willard L. Aug. 1998. Anal. 1968. 2004. Design.. Academic Press. Anatoly Lakeyev. Reliable Comput. [130] Yahia Lebbah. Überblicke Mathematik 2.. Mannheim. and JeanPierre Merlet. [126] Ulrich W. An axiomatic approach to rounded computations.. 22(3):604–616. Kulisch. [123] Ulrich W. Jiˇi Rohn. pp. and Tetsuro Yamamoto. SIAM J. Two adaptive Gauss–Legendre type algorithms for the veriﬁed computation of deﬁnite integrals. Numer. Interval Arithmetic Over Completely Ordered Ringoids. [125] Ulrich W. [124] Ulrich W. Dordrecht. In Detlef Laugwitz. Numer. [131] Eric Lee. 145–152. [127] Thomas D. i . Grundzüge der Intervallrechnung. Jan. 1981. Universität Karlsruhe. Five precision point synthesis of spatial RRR manipulators using interval analysis. Universal Comput. Kulisch. [121] Vladik Kreinovich. [128] Bruno Lang. An Interval Arithmetic Package for the Univac 1108. In Götz Alefeld. 28(1):1–40. Numer. 2(3):241–254. Michel Rueher. 42(5):2076–2097. Jiri Rohn. 18:1–17. Miranker. Bibliographisches Institut. Computing.. für Informatik 68/6. [122] Ulrich W. Claude Michel. J. Computational r Complexity and Feasibility of Data Processing and Interval Computations.. J. May 1972.
New York.. [136] Youdong Lin and Mark A. [143] Kenneth R. [133] Youdong Lin. 284–290. Muhanna. March 1996. Engrg. a fast interval library supporting containment computations. 2004. August 2008. Robert L. [137] Youdong Lin and Mark A. June 2000. SIAM. [140] Günter Mayer. Deterministic global optimization of molecular structures using interval analysis. Computer Aided Proofs in Analysis. [135] Youdong Lin and Mark A. J. Advances in interval methods for deterministic global optimization in chemical engineering. 2004. General Motors Research Laboratories. Moler. MI.4:379–456. J. 4. Department of Mathematics. Stadtherr. Equ. Industrial Appl. 10(4):353–384. and R. Ph. and Walter Krämer. Meyer and Dieter S. Global Optim. A Methodology for Solving Chemical Equilibrium Systems. ACM Trans. 2004. Int. Werner Hofschuster. Pure Appl. Math. 26:1413–1420. editors. Suppression of the wrapping effect by Taylor modelbased veriﬁed integrators: Longterm stabilization by preconditioning. 2003. 1991. Buckling analysis of structures with interval uncertainties. 43:3741–3749. Math. Ind. Math. [144] Mehdi Modares. Stadtherr. In SEA. 32(8):1714– 1725. Stadtherr. [141] Keith Meintjes and Alexander P. Philadelphia. Enszer. ALIAS: An interval analysis based library for solving and analyzing system of equations. To appear in Japan J. LP strategy for intervalNewton method in deterministic global optimization.. General Motors Research Report GMR4971. Direct methods for linear systems with inexact input data. and MarkA. 1962.i 210 References [132] Michael Lerch. [139] Kyoko Makino and Martin Berz. [146] Ramon E. July 2004.. German Tischler. Chem. CA. Chem. Bellini. Stanford University.. Schmidt. Interval Arithmetic and Automatic Error Analysis in Digital Computing. FILIB++. [134] Youdong Lin and Mark A. Stadtherr. Software. Morgan.D. Moore. SpringerVerlag. Comput. J. Appl. pp. [142] JeanPierre Merlet. June 2006. SAE Transactions Journal of Passenger Cars—Mechanical Systems. Comput. Warren.. J. Phys. Internat. Taylor models and other validated functional inclusion methods. Res. Mullen. J. Chem. 32(2):299–324.. Differ. Toulouse. dissertation. [138] Kyoko Makino and Martin Berz. 29:281–296. Paul X. 2008. [145] Cleve B. Stadtherr. JoshuaA. Enclosing all solutions of twopoint boundary value problems for ODEs. Jürgen Wolff von Gudenberg. Stanford. 121:10159–10166.. Chemical Engrg. Locating stationary points of sorbatezeolite potential energy surfaces using interval analysis. 1985. Numerical Computing with MATLAB. 2005. i . 2005.
Stud. Horwood Publishing. Engrg. 1999. Mullen. Moore. Jones. 14(4):611–615. Eldon R. In Louis B. [155] Ramon E. Development of interval based methods for fuzziness in continuummechanics. Moore. Cloud. H. 1977. NJ. Moore and Sandie T. 2006. In ISUMA ’95: Proceedings of the 3rd International Symposium on Uncertainty Modelling and Analysis. SIAM J. Moore and Michael J. DC. Parameter sets for bounded error data. Moore. 1992. [153] Ramon E. 1992. SIAM. 1965. Princeton University Press. Lockheed Missiles and Space. Princeton. Math. Moore. [159] Ramon E. Methods and Applications of Interval Analysis. Comput. editor. Moore. 1978. 321–342. 1977. Numer. 1975. Pardalos. Englewood Cliffs. A test for existence of solutions to nonlinear systems. London. 2. Muhanna and Robert L. In A. [161] Raﬁ L. and Anthony Leclerc. 1966. 15(6):1194–1196. Ann Davison. 2001. J. Numer. [157] Ramon E. Error in Digital Computation. A computational test for convergence of iterative methods for nonlinear systems. The resolution of close minima. Reliable Comput. DIFEQ Integration Routine—User’s Manual. Formulation of fuzzy ﬁniteelement methods for mechanics problems.. Anal. Lockheed. Simulation. Holt. SIAM J. Moore. 1979. vol. Mathematical Elements of Scientiﬁc Computing. Hansen. 5:423–424. [148] Ramon E. New York.... Floudas and P. Rinehart. pp. and Sidney Shayer. Philadelphia. Comput.. NJ. and Winston. pp. New York. The automatic analysis and control of error in digital computing based on the use of interval numbers. editors. Rall. 1995. [149] Ramon E. CA. 34:113–119.i References 211 [147] Ramon E.. [154] Ramon E. Math. I. Anal. Appl. The dawning. Mullen. PrenticeHall. Appl. 1993. 705. 2nd ed. 1964. Mullen. Mech. Washington. 25:57–58. IEEE Computer Society. p. Moore. 14(6):1051–1065. Technical Report LMSC690646. 1999. Muhanna and Robert L. [150] Ramon E. Moore. 61–130. Safe starting regions for iterative methods. J. [151] Ramon E. SIAM J. [162] Raﬁ L. [160] Raﬁ L. Recent Advances in Global Optimization. Moore. [158] Ramon E. ComputerAided Civil and Infrastructure Engineering. Moore. 14(2):107–117. Math. 127:557–566. Interval Analysis. Numer. Rigorous methods for parallel global optimization. [152] Ramon E. Moore. Anal. [156] Ramon E. Uncertainty in mechanics problems. i . Wiley. Muhanna and Robert L. Riley Jaschke. Computational Functional Analysis.
[166] Mitsuhiro T. 1990. 9(1):80–98. 2005. 2001.. [168] Arnold Neumaier. 2004. J. Lecture Notes in Computer Science 2861. UK. [176] Karl L. 118:3662–3771. [174] Arnold Neumaier. 271–369. i . 13:149–172. Safe bounds in linear and mixedinteger programming.. Comput. ShinnCunningham. SpringerVerlag. October 2002. 1966. Computing..Arithmetik für Rechenautomaten. Cocos 2002. Muhanna. April 2007. Numer. [177] Karl L. 9:69–79. and Tamás Vinkó. [171] Arnold Neumaier. Math. Global Optimization and Constraint Satisfaction: First International Workshop Global Constraint Optimization and Constraint Satisfaction. Oleg Shcherbina. editor. ValbonneSophia Antipolis. Reliable Comput. [164] Kaori Nagatou. Taylor forms—use and limits. Complete search in continuous global optimization and constraint satisfaction. with applications to truss structures. 1999. J. Nickel.. Acoustic eigenvalues of rectangular rooms with arbitrary wall impedances using the interval Newton / generalized bisection method. Am. 2:232–245. [170] Arnold Neumaier. 5:131–136. Nov. 2004.. [169] Arnold Neumaier. Interval Methods for Systems of Equations. Reliable Comput. Encyclopedia of Mathematics and its Applications 37. Oberai. 2003. 2004.. A computerassisted proof on the stability of the Kolmogorov ﬂows of incompressible viscous ﬂuid. Die vollautomatische Berechnung einer einfachen Nullstelle von F (T ) = 0 einschließlich einer Fehlerabschätzung. Funct. Numer. Acoust. [165] Yusuke Naka. and Robert L. April 2007. and Barbara G. December 2005. pp. Prog.. 13:173–194. Math.. Christian Bliek. Optim. 22:321–356. Reliable Comput. Appl.. 99(2):283–296. Nickel.. 1966. 9(1):43–79. New York. and Christophe Jermann. Numerical veriﬁcation methods for solutions of ordinary and partial differential equations. Math. A simple derivation of the HansenBliekRohnNingKearfott enclosure for linear interval equations. Anal. Nickel. [172] Arnold Neumaier and Andrzej Pownuk. Math. Linear systems with large uncertainties. Soc. Cambridge University Press. Cambridge University Press. Über die Notwendigkeit einer Fehlerschranken. Reliable Comput. France. Mullen. Iserles. March 2004.. A comparison of complete global optimization solvers. 169(1):33–44. In A. Numer.i 212 References [163] Raﬁ L. [175] Karl L. 103(2):335–356. 1967. Nakao. Prog. Cambridge. Waltraud Huyer. Math. UK. [167] Arnold Neumaier. Hao Zhang. Die numerische Berechnung der Wurzeln eines Polynoms. [173] Arnold Neumaier and Oleg Shcherbina. Cambridge. Interval ﬁnite elements as a basis for generalized models of uncertainty in engineering mechanics. Acta Numerica 2004. Assad A.
. 47:T68–T69.. Appl. Quadraturverfahren mit Fehlerschranken. 2005. The overestimation of the range of a function in interval mathematics with applications to the solution of linear systems of equations. 2007. Math. 1970. A comparison of some methods for solving linear interval equations. Comput. Kunio Tanabe. University of Wisconsin. J. 1986.. and Shin’ichi Oishi. Technical Report 1136. 26(6):1955–1988. 1977). Mathematics Research Center. Mathematics Research Center. Nickel. Math. (March. Sci. SIAM J. Mech. Z. Numer. Anal. Nickel. Ortega and Werner C. 2000. [184] Shiying Ning and Ralph Baker Kearfott. and Siegfried M. New York. 1974. Math. Iterative Solution of Nonlinear Equations in Several Variables. Mech.i References 213 [178] Karl L. 66:513–523. Nickel. New York. Shinya Miyajima. J. 1971. Rheinboldt. Accurate sum and dot product. Petkovic and Ljiljana D. Zwei neue RechenmaschinenSysteme an der TH Karlsruhe: HydraX8 und TriplexAlgolZ23. University of Wisconsin. [191] Knut Petras. Angew. Comput. Global minimumjerk trajectory planning of robot manipulators. 67:525–526. 1975. Computing. Appeared as Die Überschätzung des Wertebereichs einer Funktion in der Intervallrechnung mit Anwendungen auf lineare Gleichungssysteme. 47:140–149. Anal. On the Newton Method in Interval Analysis. [181] Karl L. Complex Interval Arithmetic and Its ´ ´ Applications. Industrial Electronics. Mathematics Research Center. Takeshi Ogita. Technical Report 1334. Umschau. Rump. Takeshi Ogita. University of Wisconsin. 2007. [182] Karl L. Dec. March 1973. Wiley. 199(2):337–344. 1997. SIAM J. Math. and Siegfried M. Comput. SIAM J. [189] Katsuhisa Ozaki. [188] James M.. 1977. Numer. 205(1):533–544. Academic Press. Comput. Nickel. [187] F. Dec. 1967. Feb. [190] Miodrag S. Appl.. The Contraction Mapping Fixpoint Theorem in Interval Analysis. [180] Karl L. [179] Karl L. [192] Aurelio Piazzi and Antonio Visioli. Technical Report 1593. J. Math. Shin’ichi Oishi.. Appl. [185] Takeshi Ogita. 11(2):382–391. Z. Aleixo Oliveira. 1967. Rump. Angew. 1998. i . Nickel. A method of obtaining veriﬁed solutions for linear systems suited for Java. [183] Karl L. Siegfried M. Convergence of Rump’s method for inverting arbitrarily illconditioned matrices. [186] Shin’ichi Oishi.. Nickel. Rump. 2007. Using interval methods for the numerical solution of ODE’s. Petkovic. IEEE Trans. 34(4):1289–1305. Interval analysis and twopoint boundary value problems. 18(1):15–36.. 199(2):317–328. Principles of veriﬁed numerical integration.
Wiley. Karl L. SIAM J. 143–155. 2001. Improved interval bounds for ranges of functions. Mean value and Taylor forms in interval analysis. [204] Louis B. SIAM J. [201] Louis B. Math. 1981. [199] Louis B. Numer. 9:35–59. 41:219–227. Technical Report 2832. 1982. Math. 1981. Anal.. University of Wisconsin. [208] Louis B. A theory of interval iteration. [203] Louis B. editor. J. New York. pp. Rall. Rall. Rall. Application of interval integration to the solution of integral equations. 1983. [196] Louis B. Numerical Functional Analysis and Optimization. 86:625–631. 1986. New York. Research Triangle Park. Centered forms.i 214 References [193] Michael Plum. 1965. Rall. 324:147–187. NC. Math. Feb. vol. editor. [209] Helmut Ratschek. Nonlinear Anal. Sci. Global Optimization Using Automatic Differentiation and Interval Iteration. [207] Louis B. 1982. Rall. Berlin. Mathematics Research Center. Rall. Linear Algebra and Its Applications. Integral Equations. II. 2006. Anal. Nickel. Error in Digital Computation. SpringerVerlag. Rall. 1982. Representations of intervals and optimal error bounds. New York. June 1985. [202] Louis B. 212. 14:223–238. Army Research Ofﬁce. Rall. 1982. Interval arithmetic with containment sets. 1965.. 6:127–141. SpringerVerlag. [197] Louis B. vol. Technical Report 2271. 1987. In Transactions