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

Re: Edge case conversions, exceptions to IEEE FPA



Michel Hack schrieb:
On Mon, 10 Nov 2008 23:02:00 -0100, I wrote a detailed critique of
the opposing points of view of Siegfried Rump and Arnold Neumaier.

Unfortunately I was misled by a typo in Siegfried's example, from
which I concluded that his approach was inconsistent, compared to
Arnold's.  So the situation is not clear-cut after all.  Here are
some replies to questions Siegfried asked here.

On Thu, 13 Nov 2008 10:30:01 +0100 Siegfried M. Rump wrote:

(*)  The Interval->Float functions inf() and sup() that return the
     bounds can return Inf -- and if this is fed into an interval
     constructor as a value (instead of as a bound), an exception
     should arise.  Arnold's proposal covers this; the result of a
     violation is simply Empty.
This means that if we want to compute an upper bound for the diameter
of an interval, then in Arnold's proposal (using INTLAB notation)
    diam = sup( intval(X.sup) - X.inf )
is empty for X = infsup(3,inf) with an exception raised.

I suppose the underlying IA runtime would have diam() and mid()
primitives -- the question is, what would they return.  If they
return a float, this would indeed by Inf if either end is unbounded.
Perhaps they should also have a form that returns an interval, which
would be [realmax-lower, Inf] for diam([lower, inf]), and (presumably)
the possible range of midpoints, [(realmax+lower)/2, Inf], for the
mid"point" of that same source interval.  Arnold may have more to say
about this.

They should return floats, since that is what they are for.

The midpoint is usually used as for subsequent point evaluation
and may be approximate only but must lie in the interval.

The diameter should be the exact diameter rounded up.

The radius should be an upper bound on |x -mid(xx)| for all x in xx.


Arnold Neumaier