std:: assoc_legendre, std:: assoc_legendref, std:: assoc_legendrel
|
double
assoc_legendre
(
unsigned
int
n,
unsigned
int
m,
double
x
)
;
double
assoc_legendre
(
unsigned
int
n,
unsigned
int
m,
float
x
)
;
|
(1) | |
|
double
assoc_legendre
(
unsigned
int
n,
unsigned
int
m, IntegralType x
)
;
|
(2) | |
Comme toutes les fonctions spéciales,
assoc_legendre
n'est garantie d'être disponible dans
<cmath>
que si
__STDCPP_MATH_SPEC_FUNCS__
est défini par l'implémentation à une valeur d'au moins 201003L et si l'utilisateur définit
__STDCPP_WANT_MATH_SPEC_FUNCS__
avant d'inclure tout en-tête de la bibliothèque standard.
Table des matières |
Paramètres
| n | - | le degré du polynôme, une valeur de type entier non signé |
| m | - | l'ordre du polynôme, une valeur de type entier non signé |
| x | - | l'argument, une valeur de type à virgule flottante ou entier |
Valeur de retour
If no errors occur, value of the associated Legendre polynomial P mn of x , that is (1 - x 2
) m/2
|
d
m
|
|
dx
m
|
Gestion des erreurs
Les erreurs peuvent être signalées comme spécifié dans math_errhandling .
- Si l'argument est NaN, NaN est retourné et aucune erreur de domaine n'est signalée.
- Si |x| > 1 , une erreur de domaine peut survenir.
-
Si
nest supérieur ou égal à 128, le comportement est défini par l'implémentation.
Notes
Les implémentations qui ne prennent pas en charge TR 29124 mais prennent en charge TR 19768 fournissent cette fonction dans l'en-tête
tr1/cmath
et l'espace de noms
std::tr1
.
Une implémentation de cette fonction est également disponible dans boost.math .
Les premiers polynômes de Legendre associés sont :
- assoc_legendre(0, 0, x) = 1.
- assoc_legendre(1, 0, x) = x .
-
assoc_legendre(1, 1, x) =
-(1 - x
2
) 1/2
. -
assoc_legendre(2, 0, x) =
(3x 21 2
- 1) . -
assoc_legendre(2, 1, x) =
-3x(1 - x
2
) 1/2
. -
assoc_legendre(2, 2, x) =
3(1 - x
2
) .
Exemple
(fonctionne comme indiqué avec gcc 6.0)
#define __STDCPP_WANT_MATH_SPEC_FUNCS__ 1 #include <cmath> #include <iostream> double P20(double x) { return 0.5 * (3 * x * x - 1); } double P21(double x) { return -3.0 * x * std::sqrt(1 - x * x); } double P22(double x) { return 3 * (1 - x * x); } int main() { // vérifications ponctuelles std::cout << std::assoc_legendre(2, 0, 0.5) << '=' << P20(0.5) << '\n' << std::assoc_legendre(2, 1, 0.5) << '=' << P21(0.5) << '\n' << std::assoc_legendre(2, 2, 0.5) << '=' << P22(0.5) << '\n'; }
Sortie :
-0.125=-0.125 -1.29904=-1.29904 2.25=2.25
Voir aussi
|
Polynômes de Legendre
(fonction) |
Liens externes
Weisstein, Eric W. "Polynôme de Legendre Associé." De MathWorld--Une ressource Web Wolfram.