3.3 Legendre Functions of Integer Type
43
For 0 ≤ m ≤ l, the associate Legendre functions satisfy the following
orthogonality condition:
+1
−1
P
m
k (x) P
m
l (x)dx =
2(l + m)!
(2l + 1)(l − m)!
N
−1
lm
δ k,l ,
(3.13)
which allows, similar to Eq. (3.7), to define normalized Legendre functions
P m
l (x) → N lm P m
l (x) and to compute the corresponding zeros. The nodes
of the associate Legendre function P m
l (x) are evaluated with the function Nu
= JacobiPlm(l,m). The computation is based on the eigenvalues of the
corresponding Jacobi matrix, Eq. (15.6). For m = 0, the associate Legendre function
carries an additional factor (1 − x 2 ) m/2 , and thus the zeros at position x = (−1, +1)
are added.
The first few associate Legendre functions are
P
0
0 (x) = 1
(3.14)
P
−1
1 (x) = −
1
2
P
1
1 (x) , P
0
1 (x) = x , P
1
1 (x) = −
1 − x 2
(3.15)
P
−2
2 (x) =
1
24
P
2
2 (x) , P
−1
2 (x) = −
1
6
P
1
2 , P
0
2 (x) =
1
2
(3x
2
− 1)
P
1
2 (x) = −3x
1 − x 2 , P
2
2 (x) = 3(1 − x
2 ).
(3.16)
The associate Legendre functions P m
l (x) can be built by a prefactor (−1) m (1 −
x 2 ) m/2 multiplied with a polynomial. These polynomials will be uncovered by the
class legendrefun, [obj, P] = legendrefun(l,m). The input parameters “l,m” are the degree and order of the associate Legendre function P m
l . The
class object “obj” comes with the properties, “polycoef,” a table of the polynomial
coefficients for all allowed degrees l <= l, “polylm,” the input “l, m,” and “polyint”
the fixed integration interval for normalization; and “info” comes with a general
information. The output “P” is the table of the polynomial coefficients. The class
legendrefun comes with the additional methods
[res, l, info] = Lvaluex(obj,varargin),
[res, l, info] = Lvaluea(obj,varargin), and
plot(obj,varargin).
“obj” is the class object. Lvaluex: The optional additional inputs are the
following property–value pair arguments: “x” with value x at which the Legendre
function shall be evaluated, and default is linspace(-1,1); “l” degree (angular
momentum) with values between |m| and lmax (given by the legendrefun object)
43
For 0 ≤ m ≤ l, the associate Legendre functions satisfy the following
orthogonality condition:
+1
−1
P
m
k (x) P
m
l (x)dx =
2(l + m)!
(2l + 1)(l − m)!
N
−1
lm
δ k,l ,
(3.13)
which allows, similar to Eq. (3.7), to define normalized Legendre functions
P m
l (x) → N lm P m
l (x) and to compute the corresponding zeros. The nodes
of the associate Legendre function P m
l (x) are evaluated with the function Nu
= JacobiPlm(l,m). The computation is based on the eigenvalues of the
corresponding Jacobi matrix, Eq. (15.6). For m = 0, the associate Legendre function
carries an additional factor (1 − x 2 ) m/2 , and thus the zeros at position x = (−1, +1)
are added.
The first few associate Legendre functions are
P
0
0 (x) = 1
(3.14)
P
−1
1 (x) = −
1
2
P
1
1 (x) , P
0
1 (x) = x , P
1
1 (x) = −
1 − x 2
(3.15)
P
−2
2 (x) =
1
24
P
2
2 (x) , P
−1
2 (x) = −
1
6
P
1
2 , P
0
2 (x) =
1
2
(3x
2
− 1)
P
1
2 (x) = −3x
1 − x 2 , P
2
2 (x) = 3(1 − x
2 ).
(3.16)
The associate Legendre functions P m
l (x) can be built by a prefactor (−1) m (1 −
x 2 ) m/2 multiplied with a polynomial. These polynomials will be uncovered by the
class legendrefun, [obj, P] = legendrefun(l,m). The input parameters “l,m” are the degree and order of the associate Legendre function P m
l . The
class object “obj” comes with the properties, “polycoef,” a table of the polynomial
coefficients for all allowed degrees l <= l, “polylm,” the input “l, m,” and “polyint”
the fixed integration interval for normalization; and “info” comes with a general
information. The output “P” is the table of the polynomial coefficients. The class
legendrefun comes with the additional methods
[res, l, info] = Lvaluex(obj,varargin),
[res, l, info] = Lvaluea(obj,varargin), and
plot(obj,varargin).
“obj” is the class object. Lvaluex: The optional additional inputs are the
following property–value pair arguments: “x” with value x at which the Legendre
function shall be evaluated, and default is linspace(-1,1); “l” degree (angular
momentum) with values between |m| and lmax (given by the legendrefun object)
