Compute all the unnormalized associated Legendre functions.
Usage
call PLegendreA (p, lmax, z, csphase, exitstatus)
Parameters
p: output, real(dp), dimension ((lmax+1)*(lmax+2)/2)- An array of unnormalized associated Legendre functions up to degree
lmax. The index corresponds tol*(l+1)/2+m+1, which can be calculated by a call toPlmIndex. lmax: input, integer(int32)- The maximum degree of the associated Legendre functions to be computed.
z: input, real(dp)- The argument of the associated Legendre functions.
csphase: input, optional, integer(int32), 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.
exitstatus: output, optional, integer(int32)- If present, instead of executing a STOP when an error is encountered, the variable exitstatus will be returned describing the error. 0 = No errors; 1 = Improper dimensions of input array; 2 = Improper bounds for input variable; 3 = Error allocating memory; 4 = File IO error.
Description
PLegendreA will calculate all of the unnormalized associated Legendre functions up to degree lmax for a given argument. These are calculated using a standard three-term recursion formula and hence will overflow for moderate values of l and m. The index of the array corresponding to a given degree l and angular order m corresponds to l*(l+1)/2+m+1 and can be computed by a call to PlmIndex. The integral of the associated Legendre functions over the interval [-1, 1] is 2*(l+m)!/(l-m)!/(2l+1). The default is to exclude the Condon-Shortley phase, but this can be modified by setting the optional argument csphase to -1.
See also
plbar, plbar_d1, plmbar, plmbar_d1, plon, plon_d1, plmon, plmon_d1, plschmidt, plschmidt_d1, plmschmidt, plmschmidt_d1, plegendre, plegendre_d1, plegendrea_d1, plmindex
Edit me