axiom-developer
[Top][All Lists]

 From: Dr.-Ing. Ingo D. Rullhusen Subject: [Axiom-developer] wrong sign in limit? Date: Fri, 24 Sep 2010 20:46:05 +0200 User-agent: Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.1.13) Gecko/20100916 SeaMonkey/2.0.8

```Hello,

perhaps i have found a bug in the limit operation. I am using

AXIOM Computer Algebra System
Version: Axiom (July 2010)
Timestamp: Wednesday August 18, 2010 at 11:16:49

on a x86_64 with linux. There seems to be an error in the sign, if you
compare the limit result with the de L'Hospital one.

>>>>Example

-- problem with limit

)clear

Z:=sqrt(a^2+h^2)-a
N:=a*sqrt(a^2+h^2) - a^2 - h^2

limit( Z/N, h=0 )

-- this seems to be wrong!
-- because de L'Hospital says

dZ:=differentiate( Z, h, 2 )
dN:=differentiate( N, h, 2 )

eval(dZ/dN,h=0)

-- which seems to be right (see graph): opposite sign!

>>>>EndExample

which generates the output:

AXIOM Computer Algebra System
Version: Axiom (July 2010)
Timestamp: Wednesday August 18, 2010 at 11:16:49
-----------------------------------------------------------------------------
Issue )summary for a summary of useful system commands.
-----------------------------------------------------------------------------

(1) ->

-- problem with limit

)clear

Use )clear all to clear everything in the workspace. Use )clear
completely to clear everything in the workspace and internal
tables. Other )clear keyword arguments are
modes
operations
properties
types
values

Z:=sqrt(a^2+h^2)-a

+-------+
| 2    2
(1)  \|h  + a   - a
Type: Expression
Integer
N:=a*sqrt(a^2+h^2) - a^2 - h^2

+-------+
| 2    2     2    2
(2)  a\|h  + a   - h  - a
Type: Expression
Integer

limit( Z/N, h=0 )

1
(3)  -
a
Type: Union(OrderedCompletion Expression
Integer,...)

-- this seems to be wrong!
-- because de L'Hospital says

dZ:=differentiate( Z, h, 2 )

2
a
(4)  -------------------
+-------+
2    2  | 2    2
(h  + a )\|h  + a
Type: Expression
Integer
dN:=differentiate( N, h, 2 )

+-------+
2     2  | 2    2     3
(- 2h  - 2a )\|h  + a   + a
(5)  ----------------------------
+-------+
2    2  | 2    2
(h  + a )\|h  + a
Type: Expression
Integer

eval(dZ/dN,h=0)

1
(6)  - ----------
+--+
| 2
2\|a   - a
Type: Expression
Integer
(7) ->
(7) ->

(see sign)

Thanks
Ingo

```