Re: Motion P1788.1/M004.01
On Fri, May 13, 2016 at 12:38 PM, John Pryce <PryceJD1@xxxxxxxxxxxxx> wrote:
> P1788.1 members
>
>> On 10 May 2016, at 17:17, Lee Winter <lee.j.i.winter@xxxxxxxxx> wrote:
>> On Tue, May 10, 2016 at 10:46 AM, Ulrich Kulisch <ulrich.kulisch@xxxxxxx> wrote:
>>
>>> I think interval arithmetic should not be defined over the IEEE 754 binary64
>>> numbers. This more or less pulls all the IEEE 754 exceptions into interval
>>> arithmetic. We shoud not bother all users of interval arithmetic with
>>> constructs which really do not occur and definitly are not needed in
>>> interval arithmetic.
>>>
>>> Interval arithmetic shoud just be defined as a calculus for connected sets
>>> of real numbers.
>>
>> I disagree. We don't have native real numbers. We only have finite
>> (small) sets of rational numbers.
>>
>>> Since -oo and +oo are not real numbers they cannot be
>>> elements of a real interval.
>>
>> Agreed. However, while we CALL them signed infinities, they are not.
>> In point of fact they are actually signed values for a result that
>> somewhere in the preceding calculations exceeded the maximum
>> representable value in the applied FP encoding .
>
> The 1788 standard *is* based on the mathematical real numbers, as the text of Level 1 makes clear. I agree with Ulrich in that this is how it *should* be, and only disagree with him in that he thinks it isn't — but it is. Oh yes, and that there are genuinely infinite ±oo.
That will always be a point of ongoing debate. For example, can you
present a finite sequence of numerical operations that produces a true
mathematical infinity?
>
> If one wants guaranteed answers to *mathematically stated* questions like "Does this PDE with these boundary conditions have a negative eigenvalue?", or "how many homoclinic orbits does this dynamical system have?", this is the sort of foundation one has to use.
>
> If I understand Lee Winter right, he is more interested in analysing the behaviour of actual finite-precision programs. I have much respect for his view of intervals, but it is based on a different mathematical foundation from 1788.
My view is based on a rigorous interpretation of IEEE-754-1985 et seq.
The marketing mistake made ~40 years ago made the '754 terminology
salable to people who do not really understand FP. But it also
misleads and deceives people who do understand FP, but do not
understand the terminology abuse that is still ongoing.
For example, '1788 states that "zero" times "infinity" is "zero".
That makes sense if you believe that '754 _has_ "zeros" and
"infinities" But '754 does not have "zeros" or "infinities". It has
underflows and overflows. And '754 properly handles underflow times
overflow by producing a NaN. Turning underflow times overflow into an
underflow is an egregious error. '1788 is defective in that regard.
Note that this has nothing to do with the underlying mathematics. It
has everything to do with the computers (hardware and software) on
which we want to implement systems using the underlying mathematics.
If the definitions of the entities being manipulated are defective
than the entire system is defective.
Another example of that confusion is the misleading effect of changing
the width of representation. Note that "reals" do not have a
representation. A narrow FP representation might produce an overflow,
while a wider representation would not. If you misinterpret the
overflows as a kind of infinity, then the narrow representation
produces an "infinite" result, while the wider representation produces
a finite result. That is simply nonsense caused by defective
definitions.
There is no cure except the adoption of correct definitions.
Lee Winter
Nashua, New Hampshire
United States of America