Re: Structured support for both standard and modal intervals
Nate
On 24 May 2012, at 03:37, Nate Hayes wrote:
> Interesting e-mail. I have some comments and observations.
>
> We should be careful to make distinction between modal (M) things and
> Kaucher (K) things. Strictly speaking, K is an algebraic construction that
> requires cancellation, and this is only possible on the set of nonempty,
> closed and bounded intervals. But M is a set-theoretic construction based on
> quantifiers; it appears M may be extended to the set of nonempty closed
> intervals.
In the email I was using "modal", M, as short for "modal or Kaucher", say M+K. The proposed framework allows for a further distinction (should the M+K supporters think it useful) into M and K separately provided both behave identically on the Common set C. Which, if C is the classical intervals, I believe is the case.
I think the framework would allow other "flavors" to exist, such as Kahan wrap-around intervals W which also extend classical intervals.
> For example, consider g(x)=1/x on the input X=[0,1]. The intersection of X
> with D_f (the natural domain of g) is X_f=(0,1]; the infimum and supremum of
> g on X_f is well-defined and is Y=[1,+oo]. Both the *- and **-semantic modal
> interval theorems verify this result, i.e.,
> (all x in (0,1])(exists y in [1,+oo]) : y = 1/x (*-theorem)
> (all y in [1,+oo])(exists x in (0,1]) : y = 1/x (**-theorem)
> This is proof the solution [1,+oo] is unique and shows it may be possible to
> generalize modal intervals to nonempty closed intervals. We are working on a
> new paper about this.
Looks good.
> So in my view, Level 1 in the overflow paper is precisely the common
> intersection of Standard (S) things, Kaucher (K) things and Modal (M)
> things
> ...
This also looks good, but I leave such matters to the M+K supporters to specify as they wish.
-----
> ON a completely separate topic: what is the solution you and Michel propose
> for the issues surrounding interval bisection methods?
>
> P1788 already voted that the midpoint of an unbounded interval is undefined.
> So if P1788 decides there will be no overflow, then these are my lingering
> and unanswered questions:
>
> 1. If arithmetic mean (midpoint) of an unbounded interval is undefined
> at Level 1, does this mean other interval bisection methods such as
> geometric mean, smedian2, etc. are also undefined at Level 1 for unbounded
> intervals?
IMO it's right that "midpoint" should be defined entirely "by the mathematics", so undefined outside the set of classical intervals. BUT we also need a purely pragmatic "split" function that chooses a point inside any nonempty interval, bounded or not. Just call it something different from "midpoint", for the reason that there's no uniquely "best" or "most mathematical" specification for it. Or even "most useful": it appears that the B&B people, the constraint propagation people and the global optimization people seem to like different "split" functions. However, I personally favor P1788 providing one at Level 2.
My view of undefinedness. The Hack-Neumaier flmedian is inherently undefined at Level 1. The Pryce-Zuras smedian at Level 1 is undefined, or infinite, for unbounded intervals. Who cares? They may be found pragmatically useful at Level 2.
> 2. If answer to (1) is "no", then what is the mathematical justification
> for this, and how will, say, geometric mean, of an unbounded interval be
> defined at Level 1?
>
> 3. If answer to (1) is "yes", then are all of these interval bisection
> methods undefined for unbounded intervals at Level 2, as well?
For me this a matter of mathematical honesty. If ANY numeric function is mathematically undefined for some input then say so, at Level 1; and let it return NaN at Level 2. If pragmatic considerations require a related function that always has a numeric value at Level 2, then provide it but CALL IT SOMETHING DIFFERENT.
Despite Dan's strong views about NaN, I feel that this policy lays fewer traps for the unwary than any alternative.
There is a user community (Dan's examples are mostly of embedded control systems) for which "give me a number -- any number" may be a sensible response to an exceptional condition. But there's another community (much larger, I would guess) for which "give me a NaN" is the best response to this particular exceptional condition, i.e. an undefined value condition.
> 4. If answer to (3) is "no", then how do you justify this is not a
> contradiction to the Level 1 definition? (remember that the recent motion
> for midpoint seemed to fail for this reason)
>
> 5. If answer to (3) is "yes", it seems users will not be able to write
> any interval bisection methods of thier own that will be conforming, since
> picking arbitrary real number will be against the Level 1 and Level 2
> definitions. So how can any user develop conforming algorithms that bisect
> unbounded intervals?
If you CALL IT SOMETHING DIFFERENT, you can make your pragmatic function do whatever is useful. So no contradiction. (I suppose, depending on the language and implementation, you could even call it the same as the library function "mid" or whatever, and over-ride that at link time, without technically being non-conforming. But I would call that dangerous practice.)
I should probably add to the Level 1 text, that other operations may be defined at lower levels for purely pragmatic reasons. Indeed, 754 does provide a precedent for defining at Level 2 things that do
not exist at Level 1, such as the sign of zero, or the quantum of a DFP number.
John Pryce