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)



Oliver,

 Ok, let us not repeat the discussion then.

           walter.

On Tue, Feb 2, 2016 at 4:24 PM, Oliver Heimlich <oheim@xxxxxxxxx> wrote:
Dear Walter,

I have scanned throught the archives (I haven't been an active member of
the working group back then). My impression is that the
correctly-rounded dot operation in IEEE Std 1788-2015 (with
recommendations to implement it using EDP) is a leftover of initial
considerations to cover Complete Arithmetic with the standard, which has
later been discarded.

Ulrich Kulisch has presented an application of EDP in a section from his
book (see mail “CA and EDP” from 2013-08-07). However, the application
(in his excerpt) is limited to the basic operations (add, sub, div, mul)
of “long intervals”, that is, multiple precision intervals in mid-rad form.

A lengthy discussion has already been held in 2013 and we should not
repeat it. Please!

However, I find it interesting that William Walster had also raised the
question back then about what would be examples/applications of the EDP
in interval arithmetic and again I didn't found an answer to that in the
old discussion.

On 08.08.2013 19:09, G. William (Bill) Walster wrote:
> Not seeing a post with an example, may I conclude that there are none?

Also a fitting comment from the sponsor ballot comment resolution:

> Extensive discussion, involving at least three motions, indicates
> that the chosen design, while not perfect, is the compromise most
> acceptable to the whole group. […] As for Complete Arithmetic, there
> was support for a possible project to make it a separate IEEE
> standard.

Unless somebody can show me a general use case of floating-point EDP in
interval arithmetic, I really can't understand why this operation is
needed for our scope.

Best
Oliver



On 02.02.2016 13:40, Walter Mascarenhas wrote:
> Dear Ulrich,
>
>    I believe that by answering to Oliver's questions you would help
> to clarify things for people like myself, who have not played
> much with interval arithmetic in the past but who are interested
> in understanding all its nuances now.
>
>   On the other hand, by not answering to his reasonable questions
> you would give the impression that you are only willing to
> convince people about your points of view, but are not willing to
> consider different opinions, or to argue about them.
>
>                 walter.
>
> On Sun, Jan 31, 2016 at 2:12 PM, Oliver Heimlich <oheim@xxxxxxxxx
> <mailto:oheim@xxxxxxxxx>> wrote:
>
>     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.
>
>