Dan Zuras Intervals schrieb:
Date: Mon, 30 Mar 2009 21:27:55 +0200
From: Ulrich Kulisch <Ulrich.Kulisch@xxxxxxxxxxx>
To: Dan Zuras Intervals <intervals08@xxxxxxxxxxxxxx>
CC: stds-1788 <stds-1788@xxxxxxxxxxxxxxxxx>,
stds-1788-er <stds-1788-er@xxxxxxxxxxxxxxxxxxxxx>
Subject: Re: [IEEE P1788 er subgroup]: My first cut at the Level 1 list...
Hi, Dan,
thank you for your mail.
SHOULD the basis for our (interval) arithmetic be R or R* (including -oo & +oo)?
The basis for real interval arithemetic is R*, of course, the same as for floating-point arithmetic. On the computer the lower bound of the result of an interval operation has to be rounded downwards and the upper bound rounded upwards. These roundings are mappings from R* onto F* (floating-point numbers with -oo & +oo).
In floating-point arithmetic an overflow or division of a number not equal 0 by zero delivers -oo or +oo as result. In interval arithmetic the result of an operation is a set. In the first case it is an unbounded real interval and in the second case it is the empty set.
There are no operations for real intervals which deliver [-oo, -oo] or [+oo, +oo] as result. Both are not real intervals. So in contrast to floating-point arithmetic there is no need in interval arithmetic to define operations like [+oo, +oo] - [+oo, +oo] or [+oo, +oo]/[+oo, +oo] which are set to be NaN in floating-point arithmetic. Further, if A and B are real intervals with 0 in A and 0 in B then A/B = (-oo, +oo) in interval arithmetic. So again there is no need in interval arithmetic to introduce NaN for 0/0 for instance as in floating-point arithmetic. Interval arithmetic can be kept free of exceptions.
Floating-point arithmetic and interval arithmetic are different calculi. Each one has its own rules. Mixing the two causes complicated problems. It would be unwise. In simplicity lies truth!
Best whishes
Ulrich
Ulrich,
I understand &, for the most part, agree.
But in our discussions the issue of the existence of the empty
set as an answer to questions like 1/[0,0] has been raised.
And I dislike the use of a non-interval or NaI for this purpose.
Therefore, one is forced to ask the question: Is a singleton
infinity a better answer?
It does not solve everything. For me, [empty] is a better
answer for 1/[0,0]. But for the even pole 1/(xx - 1)^2 when
evaluated at xx = [1,1] I am forced to wonder.
Thus the question.
If we all agree that [empty] is the better answer here too,
I am happy with that solution.
It will affect decisions we make in future so we should settle
it first, I believe.
One of your countrymen once said, "A theory should be as simple
as possible, and no simpler."
One must admit that there is a certain lower bound on simplicity
when it comes to intervals. :-)
Thanks,
Dan
Dan:
I really enjoy your answer. It reads so philosophical. Let me try to
give an answer in terms of mathematics.
For intervals A and B in IR (the set of closed and bounded real
intervals) division is defined by
I. A/B := {a/b | a in A and b in B} for 0 notin B.
The quotient a/b is defined as the inverse operation of multiplication,
i.e., as the solution of the equation b x = a. Thus the above
definition can be written in the form
II. A/B := {x | b x = a for all a in A and b in B}.
For 0 notin B both definitions are equivalent. While in R division by
zero is not defined, representation of A/B in the second form allows
definition of the operation and also interpretation of the result for 0
in B.
Since every x in R fulfills the equation 0 x = 0 we obtatin A/B = (-oo,
+oo) whenever 0 in A and 0 in B. So 0/0 = (-oo, +oo).
If 0 notin A and B = [0, 0] there is no real number which fulfills the
second form of the definition of the quotiont. So in this case A/B =
empty set.
So the answer in case of your samples is clear:
1/[0, 0] = emptyset
and for X = [1, 1], 1/(X - 1)^2 = emptyset as well as 1/(X -1) =
emptyset.
Interval arithmetic deals with sets of real numbers. In addtion to the
arithmetic operations, for sets we still have the operations
intersection and union. So large intervals can become smaller within a
computation by intersection. In interval arithmetic the emptyset playes
a role comparable to NaN in floating-point arithmetic. However, this
last sentence is also more of a philosophical nature.
For more details see my position paper "Complete Interval Arithmetic
and Its Implementation on the Computer".
Best whishes
Ulrich
|