Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

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.