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

Re: discussion period begins, until Jan. 26: "natural interval extension": friendly amendment to M001.02



Dear Oliver Heimlich:

Thank you for your mail. Since I am very busy with other matters right now I shall give you an answer in a couple of days. But introduction of +0 and -0 does not make sense in interval arithmetic, also -oo and +oo have different meanings in IEEE 754 and in IEEE 1788. In IEEE 754 they are numbers. In IEEE1788 they are not numbers, they just serve as bounds of intervals. ..... Developing IEEE 1788 over IEEE754 is the source of unnecessary confusion.

Best regards
Ulrich Kulisch




Am 24.01.2016 um 02:46 schrieb Oliver Heimlich:
Dear Mr. Kulisch,

it's hard for me to understand your criticism regarding the standard
document. Your main objections—as far as I understand—are that the EDP
should be a required operation and exceptions from IEEE 754 shall not be
included.

The standard document recommends the EDP for computation of (already
required) reduction operations. When implementing the standard I found
the EDP the easiest and most efficient way of implementing the reduction
operations. So I have implemented EDP anyway. I must admit that it is
implemented in software and I would have preferred hardware support, but
that hopefully gets addressed by other people who implement the standard
in hardware and who will face the same problems that I did. There is
high chance that they will choose to use EDP as well.

On 22.01.2016 16:46, Ulrich Kulisch wrote:
As an example let's consider the central task of interval analysis,
computing close bounds for the solution of a system of linear equations.

First an approximate solution is computed. Then the Kravczyk-operator
with epsilon-inflation for computig a verified enclosure is applied. If
the system has a large condition number the verificaion step fails. But
in contrast to conventional floating-point arithmetic the routine
detects this. Then it automatically calls a more powerful operator which
I call the Rump-operator in my book. It has been shown by Rump, Oishi,
Ogita and Tanabe that this process even for very ill-conditioned
problems always leads to a highly accurate verified enclosure.

A look at the details (Chapter 9 in my book /Computer Arithmetic and
Validity/ for instance) shows that the essential ingredient of the
entire process is an EDP. Recently two students at Berkeley showed that
the EDP can be computed in 1/6 of the time that is needed for computing
a possibly wrong result in conventional floating-point arithmetic. So it
is really worth fighting to get this extremely useful and fast operation
standardized.
I have migrated this algorithm from C-XSC. As already indicated above, I
have made use of EDP. In particular I have integrated EDP into Octave
functions “dot (X, Y)” and “X * Y” (matrix multiplication) as well. If
you know Octave, which is a free replacement for Matlab, you will
recognize that the EDP thereby became an integral part of the
implementation: Computations with matrices are very common in that language.

On the other hand, it highly depends on your use case whether you need
these matrix operations and the EDP. The standard document does not
emphasize usage of interval vectors or interval matrices. Therefore it
is no surprise that the EDP and other operations on interval vectors are
missing. However, the standard document provides enough information to
consistently implement these functions where needed.


Regarding the other topic: Which exceptions does the standard pull in
from IEEE 754? The standard defines a NaI object, which is the result of
interval constructors on invalid input. It propagates through arithmetic
operations, but does not trigger exceptions like 1/0 = NaN would do. The
interval arithmetic is exception free, e. g., [1]/[0] = [Empty].

In addition the standard guides those who chose to use IEEE 754 formats
for implementation. This is good, because these formats are very common
today. Again, this does not pull in exceptions from IEEE 754.
Contrariwise, the decoration system of IEEE Std 1788-2015 has no global
flags and does not interrupt the flow of computation.

By the way: In my book interval arithmetic is developed over the real
and floating-point numbers. This leads to an exception-free, closed
calculus. It avoids all the exceptions of the IEEE 754 standard being
pulled into interval arithmetic.
Could you please clarify where the arithmetic of IEEE Std 1788-2015
differs from what is developed in your book? In my eyes they are the same.

Best regards
Oliver Heimlich


--
Karlsruher Institut für Technologie (KIT)
Institut für Angewandte und Numerische Mathematik
D-76128 Karlsruhe, Germany
Prof. Ulrich Kulisch

Telefon: +49 721 608-42680
Fax: +49 721 608-46679
E-Mail: ulrich.kulisch@xxxxxxx
www.kit.edu
www.math.kit.edu/ianm2/~kulisch/

KIT - Universität des Landes Baden-Württemberg
und nationales Großforschungszentrum in der
Helmholtz-Gesellschaft