Re: l'Hopital's Rule
- To: mathgroup at smc.vnet.net
- Subject: [mg24395] Re: l'Hopital's Rule
- From: Richard Fateman <fateman at cs.berkeley.edu>
- Date: Wed, 12 Jul 2000 23:13:38 -0400 (EDT)
- Organization: University of California, Berkeley
- References: <8k3oi3$42k@smc.vnet.net> <8lca5.328$f6.112116@ralph.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
"Kevin J. McCann" wrote:
>
> If you divide numerator and denominator by a, Mathematica will then give the
> correct answer of 2a. Also if a is replaced by a number, the correct
> answer is given. I would call this a bug in the Limit.
>
> Kevin
>
> heathw at in-tch.com wrote:
> >
> > Hi,
> > When I input this:
> > Limit[(a^2 - a*x)/(a - Sqrt[a*x]), x -> a]
> > The output is:
> > 0
> > The output should be 2*a.
> > Can't Mathematica 4 use l'Hopital's Rule?
> > Thanks,
> > Heath
Interestingly, Macsyma does the same thing. I should
add this to my list of system-independent bugs.
Here's my explanation:
The numerator evaluates to 0.
The denominator does not evaluate to zero, since a-sqrt(a*a) cannot be
(correctly) automatically simplified. Indeed, it may be either 0 or 2*a,
depending
on the choice of sign of the square root. Choosing either particular
answer can be used to produce any number of falsehoods.
Curiously, here, NOT making a choice leads to problems, too!
The correct limit is not 2a, but the PAIR OF POSSIBLE
ANSWERS {0 , 2a}, depending on the choice of root.
One thing you can do (in macsyma... there is something
similar in Mathematica, but I forget its name.)
radcan(%) gives sqrt(a)*sqrt(x)+a. Radcan makes a
choice (sometimes not the one you want) for signs of radicals.
Given that expression, limit produces 2*a.
My evaluation of this: it is more than a bug in limit:
it is a bug in the concept of simplification in computer
algebra systems... one based on the misconception that
all algebraic expressions are single-valued...
which causes limit's test for the zero-ness of the denominator
to fail.
Also, I should add, if you think there is only one answer here,
then YOU are committing a bug, too.
RJF