Using assume() with simplification functions.



Dear List,

I am having difficulty using the assume() function with simplification 
commands. Any assistance with the following would be much appreciated:

(1) If a = 2*sin(delta3)*Lo1+cos(delta3)*Lc > 0, then the expression
s = a*sqrt(1 + Lc^2*sin(delta3)^2/a^2) should simplify to 
sqrt(a^2 +  Lc^2*sin(delta3)^2), otherwise not.

I am trying to implement this with assume() but this does not seem to work 
(see below).

radcan() does perform the simplification (incorrectly) before the assume() 
command is given.

(2) There are also other constraints: delta3 in the interval (-%pi/2,%pi/2). 
How is this indicated with assume() ??

(3) How are previously specified constraints with assume() revoked ?

Thanks very much.

C. Frangos.


(%i5) a;

(%o5) 2*sin(delta3)*Lo1+cos(delta3)*Lc
(%i6) s;

(%o6) (2*sin(delta3)*Lo1+cos(delta3)*Lc)
       *sqrt(sin(delta3)^2*Lc^2/(2*sin(delta3)*Lo1+cos(delta3)*Lc)^2+1)
(%i7) ratsimp(s);

(%o7) (2*sin(delta3)*Lo1+cos(delta3)*Lc)
       *sqrt(4*sin(delta3)^2*Lo1^2+4*cos(delta3)*sin(delta3)*Lc*Lo1
                                  +(sin(delta3)^2+cos(delta3)^2)*Lc^2)
       /sqrt(4*sin(delta3)^2*Lo1^2+4*cos(delta3)*sin(delta3)*Lc*Lo1
                                  +cos(delta3)^2*Lc^2)
(%i8) radcan(s);

(%o8) sqrt(4*sin(delta3)^2*Lo1^2+4*cos(delta3)*sin(delta3)*Lc*Lo1
                                +(sin(delta3)^2+cos(delta3)^2)*Lc^2)
(%i9) 




(%i9) assume( 2*sin(delta3)*Lo1+cos(delta3)*Lc>0);

(%o9) [2*sin(delta3)*Lo1+cos(delta3)*Lc > 0]
(%i10) ratsimp(s);

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