-
Notifications
You must be signed in to change notification settings - Fork 103
/
plegendrea_d1.1
81 lines (81 loc) · 3.21 KB
/
plegendrea_d1.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
.\" Automatically generated by Pandoc 2.17.1.1
.\"
.\" Define V font for inline verbatim, using C font in formats
.\" that render this, and otherwise B font.
.ie "\f[CB]x\f[]"x" \{\
. ftr V B
. ftr VI BI
. ftr VB B
. ftr VBI BI
.\}
.el \{\
. ftr V CR
. ftr VI CI
. ftr VB CB
. ftr VBI CBI
.\}
.TH "plegendrea_d1" "1" "2021-02-15" "Fortran 95" "SHTOOLS 4.10"
.hy
.SH PLegendreA_d1
.PP
Compute all the unnormalized associated Legendre functions and first
derivatives.
.SH Usage
.PP
call PLegendreA_d1 (\f[V]p\f[R], \f[V]dp\f[R], \f[V]lmax\f[R],
\f[V]z\f[R], \f[V]csphase\f[R], \f[V]exitstatus\f[R])
.SH Parameters
.TP
\f[V]p\f[R] : output, real(dp), dimension ((\f[V]lmax\f[R]+1)*(\f[V]lmax\f[R]+2)/2)
An array of unnormalized associated Legendre functions up to degree
\f[V]lmax\f[R].
The index corresponds to \f[V]l*(l+1)/2+m+1\f[R], which can be
calculated by a call to \f[V]PlmIndex\f[R].
.TP
\f[V]dp\f[R] : output, real(dp), dimension ((\f[V]lmax\f[R]+1)*(\f[V]lmax\f[R]+2)/2)
An array of the first derivatives of the unnormalized associated
Legendre functions up to degree \f[V]lmax\f[R].
The index corresponds to \f[V]l*(l+1)/2+m+1\f[R], which can be
calculated by a call to \f[V]PlmIndex\f[R].
.TP
\f[V]lmax\f[R] : input, integer(int32)
The maximum degree of the associated Legendre functions to be computed.
.TP
\f[V]z\f[R] : input, real(dp)
The argument of the associated Legendre functions.
.TP
\f[V]csphase\f[R] : input, optional, integer(int32), default = 1
If 1 (default), the Condon-Shortley phase will be excluded.
If -1, the Condon-Shortley phase of (-1)\[ha]m will be appended to the
associated Legendre functions.
.TP
\f[V]exitstatus\f[R] : 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.
.SH Description
.PP
\f[V]PLegendreA_d1\f[R] will calculate all of the unnormalized
associated Legendre functions and first derivatives up to degree
\f[V]lmax\f[R] for a given argument.
These are calculated using a standard three-term recursion formula and
hence will overflow for moderate values of \f[V]l\f[R] and \f[V]m\f[R].
The index of the array corresponding to a given degree \f[V]l\f[R] and
angular order \f[V]m\f[R] corresponds to \f[V]l*(l+1)/2+m+1\f[R], which
can be calculated by a call to \f[V]PlmIndex\f[R].
The integral of the associated Legendre functions over the interval [-1,
1] is \f[V]2*(l+m)!/(l-m)!/(2l+1)\f[R].
The default is to exclude the Condon-Shortley phase, but this can be
modified by setting the optional argument \f[V]csphase\f[R] to -1.
Note that the derivative of the Legendre polynomials is calculated with
respect to its arguement \f[V]z\f[R], and not latitude or colatitude.
If \f[V]z=cos(theta)\f[R], where \f[V]theta\f[R] is the colatitude, then
it is only necessary to multiply \f[V]dp\f[R] by \f[V]-sin(theta)\f[R]
to obtain the derivative with respect to \f[V]theta\f[R].
.SH See also
.PP
plbar, plbar_d1, plmbar, plmbar_d1, plon, plon_d1, plmon,
\[ga]plmon_d1](plmon_d1.html), plschmidt, plschmidt_d1, plmschmidt,
plmschmidt_d1, plegendre, plegendre_d1, plegendrea, plmindex