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

Why (IMO) you should vote Yes to Motion 14.02



P1788

Several people voted No to motion 14 for reasons similar to that of Nate Hayes:
> ... I think the
> standard should otherwise be silent on the internal format used by an
> implementation, except that inclusion isotonicity must be preserved.

That is about the needs of those who use representations other than inf-sup, such as mid-rad. P1788 must meet these needs, but we believe the above approach is wrong for the following reason.

Consider numbers first. Level 1 is the home of mathematical (extended) real numbers. Implementing exact arithmetic on this infinite set is a challenge, so we approximate it by a finite set F, the level 2 real datums (of some format). The point about F is
- The datums and their operations have (via the "round" functions) a precise relation to the numbers and operations of mathematics (level 1).
- And they have a precise representation (level 3) that makes *exactly* these operations efficient to implement by computer.
It's this "looking both ways" feature that makes level 2 central to the 754 standard.

It should be the same with intervals.

If the present wording of 6.1 is implemented, then every level 2 interval datum, in every detail, is exactly mirrored by a level 3 object. The latter determines the datum uniquely: the datum has a *lossless representation*.

Then also operations on datums are exactly mirrored by level 3 operations that we write in code; hence by hardware operations on bit-strings at level 4. This makes that mental construct, a datum, into a physically real thing. It seems to me a basic software engineering principle that:

 A mental construct becomes real in a program by, *and only by*, 
 having a lossless representation.

If one loosens in any way the 6.1 requirement that an interval datum be recoverable *exactly* from its representation, it at once ceases to have physical reality and becomes a figment of mathematical imagination. (Dan Zuras made essentially the same point, see below.)

Look at 754, as above. Level 2 floating-point datums are both precise mental constructs on which humans can do math -- most of them can be regarded as actual members of the (level 1) extended reals -- and physically real objects on which computers can do *exactly the same* math. And every 754-conforming computer in the world will do that same math.

Thought experiment: Add to 754-2008 this sentence: "An implementation may represent a decimal64 number by its closest binary64 approximation". At a stroke the standard's detailed description of decimal64 becomes pointless. Binary64 numbers remain physically real, but decimal64 numbers have become a figment of the imagination.

Dropping lossless representation would do the same to intervals, with an effect somewhat like the floating-point chaos that reigned before 754. Adopting it, by contrast, gives P1788 the solidity that 754 possesses. We urge you to support the principle

 "The representation of Level 2 datums by Level 3 objects should be lossless"

and vote for the resubmitted motion 14.02.

Regards

John Pryce, George Corliss
========================
On 22 Apr 2010, at 16:30, Dan Zuras Intervals wrote:
>> Nate Hayes" wrote:
>> ...Why is this important? 
> 	Imagine an internal format (such as mid-rad) for which
> 	the extraction of the upper & lower bounds involves an
> 	arithmetic operation that admits the possibility of a
> 	rounding error.
> 
> 	Then it is possible for that format to internally
> 	represent two different intervals, say (m1,r1) & (m2,r2)
> 	such that those two intervals would BOTH extract the
> 	same floating-point numbers as their upper & lower
> 	bounds.
> 
> 	Two such intervals would be both different &
> 	indistinguishable.  They would participate in subsequent
> 	operation differently & one would not be able to
> 	understand why.