Subject: Using assume() with simplification functions.
From: Constantine Frangos
Date: Thu, 17 Dec 2009 15:42:07 +0200
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)