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

Re: Revised Motion 26 decoration scheme



Arnold Neumaier wrote:
For example, consider the real function
    f(x,y) = y + 1 / g(x)
and its interval extention over interval domain (X,Y) where both X and Y
are
nonempty. If we are computing with bare objects and g(X) is not
continuous,
then we have
    Y + 1 / def.

Promoting the bare decoration def to (Empty,def) gives:
    Y + 1 / (Empty,def)
        = Y + (1/Empty,inf(ein,def))
        = Y + (Empty,def)
        = (Y+Empty,inf(dac,def))
        = (Empty,def)
        = def
In other words, the exception "def" first occured in g(X) and this
decoration is promoted all the way to the end of the computation. So the
user knows in this case the reason for failure.

On the other hand, promoting the bare decoration def to (Entire,def)
gives:
    Y + 1 / (Entire,def)
        = Y + (1/Entire,inf(con,def))
        = Y + (Entire,con)
        = (Y+Entire,inf(dac,con))
        = (Entire,con)
        = con
In this case, the exception "def" that occured in g(X) is lost by the
subsequent computations: the user has less knowledge why the failure
occurred.

If one has g(x)=sign(x) and X=[-1,1], the decorated evaluation would give
con and not def, and indeed, f is not everywhere defined. This property
must be preserved by the bare rules, since the use of the decoration might
depend on this.

Moreover, having a different semantics for the decorated and the bare case
(as proposed by you) would lead to confusion....


This is already a problem for Motion 26, since for g(x)=floor(x) and X=[4,8]
the full decorated interval computation gives
   def
but when evaluated using bare objects (by Motion 26) it gives
   con

Nate