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

Re: Revised version of Level 1 text (draft)



Arnold Neumaier wrote:
Nate Hayes wrote:
John Pryce wrote:
Nate

Checking your quadratic convolution kernel example as best I can, I
agree
that with xx=[1/5,1] you get h(xx) = ([-1/4,7/8],D3). The given h(x) has
continuous first derivative on the whole line, so D3 is telling the
truth.

But suppose thanks to a typo, my h(x) is discontinuous: say, I
mistakenly
write 9/4 for 9/8 in the formula. I STILL get decoration D3 on the
answer
don't I? What is your D3 telling us? Or is the onus entirely on the
programmer to get the code right?

I've pondered that as well. These are my thoughts:

Two facts to keep in mind: a) the function h is piecewise-defined and b)
C(f,X) only tells us the truth (by definition) about the restriction of f
to
X over those pieces. So careful scrutiny to the definitions I believe
shows
that decoration D3 is still the truth. In other words, no claim is being
made by the decoration about the global continuity of h.

But if this is part of a computation, deeply buried in some complex code
then the final result will get the predicate continuous although there was
some explicit discontinuity inside the code!!


Of course. Didn't I just say that?

Neither you nor John have presented an implementable solution that does
othwerise, BTW.


Arnold Neumaier wrote:
Suppose one just evaluates y=x^2+1 in a standard Fortran program. If
there is a typo in the code and intended was y=x^2-1, nothing will
reveal it.

This persists in interval evaluations. An interval program can only be
as valid as the code it contains. Thus correctness of the input formulas
_must_ be the user's responsibility.