Mathematica Asked on November 30, 2020
I have a simple question about the output of a calculation. I have written a function which is a sum of 3j-symbols and Clebsch-Gordan coefficients in which I sum over various indices.
Jsymbol[l1_, l2_, S_, L1_, L2_, J1_, J2_] :=
3*Sum[(-1)^(ml1 + b + mL)*(2 L + 1)*Sqrt[(2 l1 + 1)*(2 l2 + 1)]*
ThreeJSymbol[{l1, 0}, {l2, 0}, {L, 0}]*
ThreeJSymbol[{l1, ml1}, {l2, ml2}, {L, mL}]*
ThreeJSymbol[{1, 0}, {1, 0}, {L, 0}]*
ThreeJSymbol[{1, b}, {1, c}, {L, mL}]*
ClebschGordan[{1, mg1}, {1, i}, {1, b}]*
ClebschGordan[{1, mg2}, {1, i}, {1, c}]*
ClebschGordan[{l1, ml1}, {1, mg1}, {L1, ML1}]*
ClebschGordan[{l2, ml2}, {1, mg2}, {L2, ML2}]*
ClebschGordan[{S, MS}, {L1, ML1}, {J1, MJ1}]*
ClebschGordan[{S, MS}, {L2, ML2}, {J2, MJ2}], {ml1, -l1, l1,
1}, {ml2, -l2, l2, 1}, {mg1, -1, 1, 1}, {mg2, -1, 1, 1}, {mL, -L,
L, 1}, {i, -1, 1, 1}, {b, -1, 1, 1}, {c, -1, 1, 1}, {ML1, -L1, L1,
1}, {ML2, -L2, L2, 1}, {MS, -S, S, 1}, {MJ1, -J1, J1,
1}, {MJ2, -J2, J2, 1}, {L, 0, 2, 1}]
When I plug in certain numbers for the indices I get
Jsymbol[1, 1, 0, 0, 0, 0, 0]
3 (-(2/15) + 2[{-1/30, L>=1, 0 True}])
But how do I interpret this? I tried to perform the sums for the three values of L that I am interested in, $L=0,1,2$, separately, and I get $-1/3,0,-7/15$, respectively, which I can’t make agree with the previous answer. What am I misunderstanding?
Thank you in advance.
Clear["Global`*"] (* clear all prior definitions *)
Jsymbol[l1_, l2_, S_, L1_, L2_, J1_, J2_] :=
3*Sum[(-1)^(ml1 + b + mL)*(2 L + 1)*Sqrt[(2 l1 + 1)*(2 l2 + 1)]*
ThreeJSymbol[{l1, 0}, {l2, 0}, {L, 0}]*
ThreeJSymbol[{l1, ml1}, {l2, ml2}, {L, mL}]*
ThreeJSymbol[{1, 0}, {1, 0}, {L, 0}]*
ThreeJSymbol[{1, b}, {1, c}, {L, mL}]*
ClebschGordan[{1, mg1}, {1, i}, {1, b}]*
ClebschGordan[{1, mg2}, {1, i}, {1, c}]*
ClebschGordan[{l1, ml1}, {1, mg1}, {L1, ML1}]*
ClebschGordan[{l2, ml2}, {1, mg2}, {L2, ML2}]*
ClebschGordan[{S, MS}, {L1, ML1}, {J1, MJ1}]*
ClebschGordan[{S, MS}, {L2, ML2}, {J2, MJ2}], {ml1, -l1, l1,
1}, {ml2, -l2, l2, 1}, {mg1, -1, 1, 1}, {mg2, -1, 1, 1}, {mL, -L, L,
1}, {i, -1, 1, 1}, {b, -1, 1, 1}, {c, -1, 1, 1}, {ML1, -L1, L1,
1}, {ML2, -L2, L2, 1}, {MS, -S, S, 1}, {MJ1, -J1, J1, 1}, {MJ2, -J2, J2,
1}, {L, 0, 2, 1}]
result = Jsymbol[1, 1, 0, 0, 0, 0, 0]
result // InputForm
(* 3*(-2/15 + 2*Piecewise[{{-1/30, L >= 1}}, 0]) *)
The last term is a Piecewise
function. The value of the Piecewise is -1/30
if L >= 1
or zero (default) otherwise. To simplify the expression use either
result // Simplify
or
result // PiecewiseExpand
The results for different values of L
are
result /. {{L -> 0}, {L -> 1}, {L -> 2}}
(* {-(2/5), -(3/5), -(3/5)} *)
Assigning the values to L
prior to calculating Jsymbol
produces error messages and presumably erroneous results.
Table[(L = val;
Jsymbol[1, 1, 0, 0, 0, 0, 0]), {val, 0, 2}]
Correct answer by Bob Hanlon on November 30, 2020
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP