Summary

This page lists the most important conventions used in this package. The following page derives all of these conventions from the very basics (i.e., starting from Cartesian coordinates of 3-dimensional space), and each section below links to the corresponding derivation. The comparisons section at the bottom of this page relates these conventions to the literature and to other software; each source is treated on its own page, collected in the sidebar under Conventions → Comparisons.

Note that we will use Euler angles and spherical coordinates here, but they are not used internally in this package — though conversion functions are available. It is almost always a bad idea to use Euler angles in computing; quaternions are clearly the preferred representation for numerous reasons. However, Euler angles are important for (a) comparing to other sources, and (b) performing analytic integrations. These are the only two uses we will make of Euler angles.

Throughout, $ℓ$, $m'$, $m$, and $s$ are either all integers or all half-integers; every statement below holds in both cases unless noted otherwise.

Fundamental coordinates

We use standard right-handed Cartesian coordinates $(x, y, z)$ and unit basis vectors $(𝐱, 𝐲, 𝐳)$. Details.

Spherical coordinates

We define spherical coordinates $(r, θ, ϕ)$ and unit basis vectors $(𝐧, \boldsymbol{θ}, \boldsymbol{ϕ})$ in the standard "physics" convention:

\[x = r \sin θ \cos ϕ, \qquad y = r \sin θ \sin ϕ, \qquad z = r \cos θ.\]

The "polar angle" $θ \in [0, π]$ measures the angle between the specified direction and the positive $𝐳$ axis. The "azimuthal angle" $ϕ \in [0, 2π)$ measures the angle between the projection of the specified direction onto the $𝐱$-$𝐲$ plane and the positive $𝐱$ axis, with the positive $𝐲$ axis corresponding to the positive angle $ϕ = π/2$. The surface element on the unit sphere is $\sin θ\, dθ\, dϕ$, with total area $4π$. Details.

Quaternions

A quaternion is written $𝐐 = W + X𝐢 + Y𝐣 + Z𝐤$, where

\[𝐢^2 = 𝐣^2 = 𝐤^2 = -1, \qquad 𝐢𝐣 = 𝐤, \quad 𝐣𝐤 = 𝐢, \quad 𝐤𝐢 = 𝐣, \qquad 𝐢𝐣𝐤 = -1.\]

In the code, this quaternion is represented by the components $(W, X, Y, Z)$, in that order. The conjugate is $𝐐̄ = W-X𝐢-Y𝐣-Z𝐤$, the norm is $\|𝐐\| = \sqrt{W^2+X^2+Y^2+Z^2}$, and for a unit "pure-vector" quaternion $𝐮$ we have $\exp(𝐮\,θ) = \cos θ + 𝐮 \sin θ$.

We will frequently depict a three-dimensional vector $𝐯 = v_x 𝐱 + v_y 𝐲 + v_z 𝐳$ interchangeably as a quaternion $v_x 𝐢 + v_y 𝐣 + v_z 𝐤$. Even though they really belong to different spaces, there is a (vector-space) isomorphism between them — given by duality in the geometric algebra, $𝐢 = 𝐈^{-1}𝐱$, etc. — which allows us to operate on vectors as if they were quaternions, and vice versa. Details.

Quaternion rotations

A rotation represented by the unit quaternion $𝐑$ acts on a vector $𝐯$ as $𝐑\, 𝐯\, 𝐑^{-1}$. Rotations are right-handed, so that the quaternion characterizing the rotation through an angle $ϑ$ about a unit vector $𝐮$ is $𝐑 = \exp(ϑ 𝐮/2)$; in particular $𝐢$, $𝐣$, $𝐤$ generate positive rotations about $𝐱$, $𝐲$, $𝐳$. Note that $-𝐑$ delivers the same rotation, which means that the group of unit quaternions $\mathrm{Spin}(3) = \mathrm{SU}(2)$ is a double cover of the group of rotations $\mathrm{SO}(3)$. Nonetheless, $𝐑$ and $-𝐑$ are distinct quaternions, and represent distinct "spinors". Details.

Spherical coordinates as quaternions

A point on the unit sphere with spherical coordinates $(θ, ϕ)$ can be represented by the unit quaternion

\[𝐑_{θ, ϕ} = \exp(ϕ 𝐤/2)\, \exp(θ 𝐣/2).\]

This not only takes the positive $𝐳$ axis to the specified direction, but also takes the $𝐱$ and $𝐲$ axes onto the unit basis vectors of the spherical coordinate system:

\[\begin{aligned} 𝐧 &= 𝐑_{θ, ϕ}\, 𝐳\, 𝐑_{θ, ϕ}^{-1}, \\ \boldsymbol{θ} &= 𝐑_{θ, ϕ}\, 𝐱\, 𝐑_{θ, ϕ}^{-1}, \\ \boldsymbol{ϕ} &= 𝐑_{θ, ϕ}\, 𝐲\, 𝐑_{θ, ϕ}^{-1}. \end{aligned}\]

Details.

Euler angles

Euler angles parametrize a unit quaternion as

\[𝐑_{α, β, γ} = \exp(α 𝐤/2)\, \exp(β 𝐣/2)\, \exp(γ 𝐤/2),\]

i.e., a rotation through $γ$ about $𝐳$, followed by $β$ about the fixed $𝐲$ axis, followed by $α$ about the fixed $𝐳$ axis. The ranges are

\[α \in [0, 2π), \qquad β \in [0, π], \qquad γ \in [0, 4π)\]

to cover the group of unit quaternions $\mathrm{Spin}(3) = \mathrm{SU}(2)$ exactly once (up to subsets of measure zero); restricting to $γ \in [0, 2π)$ covers the rotation group $\mathrm{SO}(3)$ instead. With the components $(W, X, Y, Z)$ of $𝐑_{α,β,γ}$ we have

\[\begin{aligned} W &= \cos\tfrac{β}{2} \cos\tfrac{α+γ}{2}, & X &= -\sin\tfrac{β}{2} \sin\tfrac{α-γ}{2}, \\ Y &= \sin\tfrac{β}{2} \cos\tfrac{α-γ}{2}, & Z &= \cos\tfrac{β}{2} \sin\tfrac{α+γ}{2}. \end{aligned}\]

The invariant (Haar) measure inherited from $\mathbb{R}^4$ is

\[\int_{\mathrm{Spin}(3)} f\, d^3\Omega = \frac{1}{8} \int_0^{2π} \int_0^{π} \int_0^{4π} f\, \sin β\, dα\, dβ\, dγ, \qquad \int_{\mathrm{Spin}(3)} d^3\Omega = 2π^2,\]

and the corresponding integral over $\mathrm{SO}(3)$ (with $γ \in [0, 2π)$) has total volume $π^2$. Details and measure.

By comparison, we can immediately see that spherical coordinates $(θ, ϕ)$ can be represented as Euler angles with the equivalence $(α, β, γ) = (ϕ, θ, 0)$. In particular, any function of spherical coordinates can be promoted to a function on Euler angles — or on $\mathrm{Spin}(3)$ — using this identification. More generally, $𝐑_{ϕ, θ, γ}$ still takes $𝐳$ to $𝐧$, but rotates the tangent basis: writing $𝐦 = (\boldsymbol{θ} + i \boldsymbol{ϕ})/\sqrt{2}$,

\[𝐦 = e^{iγ}\, 𝐑_{ϕ, θ, γ}\, \frac{𝐱 + i 𝐲}{\sqrt{2}}\, 𝐑_{ϕ, θ, γ}^{-1},\]

or equivalently

\[𝐑_{ϕ, θ, γ}\, \frac{𝐱 + i 𝐲}{\sqrt{2}}\, 𝐑_{ϕ, θ, γ}^{-1} = e^{-iγ}\, 𝐦.\]

Note that the factor $e^{-iγ}$ in the latter form identifies $γ$ as the angle related to spin, which is responsible for rotating the tangent basis — conventionally identified in terms of the complex dyad $𝐦$. Comparing with the definition of spin weight below, it says that the transported dyad has spin weight $1$. Details.

Left and right angular-momentum operators

For a complex-valued function $f(𝐑)$ on $\mathrm{Spin}(3)$, we define two operators, the left and right angular-momentum operators:

\[L_𝐮 f(𝐑) = \left.i \frac{d}{dϵ}\right|_{ϵ=0} f\left(e^{-ϵ 𝐮/2}\, 𝐑\right) \qquad \text{and} \qquad R_𝐮 f(𝐑) = -\left.i \frac{d}{dϵ}\right|_{ϵ=0} f\left(𝐑\, e^{-ϵ 𝐮/2}\right),\]

where $𝐮$ can be any quaternion, though unit pure-vector quaternions are the most common; we write $L_x = L_𝐢$, etc. The signs ($i$ on the left, $-i$ on the right) are fixed by requiring that the raising and lowering operators take the conventional forms

\[L_\pm = L_x \pm i L_y, \qquad R_\pm = R_x \pm i R_y, \qquad [L_z, L_\pm] = \pm L_\pm, \qquad [R_z, R_\pm] = \pm R_\pm.\]

Both sets of operators then obey the standard commutation relations,

\[[L_𝐮, L_𝐯] = \frac{i}{2} L_{[𝐮,𝐯]}, \qquad [R_𝐮, R_𝐯] = \frac{i}{2} R_{[𝐮,𝐯]}, \qquad [L_𝐮, R_𝐯] = 0,\]

which for the basis vectors reduce to $[L_a, L_b] = i ϵ_{abc} L_c$ and $[R_a, R_b] = i ϵ_{abc} R_c$. The Casimir operators coincide: $L^2 = R^2$. $L$ is the standard angular-momentum operator of quantum mechanics; $R$ is (minus) the same operator expressed in the body-fixed frame, $R_𝐮 = -L_{𝐑 𝐮 𝐑^{-1}}$. Details.

Euler-angle and spherical-coordinate expressions

In Euler angles the operators are

\[\begin{aligned} L_x &= i \left\{ \frac{\cos α}{\tan β} \frac{\partial} {\partial α} + \sin α \frac{\partial} {\partial β} - \frac{\cos α}{\sin β} \frac{\partial} {\partial γ} \right\}, & R_x &= i \left\{ -\frac{\cos γ}{\sin β} \frac{\partial} {\partial α} +\sin γ \frac{\partial} {\partial β} +\frac{\cos γ}{\tan β} \frac{\partial} {\partial γ} \right\}, \\ L_y &= i \left\{ \frac{\sin α}{\tan β} \frac{\partial} {\partial α} - \cos α \frac{\partial} {\partial β} -\frac{\sin α}{\sin β} \frac{\partial} {\partial γ} \right\}, & R_y &= i \left\{ \frac{\sin γ}{\sin β} \frac{\partial} {\partial α} +\cos γ \frac{\partial} {\partial β} -\frac{\sin γ}{\tan β} \frac{\partial} {\partial γ} \right\}, \\ L_z &= -i \frac{\partial} {\partial α}, & R_z &= i \frac{\partial} {\partial γ}. \end{aligned}\]

Lifting a function on $𝕊²$ to $\mathrm{Spin}(3)$ via $(α, β, γ) = (ϕ, θ, 0)$, the $L$ operators reduce to their familiar spherical-coordinate forms:

\[L_x = i \left\{ \frac{\cos ϕ}{\tan θ} \frac{\partial} {\partial ϕ} + \sin ϕ \frac{\partial} {\partial θ} \right\}, \qquad L_y = i \left\{ \frac{\sin ϕ}{\tan θ} \frac{\partial} {\partial ϕ} - \cos ϕ \frac{\partial} {\partial θ} \right\}, \qquad L_z = -i \frac{\partial} {\partial ϕ},\]

\[L_\pm = e^{\pm iϕ} \left\{ \pm \frac{\partial}{\partial θ} + \frac{i}{\tan θ} \frac{\partial}{\partial ϕ} \right\}.\]

The $R$ operators have no counterpart on $𝕊²$, because they retain derivatives with respect to $γ$; they act naturally only on spin-weighted functions, discussed next. All of these expressions are derived symbolically on the $L_j$ and $R_j$ with Euler angles page. Details.

Spin-weighted functions

Following Newman and Penrose [4], a function $\eta$ has spin weight $s$ if it picks up a phase $e^{isψ}$ when the tangent basis $𝐦 = (\boldsymbol{θ} + i\boldsymbol{ϕ})/\sqrt{2}$ is rotated by $e^{iψ}$ at fixed coordinates. Since that rotation corresponds to right-multiplication of the quaternion argument by $e^{-ψ𝐤/2}$, this means

\[\eta\left(𝐐\, e^{γ 𝐤/2}\right) = e^{-isγ}\, \eta(𝐐) \qquad \Longleftrightarrow \qquad R_z\, \eta = s\, \eta.\]

Spin-weighted functions are therefore eigenfunctions of $R_z$ with eigenvalue $s$; they cannot be defined on $𝕊²$ itself, only on $\mathrm{Spin}(3)$ (or, equivalently, on spherical coordinates together with the reference tangent direction $\boldsymbol{θ}$). Newman and Penrose's spin-raising and -lowering operators are the ladder operators of $R_z$, up to a sign in the second case:

\[\eth = R_+ = R_x + i R_y, \qquad \bar{\eth} = -R_- = -\left(R_x - i R_y\right).\]

In their conventional (but coordinate-dependent) spherical form,

\[\eth \eta = -\sin^s θ \left\{ \frac{\partial}{\partial θ} + \frac{i}{\sin θ} \frac{\partial}{\partial ϕ} \right\} \left(\eta \sin^{-s} θ\right), \qquad \bar{\eth} \eta = -\sin^{-s} θ \left\{ \frac{\partial}{\partial θ} - \frac{i}{\sin θ} \frac{\partial}{\partial ϕ} \right\} \left(\eta \sin^{s} θ\right).\]

Details.

Wigner 𝔇 matrices

Rotating a field $f$ by $𝐑$ gives $\left[U(𝐑) f\right](𝐐) = f(𝐑^{-1}𝐐)$, with $U(e^{ϑ𝐮/2}) = \exp(-iϑ L_𝐮)$ and hence $U(𝐑_{α,β,γ}) = e^{-iαL_z} e^{-iβL_y} e^{-iγL_z}$. Wigner's $𝔇$ matrix is the matrix of $U(𝐑)$ in an orthonormal basis $|ℓ, m\rangle$ of eigenfunctions of $L^2$ and $L_z$ (with any fixed spin weight):

\[𝔇^{(ℓ)}_{m',m}(𝐑) = \langle ℓ, m' | U(𝐑) | ℓ, m \rangle, \qquad U(𝐑)\, |ℓ, m\rangle = \sum_{m'} |ℓ, m'\rangle\, 𝔇^{(ℓ)}_{m',m}(𝐑).\]

It is a function of the rotation $𝐑$ itself (not its inverse), the first index $m'$ pairs with the first Euler angle and the left operators, and the second index $m$ with the last Euler angle and the right operators:

\[𝔇^{(ℓ)}_{m',m}(α, β, γ) = e^{-i m' α}\, d^{(ℓ)}_{m',m}(β)\, e^{-i m γ}, \qquad d^{(ℓ)}_{m',m}(β) = \langle ℓ, m' | e^{-iβL_y} | ℓ, m \rangle,\]

where the real matrix $d$ is given by Wigner's formula

\[d^{(ℓ)}_{m',m}(β) = \sum_{k=\max(0, m-m')}^{\min(ℓ+m, ℓ-m')} (-1)^{k - m + m'} \frac{\sqrt{(ℓ+m)!\,(ℓ-m)!\,(ℓ+m')!\,(ℓ-m')!}} {(ℓ+m-k)!\,k!\,(ℓ-m'-k)!\,(k-m+m')!} \left(\cos\frac{β}{2}\right)^{2ℓ+m-m'-2k} \left(\sin\frac{β}{2}\right)^{2k-m+m'}.\]

This agrees with LALSuite, Wikipedia, Sakurai, Shankar, Zettili, and Varshalovich et al., and several other important references; other references typically have a relative conjugate, transpose, and/or sign. See below for the full Table of comparisons.

Basic properties:

\[\begin{gathered} 𝔇^{(ℓ)}(𝐑_1 𝐑_2) = 𝔇^{(ℓ)}(𝐑_1)\, 𝔇^{(ℓ)}(𝐑_2), \qquad 𝔇^{(ℓ)}(𝐑^{-1}) = 𝔇^{(ℓ)}(𝐑)^\dagger, \qquad 𝔇^{(ℓ)}(-𝐑) = (-1)^{2ℓ}\, 𝔇^{(ℓ)}(𝐑), \\ \overline{𝔇^{(ℓ)}_{m',m}} = (-1)^{m'-m}\, 𝔇^{(ℓ)}_{-m',-m}, \qquad d^{(ℓ)}_{m',m}(β) = (-1)^{m'-m}\, d^{(ℓ)}_{m,m'}(β) = d^{(ℓ)}_{-m,-m'}(β) = d^{(ℓ)}_{m,m'}(-β), \\ L^2\, 𝔇^{(ℓ)}_{m',m} = R^2\, 𝔇^{(ℓ)}_{m',m} = ℓ(ℓ+1)\, 𝔇^{(ℓ)}_{m',m}, \qquad L_z\, 𝔇^{(ℓ)}_{m',m} = -m'\, 𝔇^{(ℓ)}_{m',m}, \qquad R_z\, 𝔇^{(ℓ)}_{m',m} = m\, 𝔇^{(ℓ)}_{m',m}, \\ L_\pm\, 𝔇^{(ℓ)}_{m',m} = -\sqrt{(ℓ \pm m')(ℓ \mp m' + 1)}\, 𝔇^{(ℓ)}_{m' \mp 1, m}, \qquad R_\pm\, 𝔇^{(ℓ)}_{m',m} = \sqrt{(ℓ \mp m)(ℓ \pm m + 1)}\, 𝔇^{(ℓ)}_{m', m \pm 1}, \\ \int_{\mathrm{Spin}(3)} \overline{𝔇^{(ℓ')}_{m'_1, m_1}}\; 𝔇^{(ℓ)}_{m', m}\; d^3Ω = \frac{2π^2}{2ℓ+1}\, δ_{ℓ', ℓ}\, δ_{m'_1, m'}\, δ_{m_1, m}. \end{gathered}\]

Note the signs in the $L$ relations: as a function on $\mathrm{Spin}(3)$, $𝔇_{m',m}$ behaves like a row of expansion coefficients; its complex conjugate is what behaves like a wavefunction, with $L_z$ eigenvalue $+m'$. Details.

Spherical harmonics

There is essentially no disagreement in the literature about the spherical harmonics: everyone uses the Condon–Shortley phase convention, in which the coefficients of $L_\pm$ are real and positive and $Y_{ℓ,0}$ is positive on the $+𝐳$ axis. So do we. Explicitly, with $k_1 = \max(0, m)$ and $k_2 = \min(ℓ+m, ℓ)$,

\[\begin{aligned} Y_{ℓ,m}(θ, ϕ) &= \sqrt{\frac{2ℓ+1}{4π}}\, e^{imϕ} \sum_{k = k_1}^{k_2} \frac{(-1)^k\, ℓ!\, [(ℓ+m)!(ℓ-m)!]^{1/2}} {(ℓ+m-k)!\,(ℓ-k)!\,k!\,(k-m)!} \left(\cos\frac{θ}{2}\right)^{2ℓ+m-2k} \left(\sin\frac{θ}{2}\right)^{2k-m}, \end{aligned}\]

so that, e.g., $Y_{1,\pm1} = \mp\sqrt{3/8π}\, \sin θ\, e^{\pm iϕ}$. Lifted to $\mathrm{Spin}(3)$ (as a function of spin weight 0), the spherical harmonic is

\[Y_{ℓ,m}(𝐑) = \sqrt{\frac{2ℓ+1}{4π}}\; \overline{𝔇^{(ℓ)}_{m,0}(𝐑)},\]

and it transforms under rotation of the field by $𝐑$ as

\[Y_{ℓ,m}\left(𝐑^{-1}\, 𝐐\right) = \sum_{m'} 𝔇^{(ℓ)}_{m',m}(𝐑)\, Y_{ℓ,m'}(𝐐), \qquad \text{equivalently} \qquad Y_{ℓ,m}\left(𝐑\, 𝐐\right) = \sum_{m'} \overline{𝔇^{(ℓ)}_{m,m'}(𝐑)}\, Y_{ℓ,m'}(𝐐).\]

Details and rotation law.

Integer indices only

This section is the exception to the statement at the top of the page that everything is valid for half-integer indices. The ordinary spherical harmonics are the spin-weight-0 members of the family, and no half-integer series can include $s = 0$, so $Y_{ℓ,m}$ exists only for integer $ℓ$ and $m$. The formula shows this directly: the bare $ℓ!$ is $\sqrt{(ℓ-s)!\,(ℓ+s)!}$ evaluated at $s = 0$. Every other factorial in these formulas has an integer argument even for half-integer indices — $ℓ±m$, $ℓ±s$, $k$ and $k-s-m$ are all integers — which is why Wigner's $d$ formula and the ${}_sY_{ℓ,m}$ sum below extend unchanged. In any case, these explicit sums are given only for comparison with other sources; the package defines both $Y_{ℓ,m}$ and ${}_sY_{ℓ,m}$ through the $𝔇$ matrices, which are computed using very different methods.

Spin-weighted spherical harmonics

The spin-weighted spherical harmonics are the simultaneous eigenfunctions of $L^2$, $L_z$, $R_z$ with eigenvalues $ℓ(ℓ+1)$, $m$, $s$, normalized as below, with phases fixed by requiring the ladder coefficients of both $L_\pm$ and $R_\pm$ to be real and positive and anchoring at the ordinary spherical harmonics for $s=0$. This gives the definition

\[{}_sY_{ℓ,m}(𝐑) = (-1)^s \sqrt{\frac{2ℓ+1}{4π}}\; \overline{𝔇^{(ℓ)}_{m,-s}(𝐑)}, \qquad (-1)^s \equiv e^{iπs},\]

where the branch of $(-1)^s$ matters only for half-integer $s$ (for which it is $\pm i$); equivalently, the phase is anchored by ${}_sY_{ℓ,-s}(𝟏) = i^{2s}\sqrt{(2ℓ+1)/4π}$. For integer indices this can also be written ${}_sY_{ℓ,m} = (-1)^m \sqrt{(2ℓ+1)/4π}\; 𝔇^{(ℓ)}_{-m,s}$; for half-integer indices that form is off by $(-1)^{2s} = -1$, so the conjugate form is the definition. The $(-1)^s$ is not arbitrary: it is the Condon–Shortley condition applied to $R_+$, and it is exactly the factor appearing in the LALSuite and NINJA expressions. In spherical coordinates ($γ=0$), with $k_1 = \max(0, m+s)$ and $k_2 = \min(ℓ+m, ℓ+s)$,

\[\begin{aligned} {}_{s}Y_{ℓ,m}(θ, ϕ) &= (-1)^s \sqrt{\frac{2ℓ+1}{4π}}\; d^{(ℓ)}_{m,-s}(θ)\, e^{imϕ} \\ &= (-1)^s\sqrt{\frac{2ℓ+1}{4π}}\, e^{imϕ} \sum_{k = k_1}^{k_2} \frac{(-1)^k[(ℓ+m)!(ℓ-m)!(ℓ-s)!(ℓ+s)!]^{1/2}} {(ℓ+m-k)!\,(ℓ+s-k)!\,k!\,(k-s-m)!} \left(\cos\frac{θ}{2}\right)^{2ℓ+m+s-2k} \left(\sin\frac{θ}{2}\right)^{2k-s-m}. \end{aligned}\]

Again, we must emphasize that this package does not actually use this form; it is shown here to make it easier to compare to other sources. The essential properties are

\[\begin{gathered} L_\pm\, {}_sY_{ℓ,m} = \sqrt{(ℓ \mp m)(ℓ \pm m + 1)}\, {}_sY_{ℓ,m \pm 1}, \qquad R_\pm\, {}_sY_{ℓ,m} = \sqrt{(ℓ \mp s)(ℓ \pm s + 1)}\, {}_{s \pm 1}Y_{ℓ,m}, \\ {}_sY_{ℓ,m}\left(𝐑\, e^{γ𝐤/2}\right) = e^{-isγ}\, {}_sY_{ℓ,m}(𝐑), \qquad {}_sY_{ℓ,m}\left(𝐑^{-1}\, 𝐐\right) = \sum_{m'} 𝔇^{(ℓ)}_{m',m}(𝐑)\, {}_sY_{ℓ,m'}(𝐐), \\ \overline{{}_sY_{ℓ,m}} = (-1)^{m+s}\, {}_{-s}Y_{ℓ,-m}, \qquad {}_sY_{ℓ,m}(-𝐑) = (-1)^{2ℓ}\, {}_sY_{ℓ,m}(𝐑), \\ \int_{\mathrm{Spin}(3)} \overline{{}_{s'}Y_{ℓ',m'}}\; {}_sY_{ℓ,m}\; d^3Ω = \frac{π}{2}\, δ_{ℓ',ℓ}\, δ_{m',m}\, δ_{s',s}, \qquad \int_{𝕊^2} \overline{{}_{s}Y_{ℓ',m'}}\; {}_sY_{ℓ,m}\; \sin θ\, dθ\, dϕ = δ_{ℓ',ℓ}\, δ_{m',m}. \end{gathered}\]

Details and half-integer indices.

Comparisons

Here, we compare our conventions to other sources, including references in the literature as well as other software that implements some of these. Note that there is no single page containing all the comparisons; rather, each source gets its own page. Those pages are collected in the sidebar under Conventions → Comparisons, and are also linked individually from the table at the end of this section. Each one quotes the source's actual equations, implements them in Julia, and tests them numerically against this package. They are written with Literate.jl, so the very same files are also part of this package's test suite.

Among the items that would be good to compare are the following, when actually used by any of these sources:

  • Quaternions
    • Order of components
    • Basis and multiplication table
    • Operation as rotations
  • Euler angles
  • Spherical coordinates
  • Angular momentum operators
    • Fundamental definitions
    • Expression in terms of spherical coordinates
    • Expression in terms of Euler angles
    • Right-derivative form
  • Spherical harmonics
    • Condon-Shortley phase
    • Formula
  • Spin-weighted spherical harmonics
    • Behavior under rotation
  • Wigner D-matrices
    • Representation à la $\langle ℓ, m' | e^{-i α J_z} e^{-i β J_y} e^{-i γ J_z} | ℓ, m \rangle$
    • Rotation of spherical harmonics
    • Order of indices
    • Conjugation
    • Function of rotation or inverse rotation
    • Formula

One major result of this is that almost everyone since 1935 has used the same exact expression for the (scalar) spherical harmonics.

When choosing conventions for this package, I intend to prioritize consistency (to the extent that any of these references actually have anything to say about the above items) with the following sources, in order:

  1. LALSuite
  2. NINJA
  3. Newman-Penrose
  4. Goldberg
  5. Thorne / MTW
  6. Wikipedia
  7. Sakurai
  8. Shankar
  9. Zettili

I think that should be sufficient to find a consensus on conventions for each of the above — with the possible exception of quaternions, for which I have my own strong opinions.

Table of comparisons

Each row below links to that source's own comparison page.

ReferenceVerdict
Blanchet (2024)Spin-weight $-2$ spherical harmonics agree with ours. His $d^{ℓm}$ agrees with our $d^{(ℓ)}_{m,2}$.
Boyle (2016)$𝔇$ matrices (this package before v3.0) are the complex conjugates of ours, for integer and half-integer indices; spin-weighted spherical harmonics agree.
Clifford (1878)Introduces Clifford algebras; identifies quaternions with bivectors of the opposite sign to ours ($i = ι₂ι₃$), and does not use the sandwich product for rotations.
Cohen-Tannoudji (1991)Spherical harmonics agree with ours.
Condon-Shortley (1935)Spherical harmonics agree with ours; this is the origin of the phase convention we use.
Edmonds (1960)Euler angles, operators, and spherical harmonics agree with ours; his $𝒟$ is our $𝔇$ of the inverse rotation (the Hermitian conjugate), and his $d$ is the transpose of ours.
Euler (1767 and 1776)Euler angles can be read in our convention up to an offset in $γ$; spherical coordinates consistent with ours.
Gibbs (1881)Right-handed $(i, j, k)$ basis, as ours.
Goldberg et al. (1967)Spin-weighted spherical harmonics are $(-1)^m$ times ours; $D$ is the complex conjugate of ours with $α$ and $γ$ interchanged (equivalently $(-1)^{m+m'}$ times the conjugate transpose); $\eth$, $\bar{\eth}$ agree.
Griffiths (1995)Spherical harmonics agree with ours.
Hamilton (1844 and 1853)Quaternion multiplication table as ours; Hamilton's own axes (south, west, up) form a left-handed system.
LALSuite (2025)Spin-weighted spherical harmonics, $d$, and $D$ all agree with ours.
Le Bellac (2006)$D$, the rotation law, and the $Y$–$D$ relation agree with ours.
Mathematica (2026)SphericalHarmonicY and EulerMatrix agree with ours; every documented identity of WignerD is satisfied by $𝔇_{-m_1,-m_2} = (-1)^{m_1-m_2}\overline{𝔇_{m_1 m_2}}$ (Wigner's convention).
Newman-Penrose (1966)Spin weight, $\eth$, and $\bar{\eth}$ agree with ours ($\eth = R_+$, $\bar{\eth} = -R_-$); their unnormalized stereographic ${}_sY_{ℓm}$ is $(-1)^ℓ e^{-isϕ}\sqrt{4π/[(2ℓ+1)(ℓ+m)!(ℓ-m)!]}$ times ours.
NIST DLMF (2026)Spherical harmonics (via Ferrers functions) agree with ours.
NINJA (2011)Spin-weighted spherical harmonics and $d$ agree with ours.
Sakurai (1994)Spherical harmonics, $d$, and $𝒟$ agree with ours.
SciPy (2026)sph_harm_y agrees with our spherical harmonics (note the argument order (n, m, θ, ϕ) with $θ$ polar).
Shankar (1994)Spherical harmonics agree with ours; matrix elements of $U[R(α,β,γ)]$ agree with our $𝔇$.
SymPy (2026)Ynm agrees with ours; wigner_d is $𝔇_{-m',-m} = (-1)^{m'-m}\overline{𝔇_{m'm}}$ (Wigner's convention), despite citing Edmonds.
Tait (1867 and 1868)Right-handed basis and multiplication table as ours; Euler angles $(ψ, θ, ϕ)$ in $z-y'-z''$ form are exactly our $(α, β, γ) = (ψ, θ, ϕ)$ — equivalently, the fixed-axis rotations applied in the order $ϕ, θ, ψ$ — and his quaternion matches ours.
Thorne (1980)Scalar spherical harmonics agree with ours.
Torres del Castillo (2003)$d$, $D$, and spin-weighted spherical harmonics agree with ours.
Varshalovich et al. (1988)$D$ and $d$ agree with ours (indices read in their order), for integer and half-integer $J$; lab-fixed operators are our $L$; body-fixed operators are $(-R_x, R_y, -R_z)$.
Whittaker (1904)Right-handed axes, Euler angles equal to ours with the symbols permuted, spherical coordinates and quaternion basis as ours, rotation by $q v q⁻¹$.
Wigner (1959)Representation matrices are $(-1)^{μ'-μ}$ times the complex conjugate of ours (equivalently ours with both indices negated); spherical harmonics agree.
Wikipedia (2026)$D$, $d$, $Y_ℓ^m$, and ${}_sY_{ℓm}$ agree with ours; its body-fixed operators are $\mathcal{P} = -R$.
Wilson (1901)Right-handed $(𝐢, 𝐣, 𝐤)$ basis, as ours.
Zettili (2009)Spherical harmonics, $d$, $D$, and the rotation law agree with ours.