Initial qpms version metadata in library and output files
[qpms.git] / oldtests / cruzan_B.m
blob481bfd3c0f429e008c74bbebd2f383e3553e4380
1 (* Vector translation coefficients as in Journal of Computational Physics 139, 137--165 (1998), eqs. (58), (59), (61) *)
2 gaunt[m_, n_, mu_, nu_, 
3    p_] := (-1)^(m + mu) (2 p + 1) Sqrt[
4     Factorial[n + m] Factorial[
5       nu + mu] Factorial[p - m - mu]/Factorial[n - m]/
6       Factorial[nu - mu] / Factorial[p + m + mu]] ThreeJSymbol[{n, 
7      0}, {nu, 0}, {p, 0}] ThreeJSymbol[{n, m}, {nu, 
8      mu}, {p, -m - mu}];
9 bCXcoeff[m_,n_,mu_,nu_,p_]:=(-1)^(mu+m)(2p+3)Sqrt[(n+m)!(nu+mu)!(p-m-mu+1)!/(n-m)!/(nu-mu)!/(p+m+mu+1)!]ThreeJSymbol[{n,m},{nu,mu},{p+1,-m-mu}]ThreeJSymbol[{n,0},{nu,0},{p,0}]
10 p[q_,n_,nu_]:=n+nu-2q;
11 ACXcoeff[m_,n_,mu_,nu_,q_]:=(-1)^m (2nu+1)(nu+m)!(nu-mu)!/2/n/(nu+1)/(nu-m)!/(nu+m)!I^p[q,n,nu](n(n+1)+nu(nu+1)-p[q,n,nu](p[q,n,nu]+1))gaunt[-m,n,mu,nu,p[q,n,nu]]
12 BCXcoeff[m_,n_,mu_,nu_,q_]:=(-1)^(m+1)(2nu+1)(n+m)!(nu-m)!/2/n/(n+1)/(n-m)!(nu+mu)!I^(p[q,n,nu]+1)Sqrt[((p[q,n,nu]+1)^2-(n-nu)^2)((n+nu+1)^2-(p[q,n,nu]+1)^2)]bCXcoeff[-m,n,mu,nu,p[q,n,nu]]
14 lMax := 18
15 For[n = 0, n <= lMax, n++,
16  For[nu = 0, nu <= lMax, nu++,
17   For[m = -n, m <= n, m++,
18    For[mu = -nu, mu <= nu, mu++,
19     For[q = 1, q <= Min[n, nu, (n + nu + 1 - Abs[-m + mu])/2],q++,
20      Print[CForm[N[BCXcoeff[m,n,mu,nu,q],16]]]
21      ]
22     ]
23    ]
24   ]
25  ]