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}]