Re: Requiring the EDP in 754 (or 1788.1 for that matter)
On 31.01.2016 00:03, Ulrich Kulisch wrote:
> An exact dot product can easily be provided by a function call or by
> operator
> overloading in languages which provide this.
> If x and y are vectors why shouldn't it be possible to call the EDP by
> x×y.
>
> *But the real point is this:* A correctly rounded dot product is slower
> by at least one magnitude
> than a possibly wrong computation of the dot product in conventional
> floating-pooint arithmetic.
> An exact dot product would be 6 times faster than the latter. So
> *the EDP is at least 60 times faster than a possibly wrong correctly
> rounded dot product.**
> **Speed and accuracy are essential for acceptance and success of
> interval arithmetic.**
>
> *Ignoring these facts is a terrible service to the standard.*
How can a floating-point EDP be used in interval arithmetic? I am not
aware of how to do it. Is it described in your book “Computer Arithmetic
and Validity”?
The IEEE Std 1788-2015 mentions a reduction operation called “dot”. As
defined in the standard document this operation is meant for real
numbers (Level 1) or floating-point numbers (Level 2).
I have implemented an *interval* dot product, which can be used for
multiplication of interval matrices for example. It is not possible to
rely on the floating-point EDP (at least, I don't know how). In the
interval dot operation we have to consider (for each pair of intervals)
- [Empty],
- [Entire],
- multiplication with [0, 0],
- and intervals containing zero as an inner point (where interval
multiplication becomes difficult).
The interval dot operation can be implemented with two accumulators (one
for each boundary) and produce exact/tightest results.
Computing the interval dot product with midpoint and radius could
utilize a floating-point EDP, but the resulting interval would not be
exact anymore unless further operations guard against overestimation. [1]
So, AFAIK, 754 would require a different EDP operation than 1788. And it
would not be possible to use a hardware EDP for floating-point numbers
to compute the matrix multiplication for interval matrices with tightest
accuracy.
Please tell me if I missed something, thanks.
Best
Oliver
[1] S.M. Rump. Fast and parallel interval arithmetic. BIT Numerical
Mathematics, 39(3):539–560, 1999.