Thread Links | Date Links | ||||
---|---|---|---|---|---|
Thread Prev | Thread Next | Thread Index | Date Prev | Date Next | Date Index |
P1788 members On 24 Aug 2009, at 17:36, Michel Hack wrote:
Vincent Lefevre wrote:No, you can't use the same reasoning because of the rule on the limits:lim_{x -> 0, y -> +oo} x * y doesn't exist (note that here I don't use the extended real numbers).The problem is that there are two notions of zero in IA: the single point {0}, which is exact, and which is idempotent under multiplication with arbitrarily large reals and an interval containing zero, in which case limit processes may indeed be relevant.
What is the "meaning" of a FP number x? This was debated long since by two great men, say James W Tukey and James H Wilkinson (it wasn't actually them, someone remind me). JWT's view ("applied numerical analysis") was that x represents some interval, e.g. {all reals that round to x}, whereas JHW's ("pure numerical analysis") was that x is just itself, a single real value. Which view you take can affect what you regard as a good numerical algorithm. For instance, a method that gets all the singular values of a matrix (even the smallest) with small _relative_ error is valuable on the JHW view, but may be seen as pointless on the JWT view.
I believe the "pure" view is pretty universal among professional numerical analysts. For one thing, it makes error analysis easier to perform and its results simpler to state. That doesn't of itself make this view "right", but it's an argument in its favour.
What Michel writes, seems to express this same debate, in the IA context. This is not trivial for P1788. It is about defining the relationship between IA levels 1 (math) and 2 (finite precision).
Personally I take the view that for the P1788 standard, a number is just itself, hence we can and should define interval operations purely algebraically in terms of corresponding point operations, ignoring limit arguments. My reason for this view: if we use limit arguments, then for a provably consistent theory one really needs csets. Csets over the reals R are crippled (i.e., possible, but full of nasty special cases) -- for them to work smoothly one needs them over R*, which we rejected by motion 3.
So my view is that if an algorithm writer wants to manipulate "an interval containing zero", it's their responsibility to introduce it as [-eps,eps] explicitly.
Note that interval arithmetic typically involves IEEE operations on endpoints, and that an endpoint of zero should imply that all points in the interval have the same sign. Nevertheless I agree that when a product of endpoints is of the form 0*oo the indefiniteness of the limit may indeed play a role. Arnold Neumaier however seems to have good reasons for expecting 0*oo = 0 in this case too.
I feel there is a risk of confusing levels 1 and 3 here. If I understand Arnold's reasons for the "deviant behavior", see Vienna 7.8-7.11, they have NOTHING to do with the mathematics, but are practical changes that if implemented would simplify level 3 code for interval operations, on machines that use IEEE 754 arithmetic.
Regards John Dr John D Pryce 46 Ponting Street Swindon Wiltshire SN1 2BW +44 1793 327341