Re: Interval arithmetic and Dependency problems
- To: mathgroup at smc.vnet.net
- Subject: [mg95497] Re: [mg95451] Interval arithmetic and Dependency problems
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Tue, 20 Jan 2009 05:46:12 -0500 (EST)
- References: <200901190756.CAA09488@smc.vnet.net>
On 19 Jan 2009, at 08:56, magma wrote: > I just started to have a look at Mathematica capabilities in Interval > arithmetic. > > It seems that Mathematica does not consider the so called dependency > problem > (see for instance wikipedia on Interval arithmetic for an > explanation). > > For example evaluate > > f[x_] := x^2 + x > f[Interval[{-1, 1}]] > > and you get > > Interval[{-1, 2}] > > which is not really very good. > The correct or, if you prefer, best result should be > > Interval[{-1/4,2}] > > since -1/4 and 2 are really the min and max values of f over the given > interval. > > In other words Mathematica is not capable of calculating f[x] when x > is an > Interval and f is a general function. > Yet Mathematica, according to documentation, is capable of > calculating f[x] on > an Interval, when f is restricted to a standard functions. > For example the "square" function > > Interval[{-1, 1}]^2 > > gives the correct answer > > Interval[{0, 1}] > > But if the same "square" is expressed as a product, the result is not > so good (tight): > > evaluating > Interval[{-1, 1}] Interval[{-1, 1}] > > gives > Interval[{-1, 1}] > > It seems to me that a further function should be implemented in > Mathematica. > Something called IntervalEvaluation or similar, with syntax like > > IntervalEvaluation[f[x],x,Interval[...]] > > Building this function should not be too difficult, using Maximize and > Minimize on the given interval. > > Any comments? > It may not be "too difficult", but it would be far too slow. Interval arithmetic is primarily used for error estimation, and is actually used in many internal algorithms. What one needs to compute is upper bounds of functions on intervals, and performance is much more important than tightness. If you want to see this in practice take a look at my demonstration: http://demonstrations.wolfram.com/SolvingSystemsOfTranscendentalEquations/ This depends crucially on Mathematica's Interval arithmetic (thus proving that it is useful and properly implemented). Using Maximize and Minimize (or NMaximize and NMinimize for transcendental functions) will get you nowhere fast (or, more accurately, nowhere slow). Andrzej Kozlowski