Alexandre, Nate, Ulrich and others, and P1788
Here are some thoughts on the current discussion of the interval flavors
motion (BTW it's 36, not 35 as some recent postings have called it).
First, Motion 36 is about procedure as well as theory and technicalities.
It is intended to *simplify* the group's task by making a clear separation
of responsibilities. Once the interface between flavors is agreed, it is
entirely up to the modal people to come up with their goods by an agreed
deadline, and the set-based people to come up with theirs.
Alexandre Goldsztejn makes some weighty points in his email (20 Jun 2012,
at 14:02). What I write mainly responds to his points, but I think is
relevant to Ulrich's & Juergen's.
But I think he is wrong on some things. First
If Kaucher intervals were to be included inside the standard, your
proposal would make a lot of sense !...
Ideally the set-based group (except when wearing the my "overall editor"
hat, I count myself among them) will get on with their job and not think
about the modal group any more -- and vice versa -- till the latter submit
a document to me as overall editor, for checking and integrating. I know
it will not be so simple really, because one never defines an interface
right first time. But I believe we can get close to it.
Second [ibid.]
We are currently spending a lot of time
discussing of standardizing an exotique theory, of which different
experts have different formulations, different applications, etc. This
is clearly an evidence to me that this theory is not mature enough to
be standardized.
Good point. But if Motion 36 passes, that's THEIR (the modal group's)
problem.
[ibid.]
Third, that "every thing that can be done using Kaucher intervals can also
be done using standard intervals". Yes -- or using a universal Turing
machine. The reason I take modal intervals seriously, hence proposed this
motion, is that Nate argues on grounds of *efficiency*. He says that some
algorithms that are key to the commercial competitiveness of Sunfish run
many times faster with modal intervals than with ordinary ones. I don't
believe everything Nate says (and he probably returns the compliment), but
he has the experience of coding and using these methods extensively, so I
believe him on this one.
[ibid.]
VERY HARD TO WRITE
- User point of view. Although it makes sense, the flavor proposal is
strongly increasing the complexity of the standard.
Length yes. Complexity no, I believe. I now think the correct way to
handle flavors is to have, at the "readable copy" level, *completely
disjoint* documents for each flavor, with a common part of which a copy
exists in each document, guaranteed to be identical (apart from, possibly,
section numbering) because it is generated from shared source by a few
LaTeX \input or \include commands in each document. (Hopefully just two,
one for Level 1 and one for Level 2.)
I think this is feasible with minor rearrangement of the current text, and
aim to start studying this in the next few days.
Anyone, if you see reasons why this cannot be done, PLEASE TELL US ASAP.
[ibid.]
VERY HARD TO READ/USE
I think the previous paragraph answers this important objection.
Fourth.
Points made about the difficulty of agreeing a "common" set larger than
the "classical" intervals seem cogent. I take them as a friendly amendment
and revise the motion as follows:
- In Item 2, the common intervals shall be exactly the classical
intervals.
- This makes Item 7 superfluous, so it is deleted.
I'll submit a revised text to the web-master shortly.
That specifies the common interval *objects*. It is equally crucial to
specify the common interval *operations*. From what I've been told,
modal/Kaucher have no generally agreed definition of interval extension
ff(xx,yy,...) of f(x,y,...) when f fails to be everywhere defined and
continuous on box (xx,yy,...). If this is true, there is no point asking
the modal folk to specify the value of sign([0,3]), for instance.
Therefore, I propose to add to my amended motion:
At Level 1, the *common interval extension* of a point function f(x,y,...)
is the set mapping ff(xx,yy,...) that is defined if and only if f is
everywhere defined and continuous on the classical box XX = (xx,yy,...),
and whose value at XX is the exact range of f over XX.
(No need for a hull, because of continuity.)
So I envisage that these follow (or should do so) from the above:
- All flavors shall give the same level 1 meaning to interval extension,
in this restricted sense.
- When acting on decorated intervals, all flavors shall return the same
decoration when evaluating a common interval extension.
- At Level 2, for any interval type, for an operation f specified as
"tightest", the finite-precision versions of its common interval extension
shall be identical across flavors.
Again, if you see reasons why this cannot be done, PLEASE TELL US ASAP.
Finally.
As for decorations, the obverse of this seems to be that different flavors
are *allowed to handle decorations differently*, as soon as one steps
outside the common interval extension. I hadn't been expecting this, but
may it remove some of the disputes between different camps?
Nate, your opinion on this will be valued.
John