Spin-weighted spheroidal harmonics¶
Spin-weighted spheroidal harmonics
- kerrgeodesic_gw.spin_weighted_spheroidal_harm.spin_weighted_spheroidal_eigenvalue(s, l, m, gamma, verbose=False, cached=True, min_nmax=8)¶
Return the spin-weighted oblate spheroidal eigenvalue of spin weight
s
, degreel
, azimuthal orderm
and spheroidicitygamma
.INPUT:
s
– integer; the spin weightl
– non-negative integer; the harmonic degreem
– integer within the range[-l, l]
; the azimuthal numbergamma
– spheroidicity parameter \(\gamma\)verbose
– (default:False
) determines whether some details of the computation are printed outcached
– (default:True
) determines whether the eigenvalue and the eigenvectors shall be cached; settingcached
toFalse
forces a new computation, without caching the resultmin_nmax
– (default: 8) integer; floor for the evaluation of the parameternmax
, which sets the highest degree of the spherical harmonic expansion asl+nmax
.
OUTPUT:
eigenvalue \(\lambda\) related to the eigenvalue \(\mathcal{E}_{\ell m}\) of the spheroidal harmonic by
\[\lambda = \mathcal{E}_{\ell m} - 2 m \gamma + \gamma^2 - s(s+1)\]ALGORITHM:
The method is adapted from that exposed in Appendix A of S.A. Hughes, Phys. Rev. D 61, 084004 (2000) [doi:10.1103/PhysRevD.61.084004].
EXAMPLES:
sage: from kerrgeodesic_gw import spin_weighted_spheroidal_eigenvalue sage: spin_weighted_spheroidal_eigenvalue(-2, 2, 1, 1.2) # tol 1.0e-13 0.5167945263162421 sage: spin_weighted_spheroidal_eigenvalue(-2, 2, 1, 1.2, cached=False) # tol 1.0e-13 0.5167945263162421 sage: spin_weighted_spheroidal_eigenvalue(-2, 2, 1, 0) 4.0
- kerrgeodesic_gw.spin_weighted_spheroidal_harm.spin_weighted_spheroidal_harmonic(s, l, m, gamma, theta, phi, verbose=False, cached=True, min_nmax=8)¶
Return the spin-weighted oblate spheroidal harmonic of spin weight
s
, degreel
, azimuthal orderm
and spheroidicitygamma
.INPUT:
s
– integer; the spin weightl
– non-negative integer; the harmonic degreem
– integer within the range[-l, l]
; the azimuthal numbergamma
– spheroidicity parametertheta
– colatitude anglephi
– azimuthal angleverbose
– (default:False
) determines whether some details of the computation are printed outcached
– (default:True
) determines whether the eigenvectors shall be cached; settingcached
toFalse
forces a new computation, without caching the resultmin_nmax
– (default: 8) integer; floor for the evaluation of the parameternmax
, which sets the highest degree of the spherical harmonic expansion asl+nmax
.
OUTPUT:
value of \({}_s S_{lm}^\gamma(\theta,\phi)\)
ALGORITHM:
The spin-weighted oblate spheroidal harmonics are computed by an expansion over spin-weighted spherical harmonics, the coefficients of the expansion being obtained by solving an eigenvalue problem, as exposed in Appendix A of S.A. Hughes, Phys. Rev. D 61, 084004 (2000) [doi:10.1103/PhysRevD.61.084004].
EXAMPLES:
sage: from kerrgeodesic_gw import spin_weighted_spheroidal_harmonic sage: spin_weighted_spheroidal_harmonic(-2, 2, 2, 1.1, pi/2, 0) # tol 1.0e-13 0.08702532727529422 sage: spin_weighted_spheroidal_harmonic(-2, 2, 2, 1.1, pi/3, pi/3) # tol 1.0e-13 -0.14707166027821453 + 0.25473558795537715*I sage: spin_weighted_spheroidal_harmonic(-2, 2, 2, 1.1, pi/3, pi/3, cached=False) # tol 1.0e-13 -0.14707166027821453 + 0.25473558795537715*I sage: spin_weighted_spheroidal_harmonic(-2, 2, 2, 1.1, pi/3, pi/4) # tol 1.0e-13 1.801108380050024e-17 + 0.2941433205564291*I sage: spin_weighted_spheroidal_harmonic(-2, 2, -1, 1.1, pi/3, pi/3, cached=False) # tol 1.0e-13 0.11612826056899399 - 0.20114004750009495*I
Test that the relation \({}_s S_{lm}^\gamma(\theta,\phi) = (-1)^{l+s}\, {}_s S_{l,-m}^{-\gamma}(\pi-\theta,-\phi)\) [cf. Eq. (2.3) of Arxiv 1810.00432], which is used to evaluate \({}_s S_{lm}^\gamma(\theta,\phi)\) when \(m<0\) and
cached
isTrue
, is correctly implemented:sage: spin_weighted_spheroidal_harmonic(-2, 2, -2, 1.1, pi/3, pi/3) # tol 1.0e-13 -0.04097260436590737 - 0.07096663248016997*I sage: abs(_ - spin_weighted_spheroidal_harmonic(-2, 2, -2, 1.1, pi/3, pi/3, ....: cached=False)) < 1.e-13 True sage: spin_weighted_spheroidal_harmonic(-2, 3, -1, 1.1, pi/3, pi/3) # tol 1.0e-13 0.1781880511506843 - 0.3086307578946672*I sage: abs(_ - spin_weighted_spheroidal_harmonic(-2, 3, -1, 1.1, pi/3, pi/3, ....: cached=False)) < 1.e-13 True