3
$\begingroup$

Consider the following limit.

Limit[(a - Sqrt[a^2 + x])/(a^2 - a*Sqrt[a^2 - x]), x -> 0, Assumptions -> {a > 0}] 

Mathematica 9.0.1.0 gives -1/a, which is the correct answer. Notice that this limit is not trivial to compute, because both the numerator and denominator vanish when x=0. Therefore, L'Hopital's rule is required here.

Now remove the assumption.

Limit[(a - Sqrt[a^2 + x])/(a^2 - a*Sqrt[a^2 - x]), x -> 0] 

For this, Mathematica gives 1/a, which is incorrect for general a (although it is correct for a<0).

Is this last result a bug, or am I missing something?

$\endgroup$
1
  • 3
    $\begingroup$ By elementary algebra, the function is equivalent to -((a + Sqrt[a^2 - x])/(a (a + Sqrt[a^2 + x]))), so L'Hôpital's rule is not strictly necessary. $\endgroup$ Commented Feb 9, 2014 at 19:00

1 Answer 1

5
$\begingroup$

This code should give you some insight as to why you are seeing this behavior:

Manipulate[Plot[(a - Sqrt[a^2 + x])/(a^2 - a*Sqrt[a^2 - x]), {x, -1, 1}], {a, -3, 3}] 

When Assumptions -> {a > 0} is used, you get the correct limit. But when no assumptions are placed, Mathematica tries to evaluate the limit for a general complex $a$. This second result is not correct for $\Re(a) > 0$: The correct limit is $-1/a$ for $\Re(a) > 0$, and $1/a$ for $\Re(a) < 0$.

In general, limits whose values depend discontinuously on some parameter can be difficult for Mathematica to evaluate properly: see Calculating a limit with a result that is discontinuous in the parameters for example.

$\endgroup$
1
  • $\begingroup$ If the result depends on the parameters, then shouldn't Mathematica refuse to evaluate without additional assumptions, and just return Limit[...]? $\endgroup$ Commented Feb 9, 2014 at 20:38

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.