# 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.