Legendre functions and associated Legendre functions of the first and second kinds
LegendreP(v, u, x)
LegendreQ(v, u, x)
algebraic expression (degree)
algebraic expression (order)
algebraic expression (argument)
LegendreP(v, x) and LegendreP(v, u, x) are the Legendre and associated Legendre functions of the first kind. LegendreQ(v, x) and LegendreQ(v, u, x) are the Legendre and associated Legendre functions of the second kind. They satisfy the differential equation:
The points 1, -1, and ∞ are singularities of the equation (except in special cases) and ordinary branch points of the functions.
In standard references, the branch cuts are taken to be −∞,−1 and −1,1, and the values of the functions on the branch cut −1,1 are obtained by an averaging process (in order to obtain functions which are real valued on this interval).
Rather than take this approach, Maple defines the default Legendre functions to be continuous from above onto the cuts, −∞,−1 and −1,1. However, alternative definitions of the Legendre functions are also available, which place the branch cuts as −∞,−1 and 1,∞; these functions are real valued on the interval −1,1. The selection between the two definitions for the Legendre functions is accomplished via assignment to the environment variable _EnvLegendreCut. If this environment variable is assigned the value −1..1, Maple provides the default behavior, which places a branch cut on the real line coincident with the interval −1,1. If this environment variable is assigned the value 1..∞, Maple places branch cuts on the real line coincident with the intervals −∞,−1 and 1,∞.
If _EnvLegendreCut is either not assigned or has the value −1..1, the LegendreP and LegendreQ functions have the following hypergeometric representation:
LegendreP(a,b,z) = convert( LegendreP(a,b,z), hypergeom);
LegendreQ(a,b,z) = convert( LegendreQ(a,b,z), hypergeom);
The formula above for LegendreP is not valid when the second parameter, b, is a positive integer. In that case, the following formula is used:
LegendreP(a,b,z) = (z+1)^(b/2)*(z-1)^(b/2)*diff(LegendreP(a,z),[z$b]);
For LegendreQ, the hypergeometric representation shown is not valid when the first parameter a+32 is a non-positive integer; in that case the following formula is applied recursively
LegendreQ(a,b,Z) = ((2*a+3)*Z*LegendreQ(a+1,b,Z) + (b-a-2)*LegendreQ(a+2,b,Z))/(a+1+b);
Regardless of the value of b, in the hypergeometric representations above for LegendreP and LegendreQ, when _EnvLegendreCut has the value 1..∞ the formulas used are obtained from those displayed by replacing the factor z−1b2 by 1−zb2.
The toroidal functions can be obtained by leaving _EnvLegendreCut unassigned (or assigning it the value −1..1) and composing with cosh⁡x: LegendreP(v, u, cosh(x)), etcetera.
Similarly, the spherical harmonic functions can be obtained by setting _EnvLegendreCut≔1..∞ and composing with cos⁡x: LegendreP(v, u, cos(x)), etcetera.
Commands such as evalf and simplify have remember tables that do not take into consideration the setting of _EnvLegendreCut. After changing the value of _EnvLegendreCut, remember tables can be cleared by executing either the restart command or the forget command (as in forget(evalf) or forget(simplify)).
The values returned by these functions when the argument is either 1 or -1 are the values that would be obtained by considering the order and degree parameters fixed and taking the appropriate limit in the argument.
_EnvLegendreCut ≔ 1..∞:
_EnvLegendreCut ≔ −1..1
_EnvLegendreCut ≔ 1..∞
Download Help Document