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

Re: min / max and empty intervals



Dan Zuras Intervals wrote:
Date: Tue, 07 Jun 2011 08:43:03 +0200
From: Arnold Neumaier <Arnold.Neumaier@xxxxxxxxxxxx>
To: Dan Zuras Intervals <intervals08@xxxxxxxxxxxxxx>
CC: John Pryce <j.d.pryce@xxxxxxxxxxxx>, stds-1788@xxxxxxxxxxxxxxxxx
Subject: Re: min / max and empty intervals

Dan Zuras Intervals wrote:
	What does this all mean for 1788?

	John is correct when he says we need to define a (possibly
	infinite) class of functions that look like:

		max(x1,x2), max(x1,x2,x3), max(x1,x2,x3,x4), ...

	More completely, the class starts with:

		max(), max(x1), max(x1,x2), max(x1,x2,x3), ...

	So what is the result of the niladic max()?
I'd consider this an ill-formed constant, returning canonically Empty_ill.
Whereas if any of the arguments x_i is Empty (with decoration emp or ill), the returned value is Empty, with the worst decoration of all the empty arguments.
This is consistent and allows for straightforward debugging.

	Oh, I think that's a bit draconian, don't you?

No. Empty means _no_ possible value, and the above semantics reflects this correctly.



Note that in verified computations, the rational for floating-point calculations no longer applies.

If a matrix contains a NaN, it may have been produced by a poor float operation. But the corresponding interval operation will be Entire or Empty depending on the context, and the decoration tells sometimes more about this context. If we'd ignore this in a max operation by dropping the Empty arguments, we'd introduce uncontrolled semantics violating the FTDIA.

	Actually, John touched on the reasonable application for
	NaNs in a matrix.  That of as yet unknown data.

Unknown values represented in interval analysios by Entire, not by Empty!