axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] Re: severe (!) bug in normalize


From: Francois Maltey
Subject: Re: [Axiom-developer] Re: severe (!) bug in normalize
Date: 06 Dec 2006 18:52:00 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4

Hello Martin and Waldek,

Do you have examples where rischNormalize fails.
What might be the result, and what do you get.

why rischNormalize (sqrt 2 * sqrt 3 * x - sqrt 6, x) is wrong ?
Because there is not the x-1 factor in the result ?

Do you have others examples ?

Do you have a test files with the main axiom mistakes.

> Yes. This *really* needs cleaning up. In fact, I think we should consider to
> redesign the algebra to make use of axioms like canonicalUnitNormal and the
> like. 

> Maybe Francois is heading in the right direction, too, when he tries
> to choose consistent simplification rules for EXPR. However, I think
> that he will need some help.

Of corse I try to find coherent simplifications, 
but this isn't my first aim.

My main idea is to have honest calculus for analysis, 

I'll try to use it in my classroom for my 18 years old students, 
In France the official program forces to use Maple or perhaps Mathematica, 
not mupad, not giac, not axiom.

First I hunt real equalities as (a^b)^c = a^(bc) but complex inequalities.
Then I force axiom to expand cos (2*a) as well as cos (a+b).

After this I try to shorten expressions 
  without loop (of corse)
  without too computations, so I don't make complete global gcd over arguments.
  
But in an expand function it may be possible to slice sqrt 6 in sqrt 2 
and sqrt 3. I do this in an expand trigonometric function.

expand (cos (2*a/3) + cos (2*a/5), "WithDivisor")
(67) -> expand (cos (2*a/3)*cos(2*a/5), "WithDivisor")
   (67)
           2a 2    2a 6         2a 4    2a 4         2a 6    2a 2       2a 8
   - 15cos(--) sin(--)  + 35cos(--) sin(--)  - 13cos(--) sin(--)  + cos(--)
           15      15           15      15           15      15         15
                                                     Type: Expression Integer

This parsing is a bit long, too long for an automatic computation 
at each time, but is possible in a expand function. 

I'll try to do the same over sqrt, exp and power.
I'll break all a^((p/q)*u+...) where p and q are Integer 
in a polynomial in ... (a^(1/q))^p ...

In the actual expr.spad file I only simplify monoic denominator.

So I expect to simplify (exp (2*x)+exp (3*x))/(exp (-x)+1) in exp x^3=exp(3x).

(ex^2 + ex^3)/(ex^-1+1) exp(x)^3 

A last question : what do you prefer ?  

1/z^a or z^(-a). 

In the first case I choose a positive exponent for axiom because a>0,
and then z^a * z^-a = 1, all right !

In the second I reduce the denominator because I prefer polynom to fraction.
The contract operator over power simplifies also z^a z^-a in 1.

Of corse (1/z)^a is forbidden : try with z=-1 and a=1/2 !

Have a nice evening !

Francois.




reply via email to

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