Re: Mathematica
- To: mathgroup at yoda.physics.unc.edu
- Subject: Re: Mathematica
- From: Jon Engel <engel at physics.unc.edu>
- Date: Wed, 30 Mar 1994 22:29:33 -0500 (EST)
[MathGroup: A local researcher wants to know how to simplify expressions involving the structures in his message below. Anyone have any experience with this? Steve C. -moderator] OK, here is an input file. The rules at the beginning helped somewhat, but I think that if you evaluate the expressions that follow the rules, you'll see what I mean. The y functions are spherical harmonics, yet to be defined (i.e. arbitrary functions for now). Eventually I'll need more complicated expressions, and the outlook didn't seem terribly hopeful. Thanks Jon srule = Sqrt[x_] Sqrt[y_] -> Sqrt[x y] sdrule = 1/(Sqrt[x_] Sqrt[y_]) -> 1/(Sqrt[x y]) scrule = Sqrt[x_ y_]/Sqrt[x_] -> Sqrt[y] srules = {srule,sdrule,scrule} trule = Sqrt[x_ y_] -> Sqrt[Expand[x y]] minusrule1 = (-1)^(2^x_) -> -1 t1[s_, sp_, l_] := ThreeJSymbol[{l,m-sp},{1/2,sp},{j,-m}] (2 j +1) ( -1)^(m-sp) yl2 ( 2 s (m-s) yl1 ThreeJSymbol[{l,m-s},{1/2,s}, {j,-m}] + Sqrt[ l (l+1) - (m-s-1) (m-s) ] ThreeJSymbol[{l,m-s-1},{1/2,s+1},{j,-m}] yl1 + Sqrt[l (l+1) - (m-s+1) (m-s) ] ThreeJSymbol[{l,m-s+1},{1/2,s-1}, {j,-m}] yl1 ) t2[s_, sp_, l_] := ThreeJSymbol[{l,m-s},{1/2,s},{j,-m}] (2 j +1) yl1 ( (-1)^(m-sp) 2 sp (sp-m) yl2 ThreeJSymbol[{l,m-sp},{1/2,sp},{j,-m}] + (-1)^(m-sp-1) Sqrt[l (l+1) - (m-sp+1) (m-sp) ] ThreeJSymbol[{l,m-sp+1},{1/2, sp-1},{j,-m}] yl2 + (-1)^(m-sp+1) Sqrt[l (l+1) - (m-sp-1) (m-sp) ] ThreeJSymbol[{l,m-sp-1},{1/2,sp+1},{j,-m}] yl2 ) L[mu_, l_, m_] := Sqrt[ l (l+1) ] ClebschGordan[{l,m},{1,mu},{l,m+mu}] sigl[mu_, s_] := (-1)^(1/2-s) Sqrt[6] ThreeJSymbol[{1/2,-s},{1,mu},{1/2,s-mu}] f15[s_, sp_, l_] := Sum[(-1)^mu Simplify[ClebschGordan[{l,m-sp},{1/2,sp}, {j,m}]] Simplify[ClebschGordan[{l,m-s-mu},{1/2,s+mu},{j,m}]] Simplify[ (-1)^(m-sp)*L[mu,l,m-s-mu] sigl[-mu,s]] yl1 yl2 , {mu,-1,1,1}] f16[s_, sp_, l_] := -Sum[(-1)^mu Simplify[ClebschGordan[{l,m-s},{1/2,s}, {j,m}]] Simplify[ClebschGordan[{l,m-sp+mu},{1/2,sp-mu},{j,m}]] Simplify[ (-1)^(m-sp+mu)*L[mu,l,m-s] sigl[-mu,sp-mu]] y1[l, m-s+mu] y2[l, sp-m-mu] , {mu,-1,1,1}] f25[s_, sp_, l_] := -Sum[(-1)^mu Simplify[ClebschGordan[{l,m-sp},{1/2,sp}, {j,m}]] Simplify[ClebschGordan[{l,m-s-mu},{1/2,s+mu},{j,m}]] Simplify[ (-1)^(m-sp)*L[mu,l,sp-m] sigl[-mu,s]] y1[l,m-s-mu] y2[l,sp-m+mu] , {mu,-1,1,1}]