Re: Motion P1788/M0014.01: 6.1_and_6.2_of_document: up for discussion
Dan Zuras wrote, in reply to John Pryce:
> > (b) If your implementation uses something like (mid,del1,del2)
> > does it achieve what Dan says:
> > > lowerBound = mid + del1 & upperBound = mid + del2 EXACTLY ?
> > The answer almost surely depends on the answer to (a).
>
> Actually, that may not be sufficient. Except for
> possibly unreasonably large precision, that is.
Ok.
> I believe that all inf-sup intervals of finite width
> can be represented in mid-rad form of sufficient
> precision. That is the common subset.
Yes.
> But the semi infinite intervals, [2,+oo], [-oo,3], &
> the like, live in the inf-sup form & not the mid-rad
> form.
Yes -- but John was discussing a (mid,del1,del2) form,
which is capable of handling semibounded intervals, as
one or the other of the side-offsets can be infinite.
(For canonicity the other one should then be zero.)
> On the other hand, mid-rad intervals of the form
> veryLarge +/- verySmall exist even in precisions
> substantially less precise than verySmall/veryLarge.
> These have no counterpart in the inf-sup world.
That is indeed a problem. One would need something like
the triplex representation described in the Vienna Proposal.
Can the (mid,del1,del2) format be restricted so as to
preserve interconvertibitity? Clearly, the requirement
would be that mid-del1 and mid+del2 be representable,
which means that del1 and del2 must (a) not be too small,
and (b) have limited resolution, i.e. sufficiently many
trailing zeros. It is unlikely that the result of a
computation would satisfy (b) -- so I think the answer
here is NO.
Can any (inf,sup) be converted to (mid,del1,del2) where
the middle is (inf+sup)/2 rounded either way, and del1
and del2 are such that we have an exact correspondence?
Only at the cost of variable and excessive precision, if
inf and sup are of vastly different magnitude. Suppose
inf=1e-100 and sup=1e+100. Then mid would be 0.5e+100,
and del1 and del2 would have to be the same, except just
a very tiny bit smaller: no go.
Is there ANY midrad-style representation that could be
exactly interconvertible with infsup?
Suppose we use a 5-tuple (mid,bd1,ld1,bd2,ld2) where bd
and ld stand for "Big Delta" and "Little Delta", so that:
inf = mid - (bd1+ld1)
sup = mid + (bd2+ld2)
Actually, I think a 4-tuple (mid,rad,e1,e2) will work:
mid = (inf+sup)/2 - e1 inf = mid - rad + e1 + e2
rad = (sup-inf)/2 + e2 sup = mid + rad + e1 - e2
with special rules for infinity:
(-oo,+oo) <-> (0,+oo,0,0)
[inf,+oo) <-> (inf,0,+oo,-oo)
(-oo,sup] <-> (sup,0,-oo,-oo)
(Normal oo-oo rule is suspended for computing e1+e2 or e1-e2,
and yields 0 instead of NaN.)
This works because the rounding error of any sum or division by 2
is itself representable in the same precision, although special
care has to be taken near overflow boundaries, i.e. (a+b)/2 may
have to be computed as (((a-c)+(b-c))/2)+c for a suitable c.
The conversion from infsup to this midrad may always work, but
the reverse is only true when certain relations hold between the
components. I have not yet checked what computations would have
to do to preserve these constraints. Presumably they would not,
and there would have to be a possibly-lossy (i.e. outward-rounding)
conversion from an arbitrary midrad value to a canonical midrad
value -- then the latter could be converted exactly to infsup.
Is this practical however?
Michel.
---Sent: 2010-04-27 20:58:02 UTC