wignerd
Wigner rotation matrices, Wigner functions
Syntax
D = wignerd(J,alpha,beta,gamma);
D = wignerd(J,alpha,beta,gamma,phase);
Dm1m2 = wignerd(Jm1m2,alpha,beta,gamma);
Dm1m2 = wignerd(Jm1m2,alpha,beta,gamma,phase);
d = wignerd(J,beta);
d = wignerd(J,beta,phase);
dm1m2 = wignerd(Jm1m2,beta);
dm1m2 = wignerd(Jm1m2,beta,phase);
Description

wignerd computes the (2J+1)x(2J+1) Wigner rotation matrix DJ(α,β,γ) with matrix elements, also called Wigner functions, DJm1,m2(α,β,γ) where m1 and m2 run from J to -J.

J is a positive multiple of 1/2 (0, 1/2, 1, 3/2, 2, etc). If J is given as the first input argument, the function computes the full rotation matrix DJ(α,β,γ). If Jm1m2 = [J m1 m2] is given instead, only the matrix element DJm1,m2(α,β,γ) is calculated.

alpha, beta, and gamma are the three Euler angles. If the matrix is requested (using J), these have to be single values. If a matrix element is requested (via Jm1m2), these can be arrays. If alpha and gamma are zero, they can be omitted, and wignerd will return the reduced Wigner rotation matrix or its element.

The last optional argument, phase, specifies the sign convention to use. It can be '-' or '+'. The matrix elements are defined by

[eqn]

The '-' convention (which is the default) uses the minus signs in the exponents and is used in the books by Mehring, Brink and Satchler, Zare, Sakurai, Biedenharn and Louck, Varshalovich, and others (see below for references). The '+' convention uses the plus signs in the exponents and is used in the book by Edmonds, among others.

If only the angle beta is given, alpha and gamma are assumed to be zero, and the reduced rotation matrix element

[eqn]
is computed.

The calculated (2J+1)x(2J+1) matrix is arranged such that the indices m1 and m2 run from +J to -J from top to bottom and from left to right, respectively.

Examples
wignerd(1/2,pi/3,pi/3,pi/4)
ans =
   0.5272 - 0.6871i  -0.4957 + 0.0653i
   0.4957 + 0.0653i   0.5272 + 0.6871i
wignerd(2,pi/2)
ans =
    0.2500   -0.5000    0.6124   -0.5000    0.2500
    0.5000   -0.5000   -0.0000    0.5000   -0.5000
    0.6124    0.0000   -0.5000   -0.0000    0.6124
    0.5000    0.5000    0.0000   -0.5000   -0.5000
    0.2500    0.5000    0.6124    0.5000    0.2500
wignerd([2 -1 -1],pi/3,pi/4,pi/4)
ans =
  -0.0915 + 0.3415i
Algorithm

To compute the full Wigner D-matrix, wignerd numerically computes the matrix exponentials using matrix representations for Jz and Jy. To compute a single matrix element, wignerd calculates the reduced rotation matrix elements either from analytical expressions (for small J) or using Jacobi polynomials, which in turn are calculated using a recurrence relationship.

Here are a few references that contain substantial theory about the Wigner rotation matrices and their elements.

See also

clebschgordan, spherharm, wigner3j, wigner6j