Maxima: trigsimp() in Maxima 5.12 v 5.10/5.9.1



20 July 2007

For the application below, the function trigsimp() seems to be behave 
differently in Maxima 5.12 versus  Maxima 5.10/5.9.1.

Any assistance with the following would be appreciated:

(1) The function trigsimp() is applied to the expression y1 below and 
different results are obtained:

Maxima5.12
(%i2) y1:sqrt(sin(delta3)^2*Lc^2/(2*sin(delta3)*Lo1+cos(delta3)*Lc)^2+1); 
(%o2) sqrt(sin(delta3)^2*Lc^2/(2*sin(delta3)*Lo1+cos(delta3)*Lc)^2+1)
(%i3) trigsimp(y1);

(%o3) sqrt(4*sin(delta3)^2*Lo1^2+4*cos(delta3)*sin(delta3)*Lc*Lo1+Lc^2)
       /sqrt(4*sin(delta3)^2*Lo1^2+4*cos(delta3)*sin(delta3)*Lc*Lo1
                                  +cos(delta3)^2*Lc^2)


Maxima5.10
(%i4) y1;
(%o4) sqrt(sin(delta3)^2*Lc^2/(2*sin(delta3)*Lo1+cos(delta3)*Lc)^2+1)
(%i5) trigsimp(y1);
(%o5) sqrt(4*sin(delta3)^2*Lo1^2+4*cos(delta3)*sin(delta3)*Lc*Lo1+Lc^2)
       /(2*sin(delta3)*Lo1+cos(delta3)*Lc)


Maxima5.9.1
(%i133) y1:sqrt(sin(delta3)^2*Lc^2/(2*sin(delta3)*Lo1+cos(delta3)*Lc)^2+1);
(%o133) SQRT(SIN(delta3)^2*LC^2/(2*SIN(delta3)*Lo1+COS(delta3)*LC)^2+1)
(%i134) trigsimp(y1);
(%o134) SQRT(4*SIN(delta3)^2*Lo1^2+4*COS(delta3)*SIN(delta3)*LC*Lo1+LC^2)
         /(2*SIN(delta3)*Lo1+COS(delta3)*LC)


(2) It appears that in Maxima 5.10/5.9.1, trigsimp() assumes that expres1 = 
2*sin(delta3)*Lo1+cos(delta3)*Lc > 0 in y1.

It then simplifies sqrt(expres1^2) to expres1.

In Maxima 5.12, trigsimp() does not do this.

(3) For this application, the assumption expres1 > 0 is physically correct. 
What is the Maxima command to implement this assumption explicitly ?

Thanks very much.

Regards,

C. Frangos.