Main Content

# legendre

## 语法

``P = legendre(n,X)``
``P = legendre(n,X,normalization)``

## 说明

``P = legendre(n,X)` 为 `X` 中的每个元素计算阶数为 `n`、级数为 `m = 0, 1, ..., n` 时的连带 Legendre 函数。`

``P = legendre(n,X,normalization)` 计算连带 Legendre 函数的归一化版本。`normalization` 可以是 `'unnorm'`（默认值）、`'sch'` 或 `'norm'`。`

## 示例

```deg = 2; x = 0:0.1:0.2; P = legendre(deg,x)```
```P = 3×3 -0.5000 -0.4850 -0.4400 0 -0.2985 -0.5879 3.0000 2.9700 2.8800 ```

• 每行包含不同 m（连带 Legendre 函数的阶）值的函数值

• 每列包含不同 x 值的函数值

`${P}_{2}^{m}\left(x\right)={\left(-1\right)}^{m}{\left(1-{x}^{2}\right)}^{m/2}\frac{{d}^{m}}{d{x}^{m}}\left[\frac{1}{2}\left(3{x}^{2}-1\right)\right].$`

`${P}_{2}^{0}\left(0\right)=\left[\frac{1}{2}\left(3{x}^{2}-1\right)\right]{|}_{x=0}=-\frac{1}{2}.$`

```x = 0:0.2:1; n = 1; P_unnorm = legendre(n,x)```
```P_unnorm = 2×6 0 0.2000 0.4000 0.6000 0.8000 1.0000 -1.0000 -0.9798 -0.9165 -0.8000 -0.6000 0 ```

`${\left(-1\right)}^{m}\sqrt{\frac{2\left(n-m\right)!}{\left(n+m\right)!}}.$`

`P_sch = legendre(n,x,'sch')`
```P_sch = 2×6 0 0.2000 0.4000 0.6000 0.8000 1.0000 1.0000 0.9798 0.9165 0.8000 0.6000 0 ```
`C1 = (-1) * sqrt(2*factorial(0)/factorial(2))`
```C1 = -1 ```

`${\left(-1\right)}^{m}\sqrt{\frac{\left(n+\frac{1}{2}\right)\left(n-m\right)!}{\left(n+m\right)!}}.$`

`P_norm = legendre(n,x,'norm')`
```P_norm = 2×6 0 0.2449 0.4899 0.7348 0.9798 1.2247 0.8660 0.8485 0.7937 0.6928 0.5196 0 ```
`Cm0 = sqrt((3/2))`
```Cm0 = 1.2247 ```
`Cm1 = (-1) * sqrt((3/2)/2)`
```Cm1 = -0.8660 ```

`${Y}_{l}^{m}\left(\theta ,\varphi \right)=\sqrt{\frac{\left(2l+1\right)\left(l-m\right)!}{4\pi \left(l+m\right)!}}{P}_{l}^{m}\left(\mathrm{cos}\theta \right){e}^{im\varphi },\phantom{\rule{2em}{0ex}}-l\le m\le l.$`

```dx = pi/60; col = 0:dx:pi; az = 0:dx:2*pi; [phi,theta] = meshgrid(az,col);```

```l = 3; Plm = legendre(l,cos(theta));```

```m = 2; if l ~= 0 Plm = reshape(Plm(m+1,:,:),size(phi)); end```

```a = (2*l+1)*factorial(l-m); b = 4*pi*factorial(l+m); C = sqrt(a/b); Ylm = C .*Plm .*exp(1i*m*phi);```

```[Xm,Ym,Zm] = sph2cart(phi, pi/2-theta, abs(real(Ylm))); surf(Xm,Ym,Zm) title('\$Y_3^2\$ spherical harmonic','interpreter','latex')```

## 输入参数

Legendre 函数的阶，指定为正整数。对于指定的阶，`legendre` 计算 m 表示的所有级数（从 m = 0m = n）的 ${P}_{n}^{m}\left(x\right)$

`'unnorm'`连带 Legendre 函数
`'sch'`Schmidt 半归一化连带 Legendre 函数
`'norm'`完全归一化的连带 Legendre 函数

## 输出参数

`P` 的大小取决于 `X` 的大小：

• 如果 `X` 是向量，则 `P` 是大小为 `(n+1)`×`length(X)` 的矩阵。`P(m+1,i)` 条目是在 `X(i)` 计算的阶数为 `n`、级数为 `m` 的连带 Legendre 函数。

• 通常，`P``X` 多一个维度，每个元素 `P(m+1,i,j,k,...)` 都包含在 `X(i,j,k,...)` 计算的阶数为 `n` 和阶数为 `m` 的连带 Legendre 函数。

## 详细信息

### 连带 Legendre 函数

`$\left(1-{x}^{2}\right)\frac{{d}^{2}y}{d{x}^{2}}-2x\frac{dy}{dx}+\left[n\left(n+1\right)-\frac{{m}^{2}}{1-{x}^{2}}\right]y=0\text{\hspace{0.17em}}.$`

n 是整数阶，m 是连带 Legendre 函数的整数级数，满足 $0\le m\le n$

`${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)\text{\hspace{0.17em}}.$`

`${P}_{n}\left(x\right)=\frac{1}{{2}^{n}n!}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\frac{{d}^{n}}{d{x}^{n}}{\left({x}^{2}-1\right)}^{n}\text{\hspace{0.17em}}.$`

`n` 的值${P}_{n}\left(x\right)$
`0`${P}_{0}\left(x\right)=1$
`1`${P}_{1}\left(x\right)=x$
`2`${P}_{2}\left(x\right)=\frac{1}{2}\left(3{x}^{2}-1\right)$

### Schmidt 半归一化连带 Legendre 函数

Schmidt 半归一化连带 Legendre 函数与非归一化连带 Legendre 函数 ${P}_{n}^{m}\left(x\right)$ 的关系如下：

### 完全归一化的连带 Legendre 函数

`${\int }_{-1}^{1}{\left[{N}_{n}^{m}\left(x\right)\right]}^{\text{\hspace{0.17em}}2}dx=1\text{\hspace{0.17em}}.$`

`${N}_{n}^{m}\left(x\right)={\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)\text{\hspace{0.17em}}.$`

## 算法

`legendre``m` 中使用三项后向递归关系。此递归基于 Schmidt 半归一化连带 Legendre 函数 ${Q}_{n}^{m}\left(x\right)$，这些函数是复球谐函数。这些函数与标准 Abramowitz 和 Stegun [1] 函数 ${P}_{n}^{m}\left(x\right)$ 的关系如下：

`${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)\text{\hspace{0.17em}}.$`

`$\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)\text{\hspace{0.17em}}.\end{array}$`

## 参考

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