Blanchet (2024)
Blanchet's definition of the spin-weight $-2$ spherical harmonics agrees with the definition used in the SphericalFunctions package. His $d^{ℓm}$ is not a full Wigner $d$ matrix — it has only two labels — but is precisely the single column $d^{(ℓ)}_{m,2}$ in this package's conventions.
Luc Blanchet is one of the pre-eminent researchers in post-Newtonian approximations, and has written a "living" review article on the subject [31], which he has kept up-to-date with the latest developments.
The spherical coordinates are standard physicists' coordinates, implicitly defined by the direction vector below Eq. (188b):
\[ N_i = \left(\sin θ\cos ϕ, \sin θ\sin ϕ, \cos θ\right).\]
Implementing formulas
We begin by writing code that implements the formulas from Ref. [31]. We encapsulate the formulas in a module so that we can test them against the SphericalFunctions package.
module BlanchetWe'll also use some predefined utilities to make the code look more like the equations.
import ..ConventionsUtilities: 𝒾, ❗The $s=-2$ spin-weighted spherical harmonics are defined in Eq. (184a) as
\[ Y^{l,m}_{-2} = \sqrt{\frac{2l+1}{4π}} d^{ℓ m}(θ) e^{imϕ}.\]
function Yˡᵐ₋₂(l, m, θ::T, ϕ::T) where {T<:Real} √((2l + 1) / (4T(π))) * d(l, m, θ) * exp(𝒾 * m * ϕ)endImmediately following that, in Eq. (184b), we find the definition of the $d$ function:
\[ d^{ℓ m} = \sum_{k = k_1}^{k_2} \frac{(-)^k}{k!} e_k^{ℓ m} \left(\cos\frac{θ}{2}\right)^{2ℓ+m-2k-2} \left(\sin\frac{θ}{2}\right)^{2k-m+2},\]
with $k_1 = \textrm{max}(0, m-2)$ and $k_2=\textrm{min}(l+m, l-2)$.
function d(l, m, θ::T) where {T<:Real} k₁ = max(0, m - 2) k₂ = min(l + m, l - 2) sum( T((-1)^k / (k)❗ * eₖˡᵐ(k, l, m)) * cos(θ / 2) ^ (2l + m - 2k - 2) * sin(θ / 2) ^ (2k - m + 2) for k in k₁:k₂; init=zero(T) )endThe $e_k^{ℓ m}$ symbol is defined in Eq. (184c) as
\[ e_k^{ℓ m} = \frac{ \sqrt{(ℓ+m)!(ℓ-m)!(ℓ+2)!(ℓ-2)!} }{ (k-m+2)!(ℓ+m-k)!(ℓ-k-2)! }.\]
function eₖˡᵐ(k, l, m) ( √((l + m)❗ * (l - m)❗ * (l + 2)❗ * (l - 2)❗) / ((k - m + 2)❗ * (l + m - k)❗ * (l - k - 2)❗) )endThe paper did not give an expression for the Wigner D-matrices, but the definition of the spin-weighted spherical harmonics is probably most relevant, so this will suffice.
end # module BlanchetTests
We can now test the functions against the equivalent functions from the SphericalFunctions package. We will test up to
ℓₘₐₓ = 8because that's the maximum $ℓ$ used for PN results — and that's roughly the limit to which I'd trust these expressions anyway. We will also only test the
s = -2case, which is the only one defined in the paper. We will need to test approximate floating-point equality, so we set absolute and relative tolerances (respectively) in terms of the machine epsilon:
ϵₐ = 100eps()ϵᵣ = 100eps()Blanchet's explicit expressions are alternating sums, which lose accuracy to cancellation; the resulting error is absolute, up to about $40ϵ$, rather than relative to the final value.
for (θ, ϕ) ∈ θϕrange(rng) for (ℓ, Yˡ) ∈ SphericalFunctions.sYlm(θ, ϕ, ℓₘₐₓ, s), m ∈ -ℓ:ℓ @test Blanchet.Yˡᵐ₋₂(ℓ, m, θ, ϕ) ≈ Yˡ[m] atol=ϵₐ rtol=ϵᵣ endendThese successful tests show that Blanchet's expression agrees with ours.
Blanchet's $d^{ℓm}$ is not a Wigner $d$ matrix: it has only the two labels $(ℓ, m)$, because it is only used to express $Y^{ℓ,m}_{-2}$. Comparing his Eq. (184a) with our own expression for the spin-weighted harmonics in spherical coordinates,
\[ {}_{s}Y_{ℓ,m}(θ, ϕ) = (-1)^s \sqrt{\frac{2ℓ+1}{4π}}\, d^{(ℓ)}_{m,-s}(θ)\, e^{imϕ},\]
at $s = -2$ — where $(-1)^s = 1$ — identifies his $d^{ℓm}$ as the single column $m' = m$, $m = 2$ of ours. We can check that directly:
for θ ∈ θrange(rng) for (ℓ, dˡ) ∈ SphericalFunctions.dCalculator(θ, ℓₘₐₓ) ℓ < abs(s) && continue # the column m = -s exists only for ℓ ≥ |s| for m ∈ -ℓ:ℓ @test Blanchet.d(ℓ, m, θ) ≈ dˡ[m, -s] atol=ϵₐ rtol=ϵᵣ end endendThat is, $d^{ℓm}(θ) = d^{(ℓ)}_{m,2}(θ)$.
This page was generated using Literate.jl.