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

Re: Midpoint and unbounded intervals



The radius = width/2 may not work in DFP .
Suppose precision of two decimal digits.
width(0.1,10) = 9.9  - can be represented exactly
width(0.1,10)/2 = 4.95 - can't be represented exactly

Nevertheless, you are right that the property 
x ⊂ y => rad(x) ⊂ rad(y) 
will allow to use rad(x) instead of width(x) as a measure of intervals.

I suggest to formulate other desired properties of rad().

1) Should midRad(), mid(), rad() be consistent 
  midRad(x) = ( mid(x), rad(x) ) ?
2) Should we expect the following containment for bounded intervals :
  x ⊂ [ mid(x) - rad(x), mid(x) + rad(x) ] ?
  IMO, this property is important for central forms.

What do you think ?

  -Dima


----- Исходное сообщение -----
От: hack@xxxxxxxxxxxxxx
Кому: stds-1788@xxxxxxxxxxxxxxxxx
Отправленные: Среда, 25 Январь 2012 г 23:17:15 GMT +03:00 Москва, Санкт-Петербург, Волгоград
Тема: Re: Midpoint and unbounded intervals

Looks good.  But I'd like to point out that using radius() instead of
width() would avoid the underindication of width for very wide intervals.

In fact, I wonder whether pegging width of finite intervals at Fmax could
not lead to problems similar to containment violation.  What if a program
were to rely on implied additivity of widths of disjoint intervals?

The only issue with radius is for very narrow intervals with subnormal
endpoints, because ulp/2 might not be expressible.

Given that one of the functions is "midpoint", having the other one
be "radius" sounds sort of natural anyway.

At level 1, radius = width/2.  At level 2 this works because the base
is even for both BFP and DFP -- with the possible exception of intervals
with subnormal endpoints.  The maximum finite radius is Fmax, and is the
correct radius of the widest-possible finite inf-sup interval.

Separately, what is the justification for using round-to-nearest when
computing width or radius?  It does make sense for midpoint, but it
seems to me that width or radius should use directed rounding, meaning
that we need two versions, inner_radius() and outer_radius().

If having a to-nearest radius() makes sense, perhaps inner_radius() and
outer_radius() could be additional functions.

Michel.

---Sent: 2012-01-25 18:24:09 UTC