Re: Uniform design

*To*: mathgroup at smc.vnet.net*Subject*: [mg48220] Re: Uniform design*From*: ab_def at prontomail.com (Maxim)*Date*: Tue, 18 May 2004 04:16:51 -0400 (EDT)*References*: <c7nnc7$dm5$1@smc.vnet.net> <200405130408.AAA26737@smc.vnet.net> <c81has$4rj$1@smc.vnet.net> <200405150756.DAA00995@smc.vnet.net> <c89pfb$t0e$1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Andrzej Kozlowski <akoz at mimuw.edu.pl> wrote in message news:<c89pfb$t0e$1 at smc.vnet.net>... > On 15 May 2004, at 16:56, Maxim wrote: > > > Andrzej Kozlowski <akoz at mimuw.edu.pl> wrote in message > > news:<c81has$4rj$1 at smc.vnet.net>... > >> On 13 May 2004, at 13:08, Maxim wrote: > >> > >>> Also, it's strange that Solve accepts intervals (Mathematica Help for > >>> Interval even gives such an example), but doesn't really support > >>> them: > >>> > >>> In[7]:= > >>> Solve[1/(x - 1) == Interval[{-1, 1}]] > >>> > >>> Out[7]= > >>> {{x -> Interval[{-Infinity, Infinity}]}} > >>> > >>> Not much point in treating this equation as Solve[1/(x-1)==a,x] and > >>> giving incorrect result. > >>> > >> I agree that it seems strange that this sort of thing was included in > >> the help browser, without additional comment, for it can certainly > >> only be misleading. Interval arithmetic is strange and does not obey > >> usual rules: > >> > >> 1 + 1/Interval[{-1, 1}] > >> > >> Interval[{-Infinity, 0}, {2, Infinity}] > >> > >> and > >> > >> (1 + Interval[{-1, 1}])/Interval[{-1, 1}] > >> > >> Interval[{-Infinity, Infinity}] > >> > >> This means that the answer returned by Solve will depend on how you > >> choose to write your equation: > >> > >> > >> Solve[1/(x - 1) == Interval[{-1, 1}]] > >> > >> > >> {{x -> Interval[{-Infinity, Infinity}]}} > >> > >> > >> Solve[x - 1 == 1/Interval[{-1, 1}]] > >> > >> {{x -> Interval[{-Infinity, 0}, {2, Infinity}]}} > >> > >> > >> (What is actually weird is that > >> > >> > >> Solve[1/(x - 1) == Interval[{-1, 1}], x] > >> > >> {} > >> > >> while > >> > >> > >> Solve[x - 1 == 1/Interval[{-1, 1}], x] > >> > >> {{x -> Interval[{-Infinity, 0}, {2, Infinity}]}}) > >> > >> > >> Whether the original answer should be considered wrong or only > >> excessively "pessimistic" depends on the context. The usual context in > >> which interval arithmetic is used is for error estimation, where it > >> is > >> most important that it should not return an interval smaller than the > >> correct one and at least in this case it does not. > >> > >> > >> > >> Andrzej Kozlowski > >> Chiba, Japan > >> http://www.mimuw.edu.pl/~akoz/ > > > > The only problem with that kind of explanation is that it's made with > > hindsight. > > > > In[1]:= > > Solve[1/(x - 1) == Interval[{-1, 0}]] > > > > Out[1]= > > {{x -> -1}} > > > > What happened to "pessimistic interval" here? > > > > Maxim Rytin > > m.r at prontomail.com > > > > > > The obvious problem is not with my hindsight but with your knowledge of > mathematics and in particular of interval arithmetic. The answer > Mathematica should have given here is: > > > Solve[1/(x - 1) == z, x] /. z -> Interval[{-1, 0}] > > Out[8]= > {{x -> Interval[{-Infinity, 0}]}} > > This is almost certainly just a bug. > > Andrzej Kozlowski > > > Andrzej Kozlowski > Chiba, Japan > http://www.mimuw.edu.pl/~akoz/ At first you claimed that Solve[f[x]==interval] did give something useful: an interval containing the 'exact' solution (I'll call such interval an extended solution). Now you say that we have to use something different, namely Solve[f[x]==a,x]/.a->interval. It's interesting to consider in which cases we do get an extended solution (speaking informally, this will happen because if we have something like a+1/a and a is an interval, then the two occurences of a are treated as being independent, so some operations will perhaps 'unnecessarily' extend the range, but they will not narrow the range). But to say that this way we always get an extended solution is incorrect, simply because some operations cannot be automatically extended to real intervals: Solve[x^3 - x - 1 == Interval[{-1, 1}]] Solve[x^3 - x - 1 == a, x] /. a -> Interval[{-1, 1}] Neither of these attempts will give us an extended solution, because we'll encounter complex functions of intervals. Another interesting question is what should be considered the exact solution. If we're assuming we have one independent variable x, then we're solving inequality -1<x^3-x-1<1; if we're looking for Interval[{a,b}] such that Interval[{a,b}]^3-Interval[{a,b}]-1==Interval[{-1,1}], then we need the real solution to {a^3-b-1==-1,b^3-a-1==1}. Maxim Rytin m.r at prontomail.com

**References**:**Re: Uniform design***From:*ab_def@prontomail.com (Maxim)

**Re: Uniform design***From:*ab_def@prontomail.com (Maxim)

**Re: Precision of output**

**Re: Re: FindRoot cannot find obvious solution**

**Re: Re: Uniform design**

**Re: Uniform design**