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

Re: Table 4 proposal version 0.2...



On 2012-03-22 14:00:18 -0500, Lee Winter wrote:
> On Thu, Mar 22, 2012 at 1:00 PM, Dan Zuras Intervals
> <intervals08@xxxxxxxxxxxxxx> wrote:
> >> Date: Thu, 22 Mar 2012 11:28:46 -0500
> >> Subject: Re: Table 4 proposal version 0.2...
> >> From: Lee Winter <lee.j.i.winter@xxxxxxxxx>
> >> To: stds-1788@xxxxxxxxxxxxxxxxx
> >> . . .
> >>
> >> But we know that under any vintage of 754 the mechanisms that produce
> >> the 754 values called "infinities" do not produce true mathematical
> >> infinity, but are artifacts of the finite-ness of the internal
> >> representation.  All of the 754 mechanisms for producing a 754
> >> "infinity" are really overflows.  That includes division by "signed
> >> "zero", which is not a true mathematical zero, but is really an
> >> underflow.
> 
> >        I'm sorry Lee, this is just not so.
> 
> Mindful of your vast expertise in the 754 development process, my
> position is unchanged and will remain so in the face of arbitrarily
> large amounts of aristotelean conflict.  I find only reason
> persuasive.

Note that the concept of infinity is not IEEE 754 specific. It can
also exist in languages (for instance in C, even though IEEE 754
support is optional) and in other arithmetics (e.g. rational).

> >        From 754-2008, Clause 7.3 "The divideByZero exception shall be
> >        signaled if and only if an exact infinite result is defined for
> >        an operation on finite operands."
> 
> Disregarding the massive effort involved in producing and extending
> the FP standard, what it SAYS is not always what it MEANS.

A standard specifies data formats and behaviors. Only the user knows
what he means.

> But I'll bite.  Does the term "exact Infinite result" that you quoted
> refer to a 754-standard "infinity", which I would describe as an
> overflow, or does it refer to a mathematical infinity such as Cantor's
> aleph-one?

There are several kinds of mathematical infinities. They should not
be mixed up. Here the infinities are based on the set of extended
reals: http://en.wikipedia.org/wiki/Extended_real_number_line or
http://mathworld.wolfram.com/AffinelyExtendedRealNumbers.html and
there is no concept of overflow here.

> This question is key to the issue that is not copied into the above
> quotations, that being a representable value that is greater than all
> real numbers.  AFAICT no version of 754 has such a standard-defined
> representable value.
> 
> For example, if x=REALMAX for some 754 format, then the expression
> y=2*x is going to produce a 754 "infinity" in that format.  Clearly
> the value of y should not be interpreted as a value greater than all
> real numbers.

I don't see any problem with considering +inf as being greater than
all real numbers. Of course, this will not be true for the exact
value associated with y, but such kinds of problems are not specific
to overflows: as soon as a rounding occurs, some math properties on
the rounded values may no longer be true. You need an error analysis
(or use interval arithmetic completely).

> OK, let define the term "true mathematical infinity".
> 
> 1.  It is not a number.  Thus it could be encoded as a NaN.

An infinity is a member of a well-defined set. Whether you consider
it as a number is just a matter of vocabulary (but it is not a real
number).

> 2.  It is not the overflow of a finite representation.

The concept of overflow is not part of the mathematical point of view
(e.g. Level 1).

> 3.  It is larger than any representable number, including overflow.

Ditto.

> 4.  It is larger than any real number.

Yes (for +inf), that's a part of the order properties:

http://en.wikipedia.org/wiki/Extended_real_number_line#Order_and_topological_properties

> 5.  Most of the definitions of mathematical infinity with which I am
> familiar are based on unbounded sequences.  The essence of the concept
> of mathematical infinity is that unboundedness.

For the definition considered here, see

  http://en.wikipedia.org/wiki/Extended_real_number_line
  http://mathworld.wolfram.com/AffinelyExtendedRealNumbers.html

> >        However, zero really IS a "true mathematical zero" if there
> >        ever was one.
> 
> Hardly.  As I understand it signed zeros are the left-overs from the
> "three zeroes" proposal which suggested a pair of signed underflows
> plus a true mathematical zero.

No, both zeros are exact zeros (thus equal), which may have been
obtained after rounding. The sign just gives an information on how
the (exact) zero could have been obtained (without any guarantee).

> If 754's signed zeros were true mathematical zero then the
> multiplicative inverse would be a NaN rather than an overflow because
> there is no mathematical value that represents the result of
> evaluating an expression with true zero in the denominator other than
> a warning/error/abort procedure.

Well, that's a convention. The main point to respect is that 1/0 is
not defined in R (the set of the real numbers). Even with an unsigned
zero (Level 1), one may choose 1/0 = +inf, despite of the asymmetry.
The above two URL's (Wikipedia and MathWorld) have different views on
this, but neither is incorrect.

BTW, since there are no unsigned zeros to handle (+0) + (-0) in a
consistent way, I would have preferred 1 / (+0) to return NaN in
IEEE 754. Otherwise the infinity is OK for me (as a convention);
remember that you have the division-by-zero exception to warn the
user that the operation is not defined mathematically in R.

-- 
Vincent Lefèvre <vincent@xxxxxxxxxx> - Web: <http://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)