def mll(i_l1, i_l2, na_wl, i_lmax): w = wigner() na_mll_tmp = 0.0 # Summation -- reasonable loop here for i_l3 in range(i_lmax): if (abs(i_l1-i_l2) <= i_l3 and i_l3 <= abs(i_l1+i_l2) and (i_l1+i_l2+i_l3)%2 == 0): na_mll_tmp += ((2.0*i_l2+1.0)/(4.0*np.pi)*(2.0*i_l3+1.0)*na_wl[i_l3] *w.w3j(i_l1,i_l2,i_l3)**2.0) return na_mll_tmp
def mll(i_l1, i_l2, na_wl, i_lmax): o_w = wigner() f_mll_entry = 0.0 for i_l3 in range(i_lmax): if (abs(i_l1-i_l2) <= i_l3 and i_l3 <= abs(i_l1+i_l2) and (i_l1+i_l2+i_l3)%2 == 0): f_mll_entry += ((2.0*i_l2+1.0)/(4.0*np.pi)*(2.0*i_l3+1.0) *na_wl[i_l3]*o_w.w3j(i_l1,i_l2,i_l3)**2.0) return f_mll_entry