introduction to the ieee 1788-2015 standard for interval arithmetic

128
Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic Nathalie Revol and the WG 1788 [email protected] NSV 2017 10th International Workshop on Numerical Software Verification Heidelberg, Germany, 23 July 2017 Interval arithmetic in a nutshell Precious features of interval arithmetic IEEE 1788-2015 standard Present Future Conclusion

Upload: others

Post on 11-Sep-2021

19 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Introduction to the IEEE 1788-2015 Standardfor Interval Arithmetic

Nathalie Revol and the WG [email protected]

NSV 201710th International Workshop on Numerical Software Verification

Heidelberg, Germany, 23 July 2017

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 2: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Agenda

Interval arithmetic in a nutshellIn a nutshellHistorical remarks

Precious features of interval arithmeticFTIAConstraint solvingNewton and BrouwerNewton and the extended division

IEEE 1788-2015 standardPresentFutureConclusion

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

In a nutshellHistorical remarks

Page 3: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Agenda

Interval arithmetic in a nutshellIn a nutshellHistorical remarks

Precious features of interval arithmeticFTIAConstraint solvingNewton and BrouwerNewton and the extended division

IEEE 1788-2015 standardPresentFutureConclusion

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

In a nutshellHistorical remarks

Page 4: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Verified, guaranteed computations:Interval arithmetic

PrincipleNumbers are replaced by intervals.π is replaced by [3.14159, 3.14160] or [3.14, 3.15] ou [3, 4].

Fundamental theorem (Thou Shalt Not Lie): the intervalcontains the exact value(s).

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

In a nutshellHistorical remarks

Page 5: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Counting without errors:Interval arithmetic

Examplemy purse contains between 10 Euros and 20 Euros, ∈ [10, 20] e.

Your purse contains between 5 Euros and 10 Euros, ∈ [5, 10] e.

Together, we have at least 15 Euros and no more than 30 Euros,[10, 20] + [5, 10] = [15, 30] e.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

In a nutshellHistorical remarks

Page 6: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Counting without errors:Interval arithmetic

Examplemy purse contains between 10 Euros and 20 Euros, ∈ [10, 20] e.

Your purse contains between 5 Euros and 10 Euros, ∈ [5, 10] e.

Together, we have at least 15 Euros and no more than 30 Euros,[10, 20] + [5, 10] = [15, 30] e.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

In a nutshellHistorical remarks

Page 7: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Counting without errors:Interval arithmetic

Examplemy purse contains between 10 Euros and 20 Euros, ∈ [10, 20] e.

Your purse contains between 5 Euros and 10 Euros, ∈ [5, 10] e.

Together, we have at least 15 Euros and no more than 30 Euros,[10, 20] + [5, 10] = [15, 30] e.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

In a nutshellHistorical remarks

Page 8: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Interval arithmetic: first difficultyContent of my purse: between 10 Euros and 20 Euros, ∈ [10, 20] e.

I visit your grand-parents and they give me an envelope for you.This envelope contains between 10 and 20 Euros.I put this money in my purse; my purse contains now between 20and 40 Euros: [10, 20] + [10, 20] = [20, 40] e.

I meet you and I give you your money, between 10 and 20 Euros.My purse now contains [20, 40]− [10, 20] = [0, 30] e.

In other words,

purse+ envelope − envelope 6= purse.

Research on the design and writing of algorithms is needed.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

In a nutshellHistorical remarks

Page 9: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Interval arithmetic: first difficultyContent of my purse: between 10 Euros and 20 Euros, ∈ [10, 20] e.

I visit your grand-parents and they give me an envelope for you.This envelope contains between 10 and 20 Euros.I put this money in my purse; my purse contains now between 20and 40 Euros: [10, 20] + [10, 20] = [20, 40] e.

I meet you and I give you your money, between 10 and 20 Euros.My purse now contains [20, 40]− [10, 20] = [0, 30] e.

In other words,

purse+ envelope − envelope 6= purse.

Research on the design and writing of algorithms is needed.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

In a nutshellHistorical remarks

Page 10: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Interval arithmetic: first difficultyContent of my purse: between 10 Euros and 20 Euros, ∈ [10, 20] e.

I visit your grand-parents and they give me an envelope for you.This envelope contains between 10 and 20 Euros.I put this money in my purse; my purse contains now between 20and 40 Euros: [10, 20] + [10, 20] = [20, 40] e.

I meet you and I give you your money, between 10 and 20 Euros.My purse now contains [20, 40]− [10, 20] = [0, 30] e.

In other words,

purse+ envelope − envelope 6= purse.

Research on the design and writing of algorithms is needed.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

In a nutshellHistorical remarks

Page 11: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Interval arithmetic: first difficultyContent of my purse: between 10 Euros and 20 Euros, ∈ [10, 20] e.

I visit your grand-parents and they give me an envelope for you.This envelope contains between 10 and 20 Euros.I put this money in my purse; my purse contains now between 20and 40 Euros: [10, 20] + [10, 20] = [20, 40] e.

I meet you and I give you your money, between 10 and 20 Euros.My purse now contains [20, 40]− [10, 20] = [0, 30] e.

In other words,

purse+ envelope − envelope 6= purse.

Research on the design and writing of algorithms is needed.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

In a nutshellHistorical remarks

Page 12: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Interval arithmetic: first difficultyContent of my purse: between 10 Euros and 20 Euros, ∈ [10, 20] e.

I visit your grand-parents and they give me an envelope for you.This envelope contains between 10 and 20 Euros.I put this money in my purse; my purse contains now between 20and 40 Euros: [10, 20] + [10, 20] = [20, 40] e.

I meet you and I give you your money, between 10 and 20 Euros.My purse now contains [20, 40]− [10, 20] = [0, 30] e.

In other words,

purse+ envelope − envelope 6= purse.

Research on the design and writing of algorithms is needed.Interval arithmetic in a nutshell

Precious features of interval arithmeticIEEE 1788-2015 standard

PresentFuture

Conclusion

In a nutshellHistorical remarks

Page 13: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Interval arithmetic: second difficultyRegarding the implementation of interval arithmetic: each intervaloperation requires 2 (or 4, or ore. . . ) "usual" operations.

Because of practical reasons, related to hardware issues, eachinterval operation may be 100 times slower (or even worse) than anoperation on "usual" numbers.

Research on the efficient implementation of intervalarithmetic is needed: when each operation is only 10 to 15 timesslower, it is already an achievement!

Regarding algorithms, their efficiency and their complexity?Most problems are NP-hard.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

In a nutshellHistorical remarks

Page 14: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Interval arithmetic: third problem

Remember: (real) square numbers are always nonnegative ⇒ thesquare root is defined only for (real) nonnegative numbers.

How should√

[−1, 2] be defined?

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

In a nutshellHistorical remarks

Page 15: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Interval arithmetic: third problem

Remember: (real) square numbers are always nonnegative ⇒ thesquare root is defined only for (real) nonnegative numbers.

How should√

[−1, 2] be defined?

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

In a nutshellHistorical remarks

Page 16: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Interval arithmetic: third problemHow should

√[−1, 2] be defined?

By convention,√

[−1, 2] =√

[0, 2] = [0,√2].

The computation should signal that something odd happened:

I how? by "decorating" intervals:I how can it be done without harm for the performances, in

terms on computing time, memory usage?

Research is needed to get efficient implementations ofinterval algorithms.

Regarding the chosen definitions and conventions: this is thetopic of this talk.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

In a nutshellHistorical remarks

Page 17: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Interval arithmetic: third problemHow should

√[−1, 2] be defined?

By convention,√

[−1, 2] =√

[0, 2] = [0,√2].

The computation should signal that something odd happened:

I how? by "decorating" intervals:

I how can it be done without harm for the performances, interms on computing time, memory usage?

Research is needed to get efficient implementations ofinterval algorithms.

Regarding the chosen definitions and conventions: this is thetopic of this talk.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

In a nutshellHistorical remarks

Page 18: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Interval arithmetic: third problemHow should

√[−1, 2] be defined?

By convention,√

[−1, 2] =√

[0, 2] = [0,√2].

The computation should signal that something odd happened:

I how? by "decorating" intervals:I how can it be done without harm for the performances, in

terms on computing time, memory usage?

Research is needed to get efficient implementations ofinterval algorithms.

Regarding the chosen definitions and conventions: this is thetopic of this talk.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

In a nutshellHistorical remarks

Page 19: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Interval arithmetic: third problemHow should

√[−1, 2] be defined?

By convention,√

[−1, 2] =√

[0, 2] = [0,√2].

The computation should signal that something odd happened:

I how? by "decorating" intervals:I how can it be done without harm for the performances, in

terms on computing time, memory usage?

Research is needed to get efficient implementations ofinterval algorithms.

Regarding the chosen definitions and conventions: this is thetopic of this talk.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

In a nutshellHistorical remarks

Page 20: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Interval arithmetic: third problemHow should

√[−1, 2] be defined?

By convention,√

[−1, 2] =√

[0, 2] = [0,√2].

The computation should signal that something odd happened:

I how? by "decorating" intervals:I how can it be done without harm for the performances, in

terms on computing time, memory usage?

Research is needed to get efficient implementations ofinterval algorithms.

Regarding the chosen definitions and conventions: this is thetopic of this talk.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

In a nutshellHistorical remarks

Page 21: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Agenda

Interval arithmetic in a nutshellIn a nutshellHistorical remarks

Precious features of interval arithmeticFTIAConstraint solvingNewton and BrouwerNewton and the extended division

IEEE 1788-2015 standardPresentFutureConclusion

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

In a nutshellHistorical remarks

Page 22: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Archimedes and an enclosure of π(3rd century BC)

3+1071' 3.1408 ≤ π ≤ 3+

17' 3.1429.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

In a nutshellHistorical remarks

Page 23: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Archimedes and an enclosure of π(3rd century BC)

3+1071' 3.1408 ≤ π ≤ 3+

17' 3.1429.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

In a nutshellHistorical remarks

Page 24: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Historical remarks

Alan Turing (23-06-1912 - 07-06-1954)according to Wilkinson in his Turing lecture (1970).

Foundations in the late fifties and in the sixties.

Childhood until the seventies.

Popularization in the 1980, German school (U. Kulisch).

IEEE-754 standard for floating-point arithmetic in 1985.

Since the nineties: interval algorithms.

IEEE-1788 standard for interval arithmetic in 2015.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

In a nutshellHistorical remarks

Page 25: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Agenda

Interval arithmetic in a nutshellIn a nutshellHistorical remarks

Precious features of interval arithmeticFTIAConstraint solvingNewton and BrouwerNewton and the extended division

IEEE 1788-2015 standardPresentFutureConclusion

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

FTIAConstraint solvingNewton and BrouwerNewton and the extended division

Page 26: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Agenda

Interval arithmetic in a nutshellIn a nutshellHistorical remarks

Precious features of interval arithmeticFTIAConstraint solvingNewton and BrouwerNewton and the extended division

IEEE 1788-2015 standardPresentFutureConclusion

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

FTIAConstraint solvingNewton and BrouwerNewton and the extended division

Page 27: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Fundamental Theorem of Interval Arithmetic

Interval computations are guaranteed computations.

FTIA: Fundamental Theorem of Interval ArithmeticLet x1, . . . , xn be intervals,let f be an arithmetic expression defined over x1, . . . , xn,the y obtained by interval evaluation of f over x1, . . . , xn enclosesthe range f (x1, . . . , xn).

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

FTIAConstraint solvingNewton and BrouwerNewton and the extended division

Page 28: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Set computing

Behaviour safe? controllable? dangerous?

always controllable.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

FTIAConstraint solvingNewton and BrouwerNewton and the extended division

Page 29: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Set computing

On x , are the extrema of the function f > f 1, < f2?

x

f(x)

f

f

f

f2

1

No if f (x) = [f , f ] ⊂ [f2, f1].

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

FTIAConstraint solvingNewton and BrouwerNewton and the extended division

Page 30: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Relation between numerical analysis of roundofferrors and interval arithmetic

Old and nontrivial question von Neumann, Turing, Wilkinson, ...At least 2 ways to look at this question:

A priori analysis:I Goal: bound on ||x − x ||/||x || where x is the exact value and x

the computed value, for any input and formatI Tool: the many nice properties of floating-pointI Ideal: readable, provably tight bound + short proof

A posteriori, automatic analysis:I Goal: x and enclosure of x − x for given input and formatI Tool: interval arithmetic based on floating-pointI Ideal: a narrow interval computed fast

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

FTIAConstraint solvingNewton and BrouwerNewton and the extended division

Page 31: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

An example: Kahan’s algorithm for ad-bcKahan’s algorithm uses the FMA to evaluate det

[a bc d

]= ad − bc:

w := RN (bc);f := RN (ad−w); e := RN (w−bc);r := RN (f + e);

For Kahan’s algorithm, Jeannerod-Louvet-Muller (2013) established

|r − r |/|r |2u

=1

1+ 2u= 1− 2u + O(u2).

They exhibit values for a, b, c , d that show that this bound isasymptotically optimal. With a dozen lines of code, it was possibleto establish that

(r − r)/r

2u∈ [0, 3] for the naive method.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

FTIAConstraint solvingNewton and BrouwerNewton and the extended division

Page 32: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Agenda

Interval arithmetic in a nutshellIn a nutshellHistorical remarks

Precious features of interval arithmeticFTIAConstraint solvingNewton and BrouwerNewton and the extended division

IEEE 1788-2015 standardPresentFutureConclusion

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

FTIAConstraint solvingNewton and BrouwerNewton and the extended division

Page 33: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Constraint solvingCan we solve

[−3.1] + z = [−4, 7]?

−47

−3 1

z = [−4, 7]− [−3, 1] = [−5, 10]is not the solution:

[−3, 1] + [−5, 10] = [−8, 11] 6= [−4, 7].

A (the) solution exists: z = [−1, 6].

z = [−4− (−3), 7− 1].

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

FTIAConstraint solvingNewton and BrouwerNewton and the extended division

Page 34: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Constraint solving

Can we solve

x + z = y : [x , x ] + [z , z ] = [y , y ]?

Yes if width(y) ≥ width(x) and the solution is given by

z = [y − x , y − x ].

This is neither the addition nor the subtraction of intervals,it is a new operation so that the addition has a reciprocal.It is very useful to solve constraints such as x + z ≥ −4 andx + z ≤ 7 with x ∈ [−1, 3] for instance.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

FTIAConstraint solvingNewton and BrouwerNewton and the extended division

Page 35: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Range-only Multistatic Radar Detection of a Wind farm based onInterval Analysis

Multistatic Radar Range-only Separators:

Courtesy E. Codres, W. Al Mashhadani, A. Brown, A. Stancu and L. Jaulin(SWIM 2016).

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

FTIAConstraint solvingNewton and BrouwerNewton and the extended division

Page 36: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Agenda

Interval arithmetic in a nutshellIn a nutshellHistorical remarks

Precious features of interval arithmeticFTIAConstraint solvingNewton and BrouwerNewton and the extended division

IEEE 1788-2015 standardPresentFutureConclusion

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

FTIAConstraint solvingNewton and BrouwerNewton and the extended division

Page 37: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Algorithm: solving a nonlinear system: NewtonWhy a specific iteration for interval computations?

Usual formula:xk+1 = xk −

f (xk)

f ′(xk)

Direct interval transposition:

xk+1 = xk −f (xk)

f ′(xk)

Width of the resulting interval:

w(xk+1) = w(xk) + w

(f (xk)

f ′(xk)

)> w(xk)

divergence!

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

FTIAConstraint solvingNewton and BrouwerNewton and the extended division

Page 38: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Algorithm: solving a nonlinear system: NewtonWhy a specific iteration for interval computations?

Usual formula:xk+1 = xk −

f (xk)

f ′(xk)

Direct interval transposition:

xk+1 = xk −f (xk)

f ′(xk)Width of the resulting interval:

w(xk+1) = w(xk) + w

(f (xk)

f ′(xk)

)> w(xk)

divergence!Interval arithmetic in a nutshell

Precious features of interval arithmeticIEEE 1788-2015 standard

PresentFuture

Conclusion

FTIAConstraint solvingNewton and BrouwerNewton and the extended division

Page 39: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Algorithm: interval Newton (Hansen-Greenberg 83, Baker

Kearfott 95-97, Mayer 95, van Hentenryck et al. 97)

smallest slope

tangent with the deepest slope

tangent with the

X(k+1)

X(k)

x(k)

xk+1 :=

(xk −

f ({xk})f ′(xk)

)⋂xk

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

FTIAConstraint solvingNewton and BrouwerNewton and the extended division

Page 40: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Interval Newton: Brouwer theoremIf the new iterate (before intersection) is a subset of the previousiterate, then f has a zero on it.Furthermore, if it is included in its interior, then this zero is unique.

smallest slope

tangent with the deepest slope

tangent with the

(k+1)x

x(k)

(k)x

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

FTIAConstraint solvingNewton and BrouwerNewton and the extended division

Page 41: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Agenda

Interval arithmetic in a nutshellIn a nutshellHistorical remarks

Precious features of interval arithmeticFTIAConstraint solvingNewton and BrouwerNewton and the extended division

IEEE 1788-2015 standardPresentFutureConclusion

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

FTIAConstraint solvingNewton and BrouwerNewton and the extended division

Page 42: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Interval Newton and the extended division

X(k+1)

X(k)

X(k+1)

x(k)

tangent with the deepest slopetangent with the smallest slope

(xk+1,1, xk+1,2) :=

(xk −

f ({xk})f ′(xk)

)⋂xk

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

FTIAConstraint solvingNewton and BrouwerNewton and the extended division

Page 43: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Agenda

Interval arithmetic in a nutshellIn a nutshellHistorical remarks

Precious features of interval arithmeticFTIAConstraint solvingNewton and BrouwerNewton and the extended division

IEEE 1788-2015 standardPresentFutureConclusion

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 44: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Precious features of interval arithmetic

I Fundamental theorem of interval arithmetic (“Thou shaltnot lie”): the returned result contains the sought result:abbreviated as FTIA;

I constraint solving: reverse operations are needed:abbreviated as CS;

I Brouwer theorem: proof of existence (and uniqueness) of asolution: abbreviated as Brouwer;

I ad hoc, extended division: gap between two semi-infiniteintervals is preserved: abbreviated as extended division.

Goal of a standardization: keep the nice properties, havecommon definitions.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 45: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Precious features of interval arithmetic

I Fundamental theorem of interval arithmetic (“Thou shaltnot lie”): the returned result contains the sought result:abbreviated as FTIA;

I constraint solving: reverse operations are needed:abbreviated as CS;

I Brouwer theorem: proof of existence (and uniqueness) of asolution: abbreviated as Brouwer;

I ad hoc, extended division: gap between two semi-infiniteintervals is preserved: abbreviated as extended division.

Goal of a standardization: keep the nice properties, havecommon definitions.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 46: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE P1788 working group

Goal of a standardization: keep the nice properties, havecommon definitions.

Advantage of a standardization: have common definitions, beable to compare algorithms, results, libraries, have commonbenchmarks and test cases.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 47: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE P1788 working group

Goal of a standardization: keep the nice properties, havecommon definitions.

Advantage of a standardization: have common definitions, beable to compare algorithms, results, libraries, have commonbenchmarks and test cases.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 48: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE P1788 working groupCreation of the IEEE P1788 project: Initiated by 15 attendersat Dagstuhl, Jan 2008. Standard published in July 2015: IEEE1788-2015.

How P1788’s work is doneI The bulk of work is carried out by email - electronic voting.I Proposals = motions: 3 weeks discussion; 3 weeks vote.I IEEE had given us a 4-year deadline + 2 more + 1 more.I One “in person” meeting per year.I IEEE auspices: 1 report + 1 teleconference quarterly

URL of the working group:http://grouper.ieee.org/groups/1788/or google 1788 interval arithmetic.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 49: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE P1788 working groupCreation of the IEEE P1788 project: Initiated by 15 attendersat Dagstuhl, Jan 2008. Standard published in July 2015: IEEE1788-2015.

How P1788’s work is doneI The bulk of work is carried out by email - electronic voting.I Proposals = motions: 3 weeks discussion; 3 weeks vote.I IEEE had given us a 4-year deadline + 2 more + 1 more.I One “in person” meeting per year.I IEEE auspices: 1 report + 1 teleconference quarterly

URL of the working group:http://grouper.ieee.org/groups/1788/or google 1788 interval arithmetic.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 50: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: the big picture

LEVEL4

bits

LEVEL1

mathematics

LEVEL2

implementationor discretization

LEVEL3

computerrepresentation

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 51: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: the big picture

objectsrepresentation

(no mid−rad...)constructors

LEVEL4

bits

LEVEL1

mathematics

LEVEL2

implementationor discretization

LEVEL3

computerrepresentation

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 52: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: the big picture

objectsrepresentation

(no mid−rad...)constructors

LEVEL4

bits

LEVEL1

mathematics

LEVEL2

implementationor discretization

LEVEL3

computerrepresentation

operationsarithmetic

setinterval

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 53: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: the big picture

objectsrepresentation

(no mid−rad...)constructors

predicatescomparisons

LEVEL4

bits

LEVEL1

mathematics

LEVEL2

implementationor discretization

LEVEL3

computerrepresentation

operationsarithmetic

setinterval

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 54: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: the big picture

objectsrepresentation

(no mid−rad...)constructors

predicatescomparisons

LEVEL4

bits

LEVEL1

mathematics

LEVEL2

implementationor discretization

LEVEL3

computerrepresentation

operationsarithmetic

setinterval

representation

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 55: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: the big picture

objectsrepresentation

(no mid−rad...)constructors

predicatescomparisons

LEVEL4

bits

LEVEL1

mathematics

LEVEL2

implementationor discretization

LEVEL3

computerrepresentation

operationsarithmetic

setinterval

representationlink with IEEE−754

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 56: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: the big picture

objectsrepresentation

(no mid−rad...)constructors

predicatescomparisons

LEVEL4

bits

LEVEL1

mathematics

LEVEL2

implementationor discretization

LEVEL3

computerrepresentation

operationsarithmetic

setinterval

representation

interchange

link with IEEE−754

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 57: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: the big picture

objectsrepresentation

(no mid−rad...)constructors

handling in aprogramming language(constructors...)

predicatescomparisons

LEVEL4

bits

LEVEL1

mathematics

LEVEL2

implementationor discretization

LEVEL3

computerrepresentation

operationsarithmetic

setinterval

representation

interchange

link with IEEE−754

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 58: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: the big picture

objectsrepresentation

(no mid−rad...)constructors

operationsarithmetic+exceptions

setinterval

handling in aprogramming language(constructors...)

predicatescomparisons

LEVEL4

bits

LEVEL1

mathematics

LEVEL2

implementationor discretization

LEVEL3

computerrepresentation

representation

interchangeexceptions

link with IEEE−754

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 59: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: the big picture

objectsrepresentation

(no mid−rad...)constructors

operationsarithmetic+exceptions

setinterval

handling in aprogramming language(constructors...)

predicatescomparisons

LEVEL4

bits

LEVEL1

mathematics

LEVEL2

implementationor discretization

LEVEL3

computerrepresentation

representation

interchangeexceptions

link with IEEE−754

I/O

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 60: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: the big picture

objectsrepresentation

(no mid−rad...)constructors

operationsarithmetic+exceptions

setinterval

handling in aprogramming language(constructors...)

predicatescomparisons

modal (Kaucher)setflavours

LEVEL4

bits

LEVEL1

mathematics

LEVEL2

implementationor discretization

LEVEL3

computerrepresentation

representation

interchangeexceptions

link with IEEE−754

I/O

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 61: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: the big picture

product

representation(no mid−rad...)

constructors

operationsarithmetic+exceptions

setinterval

handling in aprogramming language(constructors...)

predicatescomparisons

modal (Kaucher)set

flavours

LEVEL4

bits

LEVEL1

mathematics

LEVEL2

implementationor discretization

LEVEL3

computerrepresentation

representation

interchangeexceptions

link with IEEE−754

I/O

exact dot

objects

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 62: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: levels

representation(no mid−rad...)

constructors

operationsarithmetic+exceptions

setinterval

handling in aprogramming language(constructors...)

modal (Kaucher)set

flavours

LEVEL4

bits

LEVEL1

mathematics

LEVEL2

implementationor discretization

LEVEL3

computerrepresentation

representation

interchangeexceptions

link with IEEE−754

I/O

exact dotproduct

predicatesobjectscomparisons

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 63: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: levels

I Level 1: mathematical level[0, π]

I Level 2: discretization level[rl(0), ru(π)] where rl and ru map a real number to a numberfrom an abstract finite set; issues: going from a continuousto a discrete, finite set;

I Level 3: computer representation level[zero, pi] where zero = RD (0), pi = RU (π) are twobinary64 numbers: the discrete finite set is specified;

I Level 4: encoding level0x80000000000000000x400921fb54442d19

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 64: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: intervals

constructors

arithmetic+exceptionsset

interval

handling in aprogramming language(constructors...)

predicatescomparisons

modal (Kaucher)set

flavours

LEVEL4

bits

LEVEL1

mathematics

LEVEL2

implementationor discretization

LEVEL3

computerrepresentation

representation

interchangeexceptions

link with IEEE−754

I/O

exact dotproduct

objectsrepresentation

(no mid−rad...)

operations

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 65: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: intervals

Everybody agrees on the meaning of [1, 3].

What about ∅? [5,+∞)? [3, 1]?

Common basis: an interval is a non-empty bounded closedconnected subset of R.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 66: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: intervals

Everybody agrees on the meaning of [1, 3].

What about ∅?

[5,+∞)? [3, 1]?

Common basis: an interval is a non-empty bounded closedconnected subset of R.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 67: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: intervals

Everybody agrees on the meaning of [1, 3].

What about ∅? [5,+∞)?

[3, 1]?

Common basis: an interval is a non-empty bounded closedconnected subset of R.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 68: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: intervals

Everybody agrees on the meaning of [1, 3].

What about ∅? [5,+∞)? [3, 1]?

Common basis: an interval is a non-empty bounded closedconnected subset of R.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 69: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: intervals

Everybody agrees on the meaning of [1, 3].

What about ∅? [5,+∞)? [3, 1]?

Common basis: an interval is a non-empty bounded closedconnected subset of R.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 70: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: operations

set

programming language(constructors...)

predicatescomparisons

modal (Kaucher)set

flavours

LEVEL4

bits

LEVEL1

mathematics

LEVEL2

implementationor discretization

LEVEL3

computerrepresentation

objectsrepresentation

(no mid−rad...)constructors

representation

interchangeexceptions

link with IEEE−754

I/O

exact dotproduct

operationsarithmetic+exceptions

interval

handling in a

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 71: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: operationsOperations are defined so as to satisfy FTIA:

I [−1, 3] + [4, 8] = [3, 11]I [2, 5]− [1, 2] = [0, 4]I [2, 3] ∗ [−2, 1] = [−6, 3]I [2, 3]/[1, 2] = [1, 3]I√

[1, 2] = [1,√2]

I sin([3, 5]) ⊂ [−1,+0.14113]I . . .

Common basis: an operation ϕ evaluated on intervalarguments x1, . . . , xk within its domain returns its range onthese arguments (or an enclosure of it).

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 72: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: operationsOperations are defined so as to satisfy FTIA:

I [−1, 3] + [4, 8] = [3, 11]I [2, 5]− [1, 2] = [0, 4]I [2, 3] ∗ [−2, 1] = [−6, 3]I [2, 3]/[1, 2] = [1, 3]I√

[1, 2] = [1,√2]

I sin([3, 5]) ⊂ [−1,+0.14113]I . . .

Common basis: an operation ϕ evaluated on intervalarguments x1, . . . , xk within its domain returns its range onthese arguments (or an enclosure of it).

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 73: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: operations

Operations specific to sets:I intersection: [2, 4] ∩ [3, 7] = [3, 4]I convex hull of the union: [−2,−1] ∪ [3, 7] = [−2, 7]

and to intervals:I infimum, supremum: inf([−1, 3]) = −1, sup([−1, 3]) = 3I midpoint: mid([−1, 3]) = 1I width, radius: wid([−1, 3]) = 4, rad([−1, 3]) = 2I magnitude, mignitude: mag([−1, 3]) = 3, mig([−1, 3]) = 0

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 74: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: operations

cancelPlus and cancelMinus are defined as reverse operationsfor + and −:

I cancelMinus([2, 5], [1, 3]) = [1, 2]I cancelPlus([2, 5], [1, 3]) =

cancelMinus([2, 5],−[1, 3]) = [5, 6]so as to satisfy CS.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 75: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: operations

Operations are defined so as to satisfy FTIA:I [−1, 3] + [4, 8] = [3, 11]I [2, 5]− [1, 2] = [0, 4]I [2, 3] ∗ [−2, 1] = [−6, 3]I [2, 3]/[1, 2] = [1, 3]I√

[1, 2] = [1,√2]

I sin([3, 5]) ' [−1,+0.14113]I . . .

What about [2, 3]/[0, 2]? [2, 3]/[−1, 2]?√

[−1, 2]?

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 76: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: operations

Operations are defined so as to satisfy FTIA:I [−1, 3] + [4, 8] = [3, 11]I [2, 5]− [1, 2] = [0, 4]I [2, 3] ∗ [−2, 1] = [−6, 3]I [2, 3]/[1, 2] = [1, 3]I√

[1, 2] = [1,√2]

I sin([3, 5]) ' [−1,+0.14113]I . . .

What about [2, 3]/[0, 2]?

[2, 3]/[−1, 2]?√

[−1, 2]?

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 77: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: operations

Operations are defined so as to satisfy FTIA:I [−1, 3] + [4, 8] = [3, 11]I [2, 5]− [1, 2] = [0, 4]I [2, 3] ∗ [−2, 1] = [−6, 3]I [2, 3]/[1, 2] = [1, 3]I√

[1, 2] = [1,√2]

I sin([3, 5]) ' [−1,+0.14113]I . . .

What about [2, 3]/[0, 2]? [2, 3]/[−1, 2]?

√[−1, 2]?

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 78: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: operations

Operations are defined so as to satisfy FTIA:I [−1, 3] + [4, 8] = [3, 11]I [2, 5]− [1, 2] = [0, 4]I [2, 3] ∗ [−2, 1] = [−6, 3]I [2, 3]/[1, 2] = [1, 3]I√

[1, 2] = [1,√2]

I sin([3, 5]) ' [−1,+0.14113]I . . .

What about [2, 3]/[0, 2]? [2, 3]/[−1, 2]?√[−1, 2]?

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 79: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: flavors

flavoursrepresentation(no mid−rad...)

constructors

operationsarithmetic+exceptions

setinterval

handling in aprogramming language(constructors...)

predicatescomparisons

LEVEL4

bits

LEVEL1

mathematics

LEVEL2

implementationor discretization

LEVEL3

computerrepresentation

representation

interchangeexceptions

link with IEEE−754

I/O

exact dotproduct

modal (Kaucher)set

objects

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 80: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: flavors

What about ∅? [5,+∞)? [3, 1]?What about [2, 3]/[0, 2]? [2, 3]/[−1, 2]?

√[−1, 2]?

Each has a meaning in some theory: set theory, cset theory,Kaucher arithmetic, modal arithmetic but not in all of them, andnot the same.

IEEE 1788-2015 defines a common basis (seen so far) and provides"hooks" to accommodate a theory, called a flavor.

The only available flavor in IEEE 1788-2015 is the set-basedflavor. Any implementation is IEEE 1788-2015 compliant if itprovides at least one flavor.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 81: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: flavors

What about ∅? [5,+∞)? [3, 1]?What about [2, 3]/[0, 2]? [2, 3]/[−1, 2]?

√[−1, 2]?

Each has a meaning in some theory: set theory, cset theory,Kaucher arithmetic, modal arithmetic

but not in all of them, andnot the same.

IEEE 1788-2015 defines a common basis (seen so far) and provides"hooks" to accommodate a theory, called a flavor.

The only available flavor in IEEE 1788-2015 is the set-basedflavor. Any implementation is IEEE 1788-2015 compliant if itprovides at least one flavor.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 82: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: flavors

What about ∅? [5,+∞)? [3, 1]?What about [2, 3]/[0, 2]? [2, 3]/[−1, 2]?

√[−1, 2]?

Each has a meaning in some theory: set theory, cset theory,Kaucher arithmetic, modal arithmetic but not in all of them, andnot the same.

IEEE 1788-2015 defines a common basis (seen so far) and provides"hooks" to accommodate a theory, called a flavor.

The only available flavor in IEEE 1788-2015 is the set-basedflavor. Any implementation is IEEE 1788-2015 compliant if itprovides at least one flavor.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 83: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: flavors

What about ∅? [5,+∞)? [3, 1]?What about [2, 3]/[0, 2]? [2, 3]/[−1, 2]?

√[−1, 2]?

Each has a meaning in some theory: set theory, cset theory,Kaucher arithmetic, modal arithmetic but not in all of them, andnot the same.

IEEE 1788-2015 defines a common basis (seen so far) and provides"hooks" to accommodate a theory,

called a flavor.

The only available flavor in IEEE 1788-2015 is the set-basedflavor. Any implementation is IEEE 1788-2015 compliant if itprovides at least one flavor.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 84: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: flavors

What about ∅? [5,+∞)? [3, 1]?What about [2, 3]/[0, 2]? [2, 3]/[−1, 2]?

√[−1, 2]?

Each has a meaning in some theory: set theory, cset theory,Kaucher arithmetic, modal arithmetic but not in all of them, andnot the same.

IEEE 1788-2015 defines a common basis (seen so far) and provides"hooks" to accommodate a theory, called a flavor.

The only available flavor in IEEE 1788-2015 is the set-basedflavor. Any implementation is IEEE 1788-2015 compliant if itprovides at least one flavor.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 85: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: flavors

What about ∅? [5,+∞)? [3, 1]?What about [2, 3]/[0, 2]? [2, 3]/[−1, 2]?

√[−1, 2]?

Each has a meaning in some theory: set theory, cset theory,Kaucher arithmetic, modal arithmetic but not in all of them, andnot the same.

IEEE 1788-2015 defines a common basis (seen so far) and provides"hooks" to accommodate a theory, called a flavor.

The only available flavor in IEEE 1788-2015 is the set-basedflavor.

Any implementation is IEEE 1788-2015 compliant if itprovides at least one flavor.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 86: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: flavors

What about ∅? [5,+∞)? [3, 1]?What about [2, 3]/[0, 2]? [2, 3]/[−1, 2]?

√[−1, 2]?

Each has a meaning in some theory: set theory, cset theory,Kaucher arithmetic, modal arithmetic but not in all of them, andnot the same.

IEEE 1788-2015 defines a common basis (seen so far) and provides"hooks" to accommodate a theory, called a flavor.

The only available flavor in IEEE 1788-2015 is the set-basedflavor. Any implementation is IEEE 1788-2015 compliant if itprovides at least one flavor.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 87: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: set-based flavor

Set-based interval: a non-empty bounded closed connectedsubset of R. Ex.: ∅ [5,+∞) [3, 1]

Set-based operation:

ϕ(x1, . . . , xk) = Hull{ϕ(x1, . . . , xk) : (x1, . . . , xk) ∈ (x1, . . . , xk)∩Dom(ϕ)}.

[2, 3]/[0, 2] = [1,+∞), [2, 3]/[−1, 2] = (−∞,+∞),√[−1, 2] = [0,

√2].

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 88: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: set-based flavor

Set-based interval: a non-empty bounded closed connectedsubset of R. Ex.: ∅ [5,+∞) [3, 1]

Set-based operation:

ϕ(x1, . . . , xk) = Hull{ϕ(x1, . . . , xk) : (x1, . . . , xk) ∈ (x1, . . . , xk)∩Dom(ϕ)}.

[2, 3]/[0, 2] = [1,+∞), [2, 3]/[−1, 2] = (−∞,+∞),√[−1, 2] = [0,

√2].

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 89: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: set-based flavor

Some more operations, specific to the set-based flavor:I more reverse operations: for |.|, sqr, sin. . . .

Ex.: sqrRev([1, 4]) = Hull([−2,−1] ∪ [1, 2]) = [−2, 2],sinRev([−0.3, 0.5], [3π, 5π]) ⊂ [9.4247, 15.708].

I mulRevToPair corresponds to the extended division:[2, 3]/[−1, 2] = ((−∞,−2], [1,+∞)).

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 90: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: decorations

exceptionsrepresentation

(no mid−rad...)constructors

handling in aprogramming language(constructors...)

predicatescomparisons

modal (Kaucher)set

flavours

LEVEL4

bits

LEVEL1

mathematics

LEVEL2

implementationor discretization

LEVEL3

computerrepresentation

representation

interchangeexceptions

link with IEEE−754

I/O

exact dotproduct

operationsarithmetic+

setinterval

objects

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 91: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: decorationsLet f : x 7→

√x − 2.

f has no real fixed point ⇔ g(x) = x −√x + 2 has no real zero.

Evaluate f ([−4, 9]) =√

[−4, 9]−2 = [0, 3]−2 = [−2, 1] ⊂ [−4, 9].

Brouwer theorem does not apply because f is not continuous on[−4, 9]. f is not everywhere defined on [−4, 9].

Required: provide a means to tell the user that Brouwer theoremdoes not apply: handle an exception.This satisfies our requirement regarding Brouwer.

Mechanism for handling exception: decoration.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 92: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: decorationsLet f : x 7→

√x − 2.

f has no real fixed point ⇔ g(x) = x −√x + 2 has no real zero.

Evaluate f ([−4, 9]) =√

[−4, 9]−2 = [0, 3]−2 = [−2, 1] ⊂ [−4, 9].

Brouwer theorem does not apply because f is not continuous on[−4, 9]. f is not everywhere defined on [−4, 9].

Required: provide a means to tell the user that Brouwer theoremdoes not apply: handle an exception.This satisfies our requirement regarding Brouwer.

Mechanism for handling exception: decoration.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 93: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: decorationsLet f : x 7→

√x − 2.

f has no real fixed point ⇔ g(x) = x −√x + 2 has no real zero.

Evaluate f ([−4, 9]) =√[−4, 9]−2 = [0, 3]−2 = [−2, 1] ⊂ [−4, 9].

Brouwer theorem does not apply because f is not continuous on[−4, 9]. f is not everywhere defined on [−4, 9].

Required: provide a means to tell the user that Brouwer theoremdoes not apply: handle an exception.This satisfies our requirement regarding Brouwer.

Mechanism for handling exception: decoration.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 94: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: decorationsLet f : x 7→

√x − 2.

f has no real fixed point ⇔ g(x) = x −√x + 2 has no real zero.

Evaluate f ([−4, 9]) =√[−4, 9]−2 = [0, 3]−2 = [−2, 1] ⊂ [−4, 9].

Brouwer theorem does not apply because f is not continuous on[−4, 9].

f is not everywhere defined on [−4, 9].

Required: provide a means to tell the user that Brouwer theoremdoes not apply: handle an exception.This satisfies our requirement regarding Brouwer.

Mechanism for handling exception: decoration.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 95: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: decorationsLet f : x 7→

√x − 2.

f has no real fixed point ⇔ g(x) = x −√x + 2 has no real zero.

Evaluate f ([−4, 9]) =√[−4, 9]−2 = [0, 3]−2 = [−2, 1] ⊂ [−4, 9].

Brouwer theorem does not apply because f is not continuous on[−4, 9]. f is not everywhere defined on [−4, 9].

Required: provide a means to tell the user that Brouwer theoremdoes not apply: handle an exception.This satisfies our requirement regarding Brouwer.

Mechanism for handling exception: decoration.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 96: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: decorationsLet f : x 7→

√x − 2.

f has no real fixed point ⇔ g(x) = x −√x + 2 has no real zero.

Evaluate f ([−4, 9]) =√[−4, 9]−2 = [0, 3]−2 = [−2, 1] ⊂ [−4, 9].

Brouwer theorem does not apply because f is not continuous on[−4, 9]. f is not everywhere defined on [−4, 9].

Required: provide a means to tell the user that Brouwer theoremdoes not apply:

handle an exception.This satisfies our requirement regarding Brouwer.

Mechanism for handling exception: decoration.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 97: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: decorationsLet f : x 7→

√x − 2.

f has no real fixed point ⇔ g(x) = x −√x + 2 has no real zero.

Evaluate f ([−4, 9]) =√[−4, 9]−2 = [0, 3]−2 = [−2, 1] ⊂ [−4, 9].

Brouwer theorem does not apply because f is not continuous on[−4, 9]. f is not everywhere defined on [−4, 9].

Required: provide a means to tell the user that Brouwer theoremdoes not apply: handle an exception.This satisfies our requirement regarding Brouwer.

Mechanism for handling exception: decoration.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 98: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: decorationsLet f : x 7→

√x − 2.

f has no real fixed point ⇔ g(x) = x −√x + 2 has no real zero.

Evaluate f ([−4, 9]) =√[−4, 9]−2 = [0, 3]−2 = [−2, 1] ⊂ [−4, 9].

Brouwer theorem does not apply because f is not continuous on[−4, 9]. f is not everywhere defined on [−4, 9].

Required: provide a means to tell the user that Brouwer theoremdoes not apply: handle an exception.This satisfies our requirement regarding Brouwer.

Mechanism for handling exception: decoration.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 99: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: decorationsBest way to handle exceptions?

To avoid global flags, “tags” attached to each interval:decorations.

Meaning (in the set-based flavor): piece of informationregarding the history, the computation that led to the interval.

Discussions about what should be in the decorations.For set-based flavor:

I com for common,I dac for defined and continuous,I def for defined,I trv for no information (trivial),I ill for nowhere defined, or ill-formed.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 100: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: decorations

Propagation rule (for the set-based flavor):

(y , dy ) = ϕ((x1, d1), . . . , (xk , dk))

whereI y = ϕ(x1, . . . , xk);I d is a decoration corresponding to the application of ϕ to

x1, . . . , xk ;I dy = min(d , d1, . . . , dk) where the order is com > dac > def> trv > ill.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 101: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: decorations

Mandatory: every flavor must provide a FTDIA: FundamentalTheorem of Decorated Interval Arithmetic.

FTDIA for the set-based flavor: the FTIA holds and thedecorations mean what they are meant to mean.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 102: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: decorations

Mandatory: every flavor must provide a FTDIA: FundamentalTheorem of Decorated Interval Arithmetic.

FTDIA for the set-based flavor: the FTIA holds and thedecorations mean what they are meant to mean.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 103: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: misc

representation(no mid−rad...)

constructors

operationsarithmetic+exceptions

setinterval

handling in aprogramming language(constructors...)

modal (Kaucher)set

flavours

LEVEL4

bits

LEVEL1

mathematics

LEVEL2

implementationor discretization

LEVEL3

computerrepresentation

representation

interchangeexceptions

link with IEEE−754

I/O

exact dotproduct

predicatesobjectscomparisons

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 104: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: comparisons

How to compare two intervals?how to compare [−1, 2] and [0, 3]? or [−1, 2] and [0, 1]?

I 7 relations: equal (=), subset (⊂), less than or equal to (≤),precedes or touches (�), interior to, less than (<), precedes(≺).

I predicates: before, meets, overlaps, starts, containedBy,finishes, equal, finishedBy, contains, startedBy, overlappedBy,metBy, after.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 105: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: comparisons

How to compare two intervals?how to compare [−1, 2] and [0, 3]? or [−1, 2] and [0, 1]?

I 7 relations: equal (=), subset (⊂), less than or equal to (≤),precedes or touches (�), interior to, less than (<), precedes(≺).

I predicates: before, meets, overlaps, starts, containedBy,finishes, equal, finishedBy, contains, startedBy, overlappedBy,metBy, after.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 106: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: comparisons

How to compare two intervals?how to compare [−1, 2] and [0, 3]? or [−1, 2] and [0, 1]?

I 7 relations: equal (=), subset (⊂), less than or equal to (≤),precedes or touches (�), interior to, less than (<), precedes(≺).

I predicates: before, meets, overlaps, starts, containedBy,finishes, equal, finishedBy, contains, startedBy, overlappedBy,metBy, after.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 107: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: exact dot product

Recommended operation: exact dot product or edp.This operation concerns vectors of floating-point numbers, notvectors of intervals.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 108: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE-1788 standard: levelsLevel 2 issues:

I rounding: at Level 1, x = [x , x ] – at Level 2, x is representedas [RD (x), RU (x)];

I similar issue for the result of each operation;I cornercases: wid(∅)? mid(R)? By convention: NaN, or 0. . .I representation: by endpoints, by midpoint-radiusI constructors.

Level 3 issues:I issues mostly related to IEEE 754-2008.

Level 4 issues:I issues mostly related to IEEE 754-2008;I encoding of decorations is specified.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 109: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Agenda

Interval arithmetic in a nutshellIn a nutshellHistorical remarks

Precious features of interval arithmeticFTIAConstraint solvingNewton and BrouwerNewton and the extended division

IEEE 1788-2015 standardPresentFutureConclusion

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 110: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE 1788.1-2017: Standard for Interval Arithmetic (simplified)This standard is a simplified version and a subset of the IEEE Std1788-2015 for Interval Arithmetic and includes those operations andfeatures of the latter that in the the editors’ view are most commonly used inpractice. IEEE P1788.1 specifies interval arithmetic operations basedon intervals whose endpoints are IEEE Std 754-2008 binary64floating-point numbers and a decoration system for exception-freecomputations and propagation of properties of the computed results.A program built on top of an implementation of IEEE P1788.1 should compileand run, and give identical output within round off, using an implementation ofIEEE Std 1788-2015, or any superset of the former.Compared to IEEE Std 1788-2015, this standard aims to be minimalistic, yet tocover much of the functionality needed for interval computations. As such, it ismore accessible and will be much easier to implement, and thus will speed upproduction of implementations.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 111: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE 1788-2015 compliant libraries

A compliant library implements common interval arithmetic andat least one flavor.

The IEEE 1788-2015 compliant libraries have been developed afterthe standard, as proof-of-concept mostly:

I Octave intervalI libieee1788I jInterval : Java interface for several libraries +

compliance-tests

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 112: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE 1788-2015 compliant libraries

A compliant library implements common interval arithmetic andat least one flavor.

The IEEE 1788-2015 compliant libraries have been developed afterthe standard, as proof-of-concept mostly:

I Octave intervalI libieee1788I jInterval : Java interface for several libraries +

compliance-tests

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 113: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Agenda

Interval arithmetic in a nutshellIn a nutshellHistorical remarks

Precious features of interval arithmeticFTIAConstraint solvingNewton and BrouwerNewton and the extended division

IEEE 1788-2015 standardPresentFutureConclusion

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 114: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE 1788-2015 compliant libraries

The IEEE 1788-2015 compliant libraries have been developed afterthe standard, as proof-of-concept mostly:

I Octave interval by Oliver HeimlichI libieee1788 by Marco NehmeierI jInterval : Java interface for several libraries +

compliance-tests: Dmitry Nadezhin, Sergei Zhilin

Both developers/maintainers have left academia: what is thefuture of these libraries?

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 115: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

IEEE 1788-2015 compliant libraries

The IEEE 1788-2015 compliant libraries have been developed afterthe standard, as proof-of-concept mostly:

I Octave interval by Oliver HeimlichI libieee1788 by Marco NehmeierI jInterval : Java interface for several libraries +

compliance-tests: Dmitry Nadezhin, Sergei Zhilin

Both developers/maintainers have left academia: what is thefuture of these libraries?

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 116: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

New flavors?

Flavors mentioned during the development of IEEE1788-2015:

I csetI Kaucher arithmeticI modal arithmeticI Rump’s proposal to handle overflow

Any person proposing a new flavor should submit it as a revision ofthe standard.

Anyway, the standard will incur a revision for 2025.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 117: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

New flavors?

Flavors mentioned during the development of IEEE1788-2015:

I csetI Kaucher arithmeticI modal arithmeticI Rump’s proposal to handle overflow

Any person proposing a new flavor should submit it as a revision ofthe standard.

Anyway, the standard will incur a revision for 2025.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 118: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

New flavors?

Flavors mentioned during the development of IEEE1788-2015:

I csetI Kaucher arithmeticI modal arithmeticI Rump’s proposal to handle overflow

Any person proposing a new flavor should submit it as a revision ofthe standard.

Anyway, the standard will incur a revision for 2025.

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 119: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Agenda

Interval arithmetic in a nutshellIn a nutshellHistorical remarks

Precious features of interval arithmeticFTIAConstraint solvingNewton and BrouwerNewton and the extended division

IEEE 1788-2015 standardPresentFutureConclusion

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 120: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Why do I like working on interval arithmetic?

because there is plenty of research to do. . .

because interval arithmetic is magic!

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 121: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Why do I like working on interval arithmetic?

because there is plenty of research to do. . .

because interval arithmetic is magic!

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 122: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Why do I like working on interval arithmetic?

because there is plenty of research to do. . .

because interval arithmetic is magic!

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 123: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Magic interval arithmetic

Alan Turing (23-06-1912 - 07-06-1954)

I number between 1 and 100 ∈ [1, 100]I multiply by birth day: ∈ [1, 31] ∈ [3, 3100]I divide by 8xxx: ∈ [8000, 8999] ∈ (0, 0.4)I subtract 241 ∈ (−241, −240.6)I divide by 4 ∈ (−60.25, −60.15)

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 124: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Magic interval arithmetic

Alan Turing (23-06-1912 - 07-06-1954)

I number between 1 and 100 ∈ [1, 100]

I multiply by birth day: ∈ [1, 31] ∈ [3, 3100]I divide by 8xxx: ∈ [8000, 8999] ∈ (0, 0.4)I subtract 241 ∈ (−241, −240.6)I divide by 4 ∈ (−60.25, −60.15)

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 125: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Magic interval arithmetic

Alan Turing (23-06-1912 - 07-06-1954)

I number between 1 and 100 ∈ [1, 100]I multiply by birth day: ∈ [1, 31] ∈ [3, 3100]

I divide by 8xxx: ∈ [8000, 8999] ∈ (0, 0.4)I subtract 241 ∈ (−241, −240.6)I divide by 4 ∈ (−60.25, −60.15)

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 126: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Magic interval arithmetic

Alan Turing (23-06-1912 - 07-06-1954)

I number between 1 and 100 ∈ [1, 100]I multiply by birth day: ∈ [1, 31] ∈ [3, 3100]I divide by 8xxx: ∈ [8000, 8999] ∈ (0, 0.4)

I subtract 241 ∈ (−241, −240.6)I divide by 4 ∈ (−60.25, −60.15)

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 127: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Magic interval arithmetic

Alan Turing (23-06-1912 - 07-06-1954)

I number between 1 and 100 ∈ [1, 100]I multiply by birth day: ∈ [1, 31] ∈ [3, 3100]I divide by 8xxx: ∈ [8000, 8999] ∈ (0, 0.4)I subtract 241 ∈ (−241, −240.6)

I divide by 4 ∈ (−60.25, −60.15)

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion

Page 128: Introduction to the IEEE 1788-2015 Standard for Interval Arithmetic

Nathalie Revol IEEE 1788-2015 Standard for Interval Arithmetic

Magic interval arithmetic

Alan Turing (23-06-1912 - 07-06-1954)

I number between 1 and 100 ∈ [1, 100]I multiply by birth day: ∈ [1, 31] ∈ [3, 3100]I divide by 8xxx: ∈ [8000, 8999] ∈ (0, 0.4)I subtract 241 ∈ (−241, −240.6)I divide by 4 ∈ (−60.25, −60.15)

Interval arithmetic in a nutshellPrecious features of interval arithmetic

IEEE 1788-2015 standardPresentFuture

Conclusion