Legendre Functions and Spherical Harmonics
The Legendre Functions and Legendre Polynomials are described in
Abramowitz & Stegun, Chapter 8.
Legendre Polynomials
-
gsl_sf_legendre_P1(x)
-
gsl_sf_legendre_P2(x)
-
gsl_sf_legendre_P3(x)
These functions evaluate the Legendre polynomials \(P_l(x)\) using
explicit representations for \(l=1, 2, 3\).
-
gsl_sf_legendre_Pl(l, x)
This function evaluates the Legendre polynomial \(P_l(x)\) for a
specific value of integer parameter \(l\), \(x\) subject to
\(l \geq 0, |x| \leq 1\).
-
gsl_sf_legendre_Q0(x)
This routine computes the Legendre function \(Q_0(x)\) for
\(x > -1, x \ne 1\).
-
gsl_sf_legendre_Q1(x)
This routine computes the Legendre function \(Q_1(x)\) for
\(x > -1, x \ne 1\).
-
gsl_sf_legendre_Ql(l, x)
This routine computes the Legendre function \(Q_l(x)\) for
\(x > -1, x \ne 1\) and \(l \geq 0\).
Associated Legendre Polynomials and Spherical Harmonics
The following functions compute the associated Legendre Polynomials
\(P_l^m(x)\). Note that this function grows combinatorially with \(l\) and
can overflow for \(l\) larger than about 150. There is no trouble for
small \(m\), but overflow occurs when \(m\) and \(l\) are both large.
Rather than allow overflows, these functions refuse to calculate
\(P_l^m(x)\) and return an error when they can sense that \(l\) and \(m\)
are too big.
If you want to calculate a spherical harmonic, then do not use these
functions. Instead use gsl_sf_legendre_sphPlm
below, which uses a
similar recursion, but with the normalized functions.
-
gsl_sf_legendre_Plm(l, m, x)
This routine computes the associated Legendre polynomial
\(P_l^m(x)\) for \(m \geq 0, l \geq m, |x| \leq 1\).
-
gsl_sf_legendre_sphPlm(l, m, x)
This routine computes the normalized associated Legendre polynomial
\(\sqrt{(2l+1)/(4\pi)} \sqrt{(l-m)!/(l+m)!} P_l^m(x)\) suitable for use
in spherical harmonics. The parameters must satisfy
\(m \geq 0, l \geq m, |x| \leq 1\). Theses routines avoid the overflows
that occur for the standard normalization of \(P_l^m(x)\).
Conical Functions
The Conical Functions \(P^\mu_{-(1/2)+i\lambda}(x)\) and
\(Q^\mu_{-(1/2)+i\lambda}\) are described in Abramowitz & Stegun,
Section 8.12.
-
gsl_sf_conicalP_half(lambda, x)
This routine computes the irregular Spherical Conical Function
\(P^{1/2}_{-1/2 + i \lambda}(x)\) for \(x > -1\).
-
gsl_sf_conicalP_mhalf(lambda, x)
This routine computes the regular Spherical Conical Function
\(P^{-1/2}_{-1/2 + i \lambda}(x)\) for \(x > -1\).
-
gsl_sf_conicalP_0(lambda, x)
This routine computes the conical function
\(P^0_{-1/2 + i \lambda}(x)\) for \(x > -1\).
-
gsl_sf_conicalP_1(lambda, x)
This routine computes the conical function
\(P^1_{-1/2 + i \lambda}(x)\) for \(x > -1\).
-
gsl_sf_conicalP_sph_reg(l, lambda, x)
This routine computes the Regular Spherical Conical Function
\(P^{-1/2-l}_{-1/2 + i \lambda}(x)\) for \(x > -1, l \geq -1\).
-
gsl_sf_conicalP_cyl_reg(m, lambda, x)
This routine computes the Regular Cylindrical Conical Function
\(P^{-m}_{-1/2 + i \lambda}(x)\) for \(x > -1, m \geq -1\).
Radial Functions for Hyperbolic Space
The following spherical functions are specializations of Legendre
functions which give the regular eigenfunctions of the Laplacian
on a 3-dimensional hyperbolic space H3d. Of particular interest is
the flat limit, \(\lambda \to \infty, \eta \to 0, \lambda\eta\) fixed.
-
gsl_sf_legendre_H3d_0(lambda, eta)
This routine computes the zeroth radial eigenfunction of the
Laplacian on the 3-dimensional hyperbolic space,
\[L^{H3d}_0(\lambda,\eta) :=
\sin(\lambda\eta)/(\lambda\sinh(\eta)) \text{ for } \eta \geq 0.\]
In the flat limit this takes the form
\(L^{H3d}_0(\lambda,\eta) = j_0(\lambda\eta)\).
-
gsl_sf_legendre_H3d_1(lambda, eta)
This routine computes the first radial eigenfunction of the
Laplacian on the 3-dimensional hyperbolic space,
\[L^{H3d}_1(\lambda,\eta) := 1/\sqrt{\lambda^2 + 1} \sin(\lambda \eta)/
(\lambda \sinh(\eta)) (\coth(\eta) - \lambda \cot(\lambda\eta))
\text{ for } \eta \geq 0.\]
In the flat limit this takes the form
\(L^{H3d}_1(\lambda,\eta) = j_1(\lambda\eta)\).
-
gsl_sf_legendre_H3d(l, lambda, eta)
This routine computes the \(l\)-th radial eigenfunction of the
Laplacian on the 3-dimensional hyperbolic space \(\eta \geq 0, l \geq 0\).
In the flat limit this takes the form
\(L^{H3d}_l(\lambda,\eta) = j_l(\lambda\eta)\).