Thread Links | Date Links | ||||
---|---|---|---|---|---|
Thread Prev | Thread Next | Thread Index | Date Prev | Date Next | Date Index |
Vincent Lefevre schrieb:
On 2009-09-02 11:26:21 +0200, Arnold Neumaier wrote:Vincent Lefevre schrieb:One could also have a flag attached to the returned interval. Alternatively, one could have a function telling whether X' is included in the domain of f.The latter can in general be found out only by evaluating; so this would double the work whenever one needs both the evaluation and the domain check.I would have said the opposite, i.e. that the latter doesn't need evaluation in general. For instance, if the domain is R, then the result is always TRUE. For the division, the result is TRUE iff the second argument doesn't contain 0.
I meant the domain of a whole expression. For example to get POssiblyUndefined for a function r(x) given as a
continued fraction, for x in xx, one needs to evaluate r(xx) -- a factor 2 of overhead, The same holds when r(x) is the square root of an arbitrary expression. When a rational function is given as r(x)=p(x)/q(x), one needs to evaluate at least q(xx) -- a factor 1.5 of overhead if p and q have the same degree. Even when r(x) is only a multivariate polynomial, one needs to find this out - though this may be done at compile time. So how much overhead there is clearly depends on the actual expression.
Producing NaI in such a situation also wastes information available, since one can no longer check for the first two cases in the above piece of code. If flags are to be avoided, flag-raising operations should return two results: the range enclosure and a byte encoding all relevant flags.This is what I've said: a flag *attached to the returned interval*.
I had intended to say something slightly different: _all_ flags attached to the returned interval. Arnold Neumaier