Re: overflow question
On Wed, May 9, 2012 at 3:17 PM, Nate Hayes <nh@xxxxxxxxxxxxxxxxx> wrote:
> Alexandre Goldsztejn wrote:
>>
>> On Tue, May 8, 2012 at 3:01 PM, Nate Hayes <nh@xxxxxxxxxxxxxxxxx> wrote:
>>>
>>> Alexandre Goldsztejn wrote:
>>>>
>>>>
>>>> On Mon, May 7, 2012 at 4:24 PM, Nate Hayes <nh@xxxxxxxxxxxxxxxxx> wrote:
>>>>>
>>>>>
>>>>> Alexandre Goldsztejn wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> As the discussion has eventually started, could you use my email as a
>>>>>> first
>>>>>> thread in this discussion and explain the interpretation in terms of
>>>>>> overflow of the computation
>>>>>>
>>>>>> f(x)= 1+x^2 (1+sin(x))
>>>>>> f((-oo,+oo))=[1,+oo]
>>>>>>
>>>>>> to the standard's list?
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Yes.
>>>>>
>>>>> The input to this function would be [-omega,+omega]. Since
>>>>> X = upsilon([-omega,+omega]) = [-oo,+oo]
>>>>> for FTIA we then have at Level 1a:
>>>>> f(X) = [1,+oo]
>>>>> which we may safely re-interpret as
>>>>> omega(f(X)) = [1,+omega].
>>>>> Nate
>>>>
>>>>
>>>>
>>>> I am not sure of how this interpretation in term of overflow can be
>>>> used. In particular, is the non-existence of solution to f(x)=0 a
>>>> consequence of the overflow-interpretation of this computation?
>>>
>>>
>>> Zero is not an element of any interval in the overflow family [1,+omega];
>>> similarly, it is not an element of the unbounded interval
>>> upsilon([1,+omega]) = [1,+Inf]
>>> which represents the union of all intervals in the overflow family. Under
>>> either interpretation, it is proof of non-existence of the solution
>>> (c. f. Proposition 1).
>>> Nate
>>
>>
>> As far as I understand, if I want to compute the image of a function
>> over an unbounded interval X, then first I should build a family of
>> overflown intervals Upsilon(X), then compute the image of each
>> interval of this family of intervals by F(Upsilon(X)), and then
>> compute the union of the resulting intervals Omega(F(Upsilon(Z))).
>
>
> Almost, though it seems to me you might have it backwards. If X is an
> ubounded interval, then Z = Omega(X) builds a family of intervals and
> Upsilon(Z) takes the union of all these intervals. So in computation, if one
> *starts* with family of intervals Z, then Omega(F(Upsilon(Z))) actually
> means just the opposite order you mention above, i.e.,
> a. compute the union X of the overflow family Z
> b. compute the image F(X) of the *single* interval X
> c. re-interpret the image F(X) as new family Omega(F(X))
> So for FTIA we always are simply evaluating F(X) for a single interval
> X \in overline-IR,
> just as P1788 currently defines, i.e., that much does not change at all.
So, what is the point? Why introducing families of bounded intervals
to model one unbounded interval? Only for being able to justify at
Level 1a a definition of the midpoint? Anyway, the definition of the
midpoint of an unbounded interval is arbitrary, so your proposal tries
to justify something arbitrary, which is dangerous with many regards.
>> Here, F applies to an infinite set of intervals and returns an
>> infinite set of intervals, so formally:
>>
>> F: P(IR^n) --> P(IR)
>> F(XX)={hull(range(F,X)):X in XX}
>>
>> where P(E) is the set of all (bounded nonempty) subsets of E. Am I
>> correct?
>
>
> Very close, but see my notes above (once one has the interval X \in
> overline-IR, FTIA is defined *exactly* the same as in the current draft
> standard text).
I am sorry, I am lost here. Whatever, I don't really want to discuss
more in order formalize properly this overflow arithmetic, hoping we
will not have to...
>> To be more homogeneous, I think Omega should return a set containing
>> only one interval in case there is no overflow, so that the process
>> above applies to both bounded and unbounded intervals, otherwise two
>> cases have to be handled.
>
>
> Yes. This is exactly what Omega(X) does (see definition (6) in the paper in
> the case X=[a,b] is a subset of the interval H=[-h,h]).
No: Your definition in the paper explicitly says that Omega(X) gives
"a nonempty, closed and bounded interval [u,v]" if [u,v] subset
[-h,h]. In this case, Omega([u,v])=[u,v] is an interval. What I am
saying is that you should return a family that contains only one
interval, i.e. Omega([u,v])={ [u,v] }, so as to be homogeneous with
the other cases. Although, you would probably want to define
Omega(emptyset)={ emptyset }, i.e. a family that contains only the
emptyset.
Again, I hope we won't have to try formalizing this overflow arithmetic.
Alexandre Goldsztejn
--
Dr. Alexandre Goldsztejn
CNRS - Laboratoire d'Informatique de Nantes Atlantique
Office : +33 2 51 12 58 37 Mobile : +33 6 78 04 94 87
Web: www.goldsztejn.com
Email: alexandre.goldsztejn@xxxxxxxxxxxxxx