Accelerating the pace of engineering and science

legendre

Associated Legendre functions

Syntax

P = legendre(n,X)
S = legendre(n,X,'sch')
N = legendre(n,X,'norm')

Description

P = legendre(n,X) computes the associated Legendre functions of degree n and order m = 0,1,...,n, evaluated for each element of X. Argument n must be a scalar integer, and X must contain real values in the domain −1 ≤ x ≤ 1.

If X is a vector, then P is an (n+1)-by-q matrix, where q = length(X). Each element P(m+1,i) corresponds to the associated Legendre function of degree n and order m evaluated at X(i).

In general, the returned array P has one more dimension than X, and each element P(m+1,i,j,k,...) contains the associated Legendre function of degree n and order m evaluated at X(i,j,k,...). Note that the first row of P is the Legendre polynomial evaluated at X, i.e., the case where m = 0.

S = legendre(n,X,'sch') computes the Schmidt Seminormalized Associated Legendre Functions.

N = legendre(n,X,'norm') computes the Fully Normalized Associated Legendre Functions.

Examples

Example 1

The statement legendre(2,0:0.1:0.2) returns the matrix

x = 0x = 0.1x = 0.2

m = 0

-0.5000-0.4850-0.4400

m = 1

0-0.2985-0.5879

m = 2

3.0000 2.9700 2.8800

Example 2

Given,

```X = rand(2,4,5);
n = 2;
P = legendre(n,X) ```

then

```size(P)
ans =
3     2     4     5```

and

```P(:,1,2,3)
ans =
-0.2475
-1.1225
2.4950```

is the same as

```legendre(n,X(1,2,3))
ans =
-0.2475
-1.1225
2.4950l```

expand all

Associated Legendre Functions

The Legendre functions are defined by

${P}_{n}^{m}\left(x\right)={\left(-1\right)}^{m}{\left(1-{x}^{2}\right)}^{m/2}\frac{{d}^{m}}{d{x}^{m}}{P}_{n}\left(x\right),$

where

${P}_{n}\left(x\right)$

is the Legendre polynomial of degree n:

${P}_{n}\left(x\right)=\frac{1}{{2}^{n}n!}\left[\frac{{d}^{n}}{d{x}^{n}}{\left({x}^{2}-1\right)}^{n}\right]$

Schmidt Seminormalized Associated Legendre Functions

The Schmidt seminormalized associated Legendre functions are related to the nonnormalized associated Legendre functions by

Fully Normalized Associated Legendre Functions

The fully normalized associated Legendre functions are normalized such that

${\int }_{-1}^{1}{\left({N}_{n}^{m}\left(x\right)\right)}^{2}dx=1$

and are related to the unnormalized associated Legendre functions by

${N}_{n}^{m}={\left(-1\right)}^{m}\sqrt{\frac{\left(n+\frac{1}{2}\right)\left(n-m\right)!}{\left(n+m\right)!}}{P}_{n}^{m}\left(x\right)$

Algorithms

legendre uses a three-term backward recursion relationship in m. This recursion is on a version of the Schmidt seminormalized associated Legendre functions ${Q}_{n}^{m}\left(x\right)$, which are complex spherical harmonics. These functions are related to the standard Abramowitz and Stegun [1] functions ${P}_{n}^{m}\left(x\right)$ by

${P}_{n}^{m}\left(x\right)=\sqrt{\frac{\left(n+m\right)!}{\left(n-m\right)!}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}{Q}_{n}^{m}\left(x\right)$

They are related to the Schmidt form given previously by

$\begin{array}{l}m=0:\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}{S}_{n}^{m}\left(x\right)={Q}_{n}^{0}\left(x\right)\\ m>0:\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}{S}_{n}^{m}\left(x\right)={\left(-1\right)}^{m}\sqrt{2}\text{\hspace{0.17em}}\text{\hspace{0.17em}}{Q}_{n}^{m}\left(x\right)\end{array}$

References

[1] Abramowitz, M. and I. A. Stegun, Handbook of Mathematical Functions, Dover Publications, 1965, Ch.8.

[2] Jacobs, J. A., Geomagnetism, Academic Press, 1987, Ch.4.