-
Notifications
You must be signed in to change notification settings - Fork 106
/
plmschmidt_d1.html
171 lines (126 loc) · 6.77 KB
/
plmschmidt_d1.html
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>SHTOOLS - Legendre functions</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../CSS/sh.css">
<link rel="icon" type="image/vnd.microsoft.icon" href="../Figures/favicon.ico">
</head>
<body>
<div class="main">
<p class="centeredimage"><img src="../Figures/logo.jpg" width=894 height=135 alt="SHTOOLS --- Tools for working with spherical harmonics"></p>
<table class="menu">
<tbody>
<tr>
<td><a href="http://shtools.ipgp.fr/">HOME</a></td>
<td><a href="http://sourceforge.net/projects/shtools/">DOWNLOAD</a></td>
<td class="selected"><a href="../documentation.html">DOCUMENTATION</a></td>
<td><a href="https://sourceforge.net/p/shtools/discussion/">FORUM</a></td>
<td><a href="../faq.html">FAQ</a> </td>
</tr>
</tbody>
</table>
<p class="dir">
> <a href="../../index.html" class="dir">Home</a> > <a href="../documentation.html" class="dir">Documentation</a> > <a href="../legendre.html" class="dir">Legendre Functions</a></p>
<PRE>
<!-- Manpage converted by man2html 3.0.1 -->
<B>PLMSCHMIDT_D1(1)</B> SHTOOLS 2.10 <B>PLMSCHMIDT_D1(1)</B>
</PRE>
<H2 class="man">PlmSchmidt_d1</H2 class="man"><PRE>
PlmSchmidt_d1 - Compute all the Schmidt semi-normalized associated
Legendre functions and first derivatives.
</PRE>
<H2 class="man">SYNOPSIS</H2 class="man"><PRE>
SUBROUTINE PlmSchmidt_d1 ( P, DP, LMAX, Z, CSPHASE, CNORM )
REAL*8 P((LMAX+1)*(LMAX+2)/2),
DP((LMAX+1)*(LMAX+2)/2), Z
INTEGER LMAX
INTEGER, OPTIONAL CSPHASE, CNORM
</PRE>
<H2 class="man">DESCRIPTION</H2 class="man"><PRE>
<B>PlmSchmidt</B><B>_</B><B>d1</B> will calculate all of the Schmidt-normalized associated
Legendre functions and first derivatives 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 can be computed by a call to
<B>PlmIndex</B>.
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. Note that the derivative
of the Legendre functions is calculated with respect to its arguement
Z, and not latitude or colatitude. If Z=cos(theta), where theta is the
colatitude, then it is only necessary to multiply DP by -sin(theta) to
obtain the derivative with respect to theta.
</PRE>
<H2 class="man">ARGUMENTS</H2 class="man"><PRE>
P (output) REAL*8, 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 +
1, which can be calculated by a call to <B>PlmIndex</B>.
DP (output) REAL*8, DIMENSION ((LMAX+1)*(LMAX+2)/2)
An array of the first derivatives of the Schmidt-normalized
associated Legendre functions up to degree LMAX. The index
corresponds to L*(L+1)/2 + M + 1, which can be calculated by
a call to <B>PlmIndex</B>.
LMAX (input) INTEGER
The maximum degree of the associated Legendre functions to be
computed. If LMAX is -1, allocated memory will be deallocated
(see notes below).
Z (input) REAL*8
The argument of the associated Legendre functions.
CSPHASE (input) INTEGER, OPTIONAL
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 (input) INTEGER, OPTIONAL
If 1, the complex normalization of the associated Legendre
functions will be used. The default is to use the real
normalization.
</PRE>
<H2 class="man">NOTES</H2 class="man"><PRE>
This routine saves the three-term recursion factors and square roots of
the integers the first time being called. If subsequent calls possess
the same value of LMAX, these will not be recomputed. If you wish to
deallocate this memory, which is an array of length (LMAX+1)*(LMAX+2),
recall this routine with LMAX=-1.
</PRE>
<H2 class="man">REFERENCES</H2 class="man"><PRE>
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, <B>J.</B> <B>Geodesy</B>, 76,
279- 299, 2002.
</PRE>
<H2 class="man">SEE ALSO</H2 class="man"><PRE>
<B>plbar(1)</B>, <B>plbar_d1(1)</B>, <B>plmbar(1)</B>, <B>plmbar_d1(1)</B>, <B>plon(1)</B>, <B>plon_d1(1)</B>,
<B>plmon(1)</B>, <B>plmon_d1(1)</B>, <B>plschmidt(1)</B>, <B>plmschmidt(1)</B>, <B>plmschmidt_d1(1)</B>,
<B>plegendre(1)</B>, <B>plegendre_d1(1)</B>, <B>plegendrea(1)</B>, <B>plegendrea_d1(1)</B>,
<B>plmindex(1)</B>
<http://shtools.ipgp.fr/>
</PRE>
<H2 class="man">COPYRIGHT AND LICENSE</H2 class="man"><PRE>
Copyright 2012 by Mark Wieczorek <wieczor@ipgp.fr>.
This is free software; you can distribute and modify it under the terms
of the revised BSD license.
SHTOOLS 2.10 2012-03-08 <B>PLMSCHMIDT_D1(1)</B>
</PRE>
<p class="dir">
> <a href="../../index.html" class="dir">Home</a> > <a href="../documentation.html" class="dir">Documentation</a> > <a href="../legendre.html" class="dir">Legendre Functions</a></p>
<table class="footer2" summary = "Mark Wieczorek">
<tbody>
<tr>
<td class="c1"><a href="http://www.ipgp.fr/">Institut de Physique du Globe de Paris</a></td>
<td class="c2"><a href="http://www.sorbonne-paris-cite.fr/index.php/en">University of Sorbonne Paris Cité</a></td>
<td class="c3">© 2014 <a href="http://www.ipgp.fr/~wieczor">Mark Wieczorek</a></td>
</tr>
</tbody>
</table>
</div>
</body>
</html>