1
#This file is part of QuTIP.
3
# QuTIP is free software: you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation, either version 3 of the License, or
6
# (at your option) any later version.
8
# QuTIP is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
# GNU General Public License for more details.
13
# You should have received a copy of the GNU General Public License
14
# along with QuTIP. If not, see <http://www.gnu.org/licenses/>.
16
# Copyright (C) 2011, Paul D. Nation & Robert J. Johansson
18
###########################################################################
21
from math import factorial
22
# C=clebsch(j1,j2,j3,m1,m2,m3) calculates the Clebsch-Gordon coefficient
23
#for coupling (j1,m1) and (j2,m2) to give (j3,m3).
24
def clebsch(j1,j2,j3,m1,m2,m3):
27
vmin=max([-j1+j2+m3,-j1+m1,0])
28
vmax=min([j2+j3+m1,j3-j1+j2,j3+m3])
29
C=sqrt(2.0*j3+1.0)*factorial(j3+j1-j2)*factorial(j3-j1+j2)*factorial(j1+j2-j3)*factorial(j3+m3)*factorial(j3-m3)/factorial(j1+j2+j3+1)/factorial(j1-m1)/factorial(j1+m1)/factorial(j2-m2)/factorial(j2+m2))
31
for v in range(vmin,vmax+1):
32
S=S+(-1.0)**(v+j2+m2)/factorial(v)*factorial(j2+j3+m1-v)*factorial(j1-m1+v)/factorial(j3-j1+j2-v)/factorial(j3+m3-v)/factorial(v+j1-j2-m3)
b'\\ No newline at end of file'