I am looking for a nice and workable formulation of the 3j-symbol in terms of hypergeometric functions.

On the wolfram webpage I found:


Unfortunately, no explanantion of the function PhysicalQ is given. What does it mean? I would also be interested to know how to call this reformulation of the Wigner symbol in terms of the right-hand-side expression in mathematica. Any help is much appreciated!

Thank you!

  • 1
    $\begingroup$ PhysicalQ is likely enforcing physically allowed choices (selection rules) of the ls and ms. For instance, $m_1+m_2=m_3$ and $|m_1|\leq l_1$; in the documentation, it says that ThreeJSymbol will return 0 and an error message, but for some reason I don't get the error message when the choices of l and m are unphysical. $\endgroup$ – march Feb 18 at 22:43
  • 1
    $\begingroup$ In addition, ls should fulfill triangle inequality. $\endgroup$ – yarchik Feb 19 at 7:49
  • 1
    $\begingroup$ @march, ideally, Mathematica is supposed to emit a warning message if any arguments do not correspond to physically relevant values, but it will still evaluate the underlying hypergeometric function through analytic continuation. Consider making a report to Support for the cases where you expect a warning message, but do not see one. $\endgroup$ – J. M.'s discontentment Feb 27 at 13:09

Unfortunately, no explanantion of the function PhysicalQ is given. What does it mean?

If you had browsed the Wolfram Functions site more thoroughly, you would have found the "Primary Definition" page for ThreeJSymbol[], and then you would have seen the required definitions for PhysicalQ[] and the associated function TriangularQ[] (which yarchik has astutely guessed in the comments as a required condition).

For convenience, here is a Mathematica rendering of the definition for PhysicalQ:

PhysicalQ[{j1, m1}, {j2, m2}, {j3, m3}] == TriangularQ[j1, j2, j3] && 
          j1 - m1 ∈ Integers && j2 - m2 ∈ Integers && j3 - m3 ∈ Integers &&
          -j1 <= m1 <= j1 && -j2 <= m2 <= j2 && -j3 <= m3 <= j3


TriangularQ[j1, j2, j3] == (2 j1 ∈ Integers && j1 >= 0) && (2 j2 ∈ Integers && j2 >= 0) &&
                           (2 j3 ∈ Integers && j3 >= 0) &&
                           (j1 + j2 + j3 ∈ Integers && j1 + j2 + j3 >= 0) &&
                           Abs[j1 - j2] <= j3 <= j1 + j2
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.