Re:[Maxima]How do I tell maxima not ....



--- go_furuya@infoseek.jp wrote:
> hi CY
> 
> you write 10/09
> >I want to find the Laplacian in polar coordinates.
> 
> My answer is that
> 
> (C1) eq[1]:sin(p)*cos(q)*r=x $
> (C2) eq[2]:sin(p)*sin(q)*r=y $
> (C3) eq[3]:cos(p)*r=z $
> (C4) depends([r,p,q],[x,y,z])$
>
(C5)solve([diff(eq[1],x),diff(eq[2],x),diff(eq[3],x)],[diff(r,x),diff(p,x),diff(q,x)]);
> there is a bug in trigsmp.lisp.  so we shoud use share/trgsmp.mc
> (C6) load(trgsmp);
> (C7) trigsimp(D5);
> (C8) sq1:D7[1]$
> (C9)
>
trigsimp(solve([diff(eq[1],y),diff(eq[2],y),diff(eq[3],y)],[diff(r,y),diff(p,y),diff(q,y)]))$
> (C10) sq2:D9[1]$
> (C11)
>
trigsimp(solve([diff(eq[1],z),diff(eq[2],z),diff(eq[3],z)],[diff(r,z),diff(p,z),diff(q,z)]))$
> (C12) sq3:D11[1]$
> 
> (C13) depends(u,[r,p,q]);
> (C14) duxx:expand(subst(sq1,diff(subst(sq1,diff(u,x)),x)))$
> (C15) duyy:expand(subst(sq2,diff(subst(sq2,diff(u,y)),y)))$
> (C16) duzz:expand(subst(sq3,diff(subst(sq3,diff(u,z)),z)))$
> (C17) expand(duxx+duyy+duzz)$
> (C18) trigreduce(%);
> (C19) expand(%);
> 					2     2
> 				  2    d u   d u
> 			  du   CSC (p) ---   ---	  du
> 		   2    2 --		 2     2   COT(p) --
> 		  d u	  dr	       dq    dp		  dp
> (D19) 		  --- + ---- + ----------- + --- + ---------
> 		    2	 r	    2	      2	       2
> 		  dr		   r	     r	      r
> Of cource directly calc subst(sq1,diff(u,x,2)),but on that occasion
> we must recalc diff(r,x,2)....,so on.
> 
> Gosei Furuya (go_furuya@infoseek.jp)


Nice!  Thanks!  About the bug in trigsimp.lisp - is there a reason we
have two different packages for this kind of stuff?  I recall that when
I asked the question about grad, vect.mc had to be used and even then a
couple changes were needed.  What's the history behind these different
packages?

CY



__________________________________________________
Do You Yahoo!?
Make a great connection at Yahoo! Personals.
http://personals.yahoo.com