Re: Motion P1788/M0032.01:MidpointMeaning -- discussion period begins
> Date: Thu, 15 Mar 2012 15:51:29 +0100
> From: Vincent Lefevre <vincent@xxxxxxxxxx>
> To: stds-1788@xxxxxxxxxxxxxxxxx
> Subject: Re: Motion P1788/M0032.01:MidpointMeaning -- discussion period begins
>
> On 2012-03-09 05:08:53 -0800, Dan Zuras Intervals wrote:
> > The midpoint function for non-Empty, non-Entire intervals
> > ---------------------------------------------------------
> >
> > At level 1: mid(X) = (inf(X) + sup(X))/2
>
> IMHO, at Level 1, the midpoint is defined on bounded (non-empty)
> intervals only. In particular, one would not want mid(X) = +inf
> or -inf exactly (for semi-unbounded intervals) at Level 1, but
> something finite at Level 2.
Dmitry already made this suggestion & I accepted it as
friendly.
>
> > Properties: For intervals X & Y & when using midpoint to
> > split an X into X1 & X2 we have
> >
> > X \subset (X1 \union X2)
> > [inf(X),mid(X)] \subset X1
> > [mid(X),sup(X)] \subset X2
> > mid(X) \element-of (X1 \intersect X2)
> > X \subset Y ==> if (inf(X)==inf(Y)) then mid(X) <= mid(Y)
> > X \subset Y ==> if (sup(X)==sup(Y)) then mid(X) >= mid(Y)
>
> Instead of the above two properties, how about using the following
> one (which is equivalent)?
>
> if inf(X) <= inf(Y) and sup(X) <= sup(Y) then mid(X) <= mid(Y)
>
> or, said otherwise:
>
> if X <= Y then mid(X) <= mid(Y)
I will pass on the point of whether it is equivalent or
not & simply say I state these ordering properties in
this manner to keep them in accord with all the other
ordering properties in table 4.
>
> > always. These are required. The first 4 properties are
> > required for containment to hold. The last 2 for weak
> > ordering.
> >
> > Coercion to level 2: For some implicit or explicit IFbar
> > based on a some floating-point system F we have that
>
> AFAIK, "based on a some floating-point system F" has not been defined
> for implicit interval types (see the discussion about associated /
> compatible number formats). IMHO, we could just require that each
> non-empty interval of T must contain an element of F.
Fair point. What I had in mind for implicits was the
floating-point type of the midpoint field, should that
differ from the radius. Is that reasonable to you?
>
> > mid_F(X) = if ((inf(X) == -inf) && (sup(X) == +inf)) then 0
> > else if (round2Nearest_F(mid(X)) == +inf)
> > then nextDown_F(+inf)
> > else if (round2Nearest_F(mid(X)) == -inf)
> > then nextUp_F(-inf)
> > else round2Nearest_F(mid(X))
>
> So, as a consequence, inf_F(X) <= mid_F(X) <= sup_F(X). This is
> important, because this will be assumed below.
>
> > Note that midpoint has been generalized to include Entire via
> > the means of the arbitrary choice of zero as its midpoint.
> > This choice is part of this motion. Midpoint is still not
> > defined for Empty & any generalization to include Empty is
> > not part of this motion.
> >
> > The coercion mid_F(X) always returns a finite result even
> > when mid(X) is infinite.
> >
> > If, for any X & Y that live at level 2, we define intervals
> > X1 & X2 to be the smallest representable intervals for which
> > [inf_F(X),mid_F(X)] \subset X1 & [mid_F(X),sup_F(X)] \subset
> > X2 we have
>
> Such X1 and X2 do not necessarily exist for implicit interval types.
Such intervals always exist for implicits.
What is not necessarily true is that they
are unique.
I didn't say anything about unique.
> You should remove "smallest" (I don't think this is necessary: if X1
> and/or X2 are enlarged, the properties below will remain true). So,
> the only requirements on X1 and X2 should be:
> [inf_F(X),mid_F(X)] \subset X1
> [mid_F(X),sup_F(X)] \subset X2
>
> In particular, these requirements are valid for:
> X1 = hull_T([inf_F(X),mid_F(X)])
> X2 = hull_T([mid_F(X),sup_F(X)])
> if a hull_T function is defined.
Also a fair point. Is hull any more unique
among the implicits than the "smallest"
superset in question?
>
> > X \subset (X1 \union X2)
> > [inf_F(X),mid_F(X)] \subset X1 (trivially)
> > [mid_F(X),sup_F(X)] \subset X2 (trivially)
> > mid_F(X) \element-of (X1 \intersect X2)
> > X \subset Y ==> if (inf_F(X)==inf_F(Y)) then mid_F(X) <= mid_F(Y)
> > X \subset Y ==> if (sup_F(X)==sup_F(Y)) then mid_F(X) >= mid_F(Y)
> >
> > The first 4 assure containment. The last 2, weak ordering.
>
> For the last 2, same remark as above.
>
> > <end motion for midpoint>
> >
> > <begin rationale>
> [...]
> > Therefore I arbitrarily choose zero as midpoint(Entire).
>
> I think you should give a reason (it is not completely arbitrary):
> at Level 2, it is a point of symmetry, i.e. if x is in F, then
> mid_F(Entire) - x = - x is also in F.
I have no objection to this.
>
> > The value of midpoint(Empty) is not part of this motion.
> >
> > There is an argument that if midpoint cannot return an
> > interior point of X then it should return NaN. As
> > singleton intervals HAVE no interior even at level 1,
> > this would mean that midpoint([r,r]) = NaN for all Real r.
>
> The interior property is useful only for splitting, but mathematically
> midpoint([r,r]) = r.
>
> > Further, that finite intervals for which inf(X) > Fmax_F
> > for some number system F should return midpoint_F(X) = NaN
> > on the grounds that neither Fmax_F nor +inf are in the
> > interior of X.
>
> By "finite intervals", I think you mean "bounded intervals".
I do.
>
> And what about the fact that the midpoint of a semi-unbounded interval
> is not defined (at Level 1)?
Dmitry already fixed that one.
>
> > Further, that intervals for which X lies entirely between
> > two consecutive representable numbers of F should return
> > midpoint_F(X) = NaN on the grounds that neither number is
> > in the interior of X.
> >
> > I reject all 3 of these arguments.
> >
> > In the first case, I find it unreasonable to define
> > anything other than midpoint([r,r]) = r on the grounds
> > that the midpoint is perfectly well defined in the case
> > of singletons & one should expect this to be so.
>
> Agreed.
>
> > I reject the other two on the grounds that the property
> > of "interiorness" is a derived one which fails in these
> > two cases not due to any failure in the definition of
> > midpoint but due to limited range & limited precision,
> > respectively, of the number system within which one is
> > forced to express the answer.
> [...]
>
> OK, but what about the fact that the midpoint is not defined on
> semi-unbounded intervals? (For Entire, you could say that the
> set of the points of symmetry is Entire, so that you can choose
> an arbitrary value, but for semi-unbounded intervals, you do not
> have points of symmetry.)
Dmitry already fixed that one.
>
> --
> Vincent Lefèvre <vincent@xxxxxxxxxx> - Web: <http://www.vinc17.net/>
> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/>
> Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
Dan