Angular Momentum Method Documentation

Generic methods

double wigner_d_element(const int l, const int m1, const int m2, const double beta)

Evaluates \(d^{l}_{m_1, m_2}(\beta)\) wigner-d element of the given angle \(\beta\).

Return

The wigner-d element, \(d^{l}_{m_1, m_2}(\beta)\).

Parameters
  • l: The rank of the wigner-d matrix element.

  • m1: The quantum number \(m_1\).

  • m2: The quantum number \(m_2\).

  • beta: The angle \(\beta\) given in radian.

void wigner_d_matrices(const int l, const int n, const double *beta, double *wigner)

Evaluates \(n\) wigner-d matrices of rank \(l\) at \(n\) angles given in radians.

At a given angle, \(\beta\), the wigner-d matrix, \(d^{l}\left(m_1, m_2 | \beta\right)\), is a \((2l+1) \times (2l+1)\) square matrix where \(m_1\) and \(m_2\) range from \(-l\) to \(l\). The wigner-d elements, \(d^{l}_{m_1, m_2}(\beta)\), are ordered with \(m_1\) as the leading dimension. For example, when \(l=2\), the wigner-d elements are ordered according to

\[ \left[d^{2}_{-2, -2}(\beta),~d^{2}_{-1, -2}(\beta),~d^{2}_{0, -2}(\beta), ~~...~~d^{2}_{1, 2}(\beta),~d^{2}_{2, 2}(\beta) \right]. \]

The \(n\) matrices are stored such that the wigner-d matrix from angle at index \(i\) is stacked after the wigner-d matrix from angle at index \(i-1\), that is, the wigner-d matrix corresponding to angle[i] starts at the index i*(2*l+1)*(2*l+1).

Parameters
  • l: The rank of the wigner-d matrix.

  • n: The number of wigner-d matrix to evaluate. This is also the length of angle array, beta.

  • beta: A pointer to an array of length \(n\) where the angles \(\beta\) are stored in radians.

  • wigner: A pointer to an array of length n*(2*l+1)*(2*l+1).