[Date Index]
[Thread Index]
[Author Index]
Re: mathematica gets a simple limit wrong?
*To*: mathgroup at smc.vnet.net
*Subject*: [mg24693] Re: [mg24633] mathematica gets a simple limit wrong?
*From*: Albert Weinshelbaum <xrayted at pacbell.net>
*Date*: Fri, 4 Aug 2000 01:19:18 -0400 (EDT)
*References*: <8m3vaj$djl@smc.vnet.net>
*Sender*: owner-wri-mathgroup at wolfram.com
"Andrzej Kozlowski" <andrzej at tuins.ac.jp> wrote in message
news:8m3vaj$djl at smc.vnet.net...
> on 7/28/00 11:24 PM, danckel at my-deja.com at danckel at my-deja.com wrote:
>
> > Could anyone explain the following output of mathematica 4.0:
> >
> > In[]:= 1+Limit[a-Sqrt[a^2-a],a->Infinity]
> > Out[]:= 3/2
> >
> > In[]:=Limit[1+a-Sqrt[a^2-a],a->Infinity]
> > Out[]:= 1 ????!!!!!!!!!!!
> >
Using Mathematica 3.0 I get 3/2 for both
> >
> > Huh? I just moved the 1 inside the brackets and got a wrong answer?
> > Makes me wonder about mathematica.
> >
> > bye,
> >
> > D.
> >
> >
> > Sent via Deja.com http://www.deja.com/
> > Before you buy.
> >
> >
> This is clearly a bug, (though perhaps an understandable one). However, I
> feel the first thing that needs to be said is that in this, as in most
other
> cases, Mathematica offers lots of ways to get the right answer. This is
> indeed its greatest strength. Personally I would never even think of using
> limit in a case like this (or most other cases) since the following
approach
> is far more reliable:
>
> In[1]:=
> f[x_] := 1 + x - Sqrt[x^2 - x]
> In[2]:=
> Normal[f[x] + O[x, Infinity]^2]
> Out[2]=
> 3
> -
> 2
>
> There are also two ways to get the right answer by laoding standard
> packages:
>
> In[3]:=
> << Calculus`Limit`
> In[4]:=
> Limit[f[x], x -> Infinity]
> Out[4]=
> 3
> -
> 2
>
> or
>
> In[5]:=
> << NumericalMath`NLimit`
>
> In[6]:=
> NLimit[f[x], x -> Infinity]
> Out[6]=
> 1.5
>
> Actually, even when all such answers agree I do not think you should rely
on
> an answer given not just by Mathematica but by any symbolic algebra
program.
> They should only be treated as "guesses" whcih should be justified
> mathematically. But this is another issue.
>
> There is also the question of how the bug arises. Of course not having
> access to the source code one can't be sure but one can make a guess.
> Starting with a new kernel (to remove the effects of the external
packages):
>
> In[1]:=
> f[x_] := 1 + x - Sqrt[x^2 - x];g[x_] := f[1/x];
>
> In[4]:=
> g[x]
> Out[4]=
> -2 1 1
> 1 - Sqrt[x - -] + -
> x x
>
> In[5]:=
> Limit[g[x], x -> 0]
> Out[5]=
> 1
>
> In[7]:=
> Together[g[x]]
> Out[7]=
> 1 - x
> 1 + x - Sqrt[-----] x
> 2
> x
> ---------------------
> x
>
> In[6]:=
> Limit[Together[g[x]], x -> 0]
> Out[6]=
> 3
> -
> 2
>
> It seems that in the second case Mathematica correctly used the l'Hospital
> rule. It is not clear to me how Mathematica arrives at its (wrong) answer
1
> in the first case, though it seems to me not entirely surprising that it
> "can't see" the, not entirely obvious, need to apply Together before using
> the l'Hospital rule.
>
> --
> Andrzej Kozlowski
> Toyama International University, JAPAN
>
> For Mathematica related links and resources try:
> <http://www.sstreams.com/Mathematica/>
>
>
>
>
>
Prev by Date:
**RE: Speeding up Replacement Rules**
Next by Date:
**RE: Equation of a "potato"**
Previous by thread:
**RE: Speeding up Replacement Rules**
Next by thread:
**RE: Equation of a "potato"**
| |