[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] Re: how to simplify exponents

From: Martin Rubey
Subject: [Axiom-developer] Re: how to simplify exponents
Date: Fri, 3 Sep 2004 11:23:44 +0000

I wrote:
 >  > How can I make axiom to do 2^a*2^(2*a) -> 2^(3*a) ?
 > Ok, simplifyExp does that. But how about 
 > 2^a*4^a ?

Furthermore, I cannot convince Axiom to do

2^(5*a)/2^(4*a) -> 2^a

I'm rather disappointed, in fact, although it might as well be that I'm missing

I'd be very grateful, if somebody could tell my how to make Axiom do the
following correctly. PLEASE start up Axiom and plug in the following:

--- the first 5 statements are just for setup, don't worry to much about them

x n == 2^(a*n);
k := 2;
p n == A-(k+3)*a1+a1*n;
q:=interpolate('n,[i for i in 1..k],[x(i)*p(i)^(-i) for i in 1..k])$PINTERP('n, 
 INT) for i in k+1..k+3];

--- so far, everything works out just great. eqs is a List of three polynomials
--- in a1 and A with coefficients being expressions.

--- now I want to see, whether they have a common root. In fact, I know they
--- have: A=2^(a*n) and a1=0.

r1:=map(simplifyExp, resultant(eqs.1, eqs.3, a1)::UP(A, EXPR INT));

--- now we have eliminated a1. Since we know that A=2^(a*n) and a1=0 is a
--- common root of all three polynomials, evaluating r1 at A=2^(a*n) should
--- give 0. This does not work out as smooth as I'd hoped, but with a little
--- tweaking we get at least an answer that we can see to be zero:

simplifyExp(eval(r1 ,A=2^a))

--- similarly:

r2:=map(simplifyExp,resultant(eqs.2, eqs.3, a1)::UP(A, EXPR INT));

--- this even works out:

simplifyExp(eval(r2, A=2^a))

--- However, this is simply the wrong answer, it should contain A-2^a as a
--- factor:

gcd(r1, r2)


maybe the reason for that is, that Axiom cannot properly do



reply via email to

[Prev in Thread] Current Thread [Next in Thread]