Compute all the Schmidt semi-normalized associated Legendre functions.

Usage

p = PlmSchmidt (lmax, z, [csphase, cnorm])

Returns

p : float, dimension ((lmax+1)*(lmax+2)/2)
An array of Schmidt-normalized associated Legendre functions up to degree lmax. The index corresponds to l*(l+1)/2+m.

Parameters

lmax : integer
The maximum degree of the associated Legendre functions to be computed.
z : float
The argument of the associated Legendre functions.
csphase : optional, integer, default = 1
If 1 (default), the Condon-Shortley phase will be excluded. If -1, the Condon-Shortley phase of (-1)^m will be appended to the associated Legendre functions.
cnorm : optional, integer, default = 0
If 1, the complex normalization of the associated Legendre functions will be used. The default is to use the real normalization.

Description

PlmSchmidt will calculate all of the Schmidt semi-normalized associated Legendre functions up to degree lmax for a given argument. These are calculated using a standard three-term recursion formula, and in order to prevent overflows, the scaling approach of Holmes and Featherstone (2002) is utilized. These functions are accurate to about degree 2800. The index of the array corresponding to a given degree l and angular order m corresponds to l*(l+1)/2+m.

The integral of the squared Legendre functions over the interval [-1, 1] is 2*(2-delta(0,m))/(2l+1), where delta is the Kronecker delta function. If the optional parameter cnorm is set equal to 1, the complex normalization will be used where the integral of the squared Legendre functions over the interval [-1, 1] is 2/(2L+1). The default is to exclude the Condon-Shortley phase, but this can be modified by setting the optional argument csphase to -1.

References

Holmes, S. A., and W. E. Featherstone, A unified approach to the Clenshaw summation and the recursive computation of very high degree and order normalised associated Legendre functions, J. Geodesy, 76, 279- 299, 2002.

See also

plbar, plbar_d1, plmbar, plmbar_d1, plon, plon_d1, plmon, plmon_d1, plschmidt, plschmidt_d1, plmschmidt_d1, plegendre, plegendre_d1, plegendrea, plegendrea_d1

Tags: python
Edit me