[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [Axiom-mail] limits
From: |
Bill Page |
Subject: |
RE: [Axiom-mail] limits |
Date: |
Mon, 26 Mar 2007 00:31:13 -0400 |
On March 25, 2007 11:54 AM Ondrej Certik wrote:
>
> I am sorry for this stupid question - but how can I
> calculate the limit of:
>
> (3**x+5**x)**(1/x)
>
> for x->+infinity?
Sorry, that seems like an intelligent question to me. ;)
But really there are no stupid questions, just stupid answers.
In fact I think it is a bug or at least a deficiency in Axiom
so I have reported it to IssueTracker here:
http://wiki.axiom-developer.org/345
Thanks for pointing this out. Perhaps this can be corrected
fairly easily.
> The result is 5 as you can check by hand:
>
> (3**x+5**x)**(1/x) = 5 * ((3/5)**x+1)**(1/x) -> 5
>
> When I tried that in axiom:
>
> limit((3**x+5**x)**(1/x), x=%+infinity)
In Axiom you should write:
limit((3**x+5**x)**(1/x), x=%plusInfinity)
But if you got "failed" as a result you probably wrote
%plusInfinity and it's just a typo in your email.
>
> or the equivalent problem:
>
> limit((3**(1/x)+5**(1/x))**(x), x=0, "right")
>
> I got "failed".
>
Same bug I guess.
> Also, this works correctly:
>
> simplify(2**x * 2**(2*x))
>
> simplifies to 2**(3x)
>
> but this doesn't simplify at all:
>
> simplify(2**(5*x)/2**(4*x))
>
In general, expression simplification in Axiom is not as
powerful as in most other CAS and often needs a little help.
Fortunately Axiom does have a fairly simple powerful pattern
matching feature so one way these simplifications can be done
is as follows:
(1) -> reduceExp := rule exp(x*log(y))==y^x
x log(y) x
(1) %e == y
Type: RewriteRule(Integer,Integer,Expression Integer)
(2) -> reduceExp normalize (2**x * 2**(2*x))
x
(2) 8
Type: Expression Integer
(3) -> reduceExp normalize (2**(5*x)/2**(4*x))
x
(3) 2
Type: Expression Integer
Regards,
Bill Page.