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



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) sq[3]: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)