SciPy

scipy.special.sph_harm

scipy.special.sph_harm(m, n, theta, phi) = <ufunc 'sph_harm'>

Compute spherical harmonics.

The spherical harmonics are defined as

\[Y^m_n(\theta,\phi) = \sqrt{\frac{2n+1}{4\pi} \frac{(n-m)!}{(n+m)!}} e^{i m \theta} P^m_n(\cos(\phi))\]

where \(P_n^m\) are the associated Legendre functions; see lpmv.

Parameters
marray_like

Order of the harmonic (int); must have |m| <= n.

narray_like

Degree of the harmonic (int); must have n >= 0. This is often denoted by l (lower case L) in descriptions of spherical harmonics.

thetaarray_like

Azimuthal (longitudinal) coordinate; must be in [0, 2*pi].

phiarray_like

Polar (colatitudinal) coordinate; must be in [0, pi].

Returns
y_mncomplex float

The harmonic \(Y^m_n\) sampled at theta and phi.

Notes

There are different conventions for the meanings of the input arguments theta and phi. In SciPy theta is the azimuthal angle and phi is the polar angle. It is common to see the opposite convention, that is, theta as the polar angle and phi as the azimuthal angle.

Note that SciPy’s spherical harmonics include the Condon-Shortley phase [2] because it is part of lpmv.

With SciPy’s conventions, the first several spherical harmonics are

\[\begin{split}Y_0^0(\theta, \phi) &= \frac{1}{2} \sqrt{\frac{1}{\pi}} \\ Y_1^{-1}(\theta, \phi) &= \frac{1}{2} \sqrt{\frac{3}{2\pi}} e^{-i\theta} \sin(\phi) \\ Y_1^0(\theta, \phi) &= \frac{1}{2} \sqrt{\frac{3}{\pi}} \cos(\phi) \\ Y_1^1(\theta, \phi) &= -\frac{1}{2} \sqrt{\frac{3}{2\pi}} e^{i\theta} \sin(\phi).\end{split}\]

References

1

Digital Library of Mathematical Functions, 14.30. https://dlmf.nist.gov/14.30

2

https://en.wikipedia.org/wiki/Spherical_harmonics#Condon.E2.80.93Shortley_phase

Previous topic

scipy.special.lpmv

Next topic

scipy.special.clpmn