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

Re: Do we have implicit semi-infinites...?



Dan,

Level 2 defines interval type as a set of intervals and a hull operations.
It doesn't define representation.
Representation is a matter of level 3.

The level2 draft says:
Mid-rad types are not specified by this standard but are useful for examples. A mid-rad
bare interval type is taken to be one whose nonempty bounded intervals comprise all intervals of
the form [m − r, m + r], where m is in some number format F, and r is in a possibly different
number format F , with m, r finite and r ≥ 0. From the definition in §6.3.1 the type must also
contain Empty and Entire; it may also contain semi-infinite intervals.

So it doesn't define exactly what midrad_F type shall be. It has variants.
I can imagine and describe two of the variants of possible midrad_F
A) TA=
{Empty} U
{Entire} U
{[m-r,m+r] | m \in F, r \in F, m - is finite, r - is finite r > 0 } U
{[u,+oo[ | u \in F, u - is finite } U
{]-oo,v] | v \in F, v - is finite }

hull_TA(Empty) = Empty
hull_TA(Entire) = Entire
hull_TA([u,+oo[) = [inf_F(u),+oo[
hull_TA(]-oo,v]) = ]-oo,sup_F(v)]
hull_TA([u,v]) = [mid_F([u,v]) - rad_F([u,v]), mid_F([u,v]) + rad_F([u,v])], if rad_F([u,v]) < +oo
hull_TA([u,v]) = Entire, if rad_F([u,v]) = +oo & u < -FMax & v > +Fmax
hull_TA([u,v]) = [inf_F(u),+oo[, if rad_F([u,v]) = +oo & u >= -FMax & v > +FMax
hull_TA([u,v]) = ]-oo,sup_F(v)], if rad_F([u,v]) = -oo & u < -Fmax & v <= +FMax
This list includes all cases because the case rad_F([u,v])=+oo & u >= -FMax & v <= +FMax is impossible

The level 3 representation can be encoded by two F-numbers <m,r> in such a way, for example:
[m-r,m+r] if (0 <= r < +oo & m is finite)
[m,+oo[   if (r = -1 & m is finite)
]-oo,m]   if (r = -2 & m is finite)
Entire    if (r = -3 & m = 0)
Empty     if (r = -4 & m = 0)
invalid encoding, otherwise

The implementation of operations on such encoding could quickly test for (r >= 0) and execute fast path
or analyze "r" in slower path otherwise.

The other variant of midrad_F could be simpler
B) TB=
{Empty} U
{Entire} U
{[m-r,m+r] | m \in F, r \in F, m - is finite, r - is finite r > 0 }

hull_TB(Empty) = Empty
hull_TB(Entire) = Entire
hull_TB([u,+oo[) = Entire
hull_TB(]-oo,v]) = Entire
hull_TB([u,v]) = [mid_F([u,v]) - rad_F([u,v]), mid_F([u,v]) + rad_F([u,v])], if rad_F([u,v]) < +oo
hull_TB([u,v]) = Entire, if rad_F([u,v]) = +oo

The level 3 representation can be encoded by two F-numbers <m,r> in such a way:
[m-r,m+r] if (0 <= r < +oo & m is finite)
Entire    if (r = +oo & m = 0)
Empty     if (r = -oo & m = 0)
invalid encoding, otherwise

  -Dima

----- Исходное сообщение -----
От: intervals08@xxxxxxxxxxxxxx
Кому: stds-1788@xxxxxxxxxxxxxxxxx
Копия: intervals08@xxxxxxxxxxxxxx
Отправленные: Среда, 14 Март 2012 г 21:23:44 GMT +04:00 Абу-Даби, Маскат
Тема: Do we have implicit semi-infinites...?

	Folks,

	I have been contemplating that split function we discussed
	earlier.  In so far as is possible, I would like to write
	it independent of the underlying interval form.  In effect,
	not caring whether one uses explicit (inf-sup or [a,b] form)
	or implicit (mid-rad or <m,r> form).

	But I am running up against the differences in the set of
	intervals these two forms can represent.  Specifically, I
	need to know something about how (or whether) implicit forms
	will represet semi-infinite intervals.

	How does one (or can one) represent a semi-infinite interval
	of the explicit form [a,+inf] as an implicit <m,r>?

	Can one represent Entire?  Perhaps as <0,+inf>?

	Can one use r = +inf at all?

	Can one represent Empty?  Say <0,-inf>?

	Can one use r < 0 at all?

	Or have these things been decided yet?

	Anything you can tell me...

	Thanks,

				   Dan