How can I handle Operator Algebra ?

*To*: mathgroup at smc.vnet.net*Subject*: [mg6482] How can I handle Operator Algebra ?*From*: "Koichiro Yamaguchi" <tigercat at da.mbn.or.jp>*Date*: Mon, 24 Mar 1997 21:38:28 -0500 (EST)*Organization*: Media,Tokyo,JAPAN*Sender*: owner-wri-mathgroup at wolfram.com

Hello, I am a beginner user of Mathematica version 2, so following question is based on what I have done on Mathematica version 2. I have a question about operator algebra. I think this question might be a FAQ. But I could find no "answers for FAQ" of this newsgroup on my newsserver, and also no explanation in the S.Wolfram's "Mathematica book for version 3". So excuse me for asking this. According to "Mathematica book" we can treat pure functions such as those include some differential operators using "# and &" or "Function". Since it seemed both of them gave same answers, only the results using "# and &" are written below. I tried to make an angular momentum operator as follows. dv={D[#,x]&,D[#,y]&,D[#,z]&}; r={x,y,z}; Needs["Calculus`VectorAnalysis`"]; l=CrossProduct[r,dv] And here I've got what I expected. {-(z (D[#1, y] & )) + y (D[#1, z] & ), z (D[#1, x] & ) - x (D[#1, z] & ), -(y (D[#1, x] & )) + x (D[#1, y] & )} Then I applied this operator to the length r. rl=Sqrt[ DotProduct[r,r] ]; lx=l[[1]] -(z (D[#1, y] & )) + y (D[#1, z] & ) rl // lx But Mathematica did not accept multiple "&". 2 2 2 (-(z (D[#1, y] & )) + y (D[#1, z] & ))[Sqrt[x + y + z ]] In case of single "&", I could get a correct answer. lx2= (-z D[#,y] + y D[#,z])& -(z D[#1, y]) + y D[#1, z] & rl // lx2 0 However, if I use single "&" to define differential operator vector like this, dv={D[#,x],D[#,y],D[#,z]}&; Mathematica rejects to recognize this as a vector. How should I I handle Mathematica to do some elementary operator algebra like this ? Thanks in advance for any comments and any answers. --- Koichiro Yamaguchi E-mail: tigercat at da.mbn.or.jp