Namespaces
Variants

std:: hermite, std:: hermitef, std:: hermitel

From cppreference.net
Défini dans l'en-tête <cmath>
(1)
double hermite ( unsigned int n, double x ) ;

float hermite ( unsigned int n, float x ) ;

long double hermite ( unsigned int n, long double x ) ;
(depuis C++17)
(jusqu'à C++23)
/* floating-point-type */ hermite ( unsigned int n,
/* floating-point-type */ x ) ;
(depuis C++23)
float hermitef ( unsigned int n, float x ) ;
(2) (depuis C++17)
long double hermitel ( unsigned int n, long double x ) ;
(3) (depuis C++17)
Défini dans l'en-tête <cmath>
template < class Integer >
double hermite ( unsigned int n, Integer x ) ;
(A) (depuis C++17)
1-3) Calcule les polynômes d'Hermite (du physicien) de degré n et d'argument x . La bibliothèque fournit des surcharges de std::hermite pour tous les types à virgule flottante non qualifiés cv comme type du paramètre x . (depuis C++23)
A) Des surcharges supplémentaires sont fournies pour tous les types entiers, qui sont traités comme double .

Table des matières

Paramètres

n - le degré du polynôme
x - l'argument, une valeur à virgule flottante ou entière

Valeur de retour

If no errors occur, value of the order- n Hermite polynomial of x , that is (-1) n
e x 2
d n
dx n
e -x 2
, is returned.

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 n est supérieur ou égal à 128, le comportement est défini par l'implémentation.

Notes

Les implémentations qui ne prennent pas en charge C++17, mais qui prennent en charge ISO 29124:2010 , fournissent cette fonction 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.

Les implémentations qui ne prennent pas en charge ISO 29124:2010 mais supportent TR 19768:2007 (TR1), 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 polynômes d'Hermite sont les solutions polynomiales de l'équation u ,,
-2xu ,
= -2nu
.

Les premiers sont :

Fonction Polynôme
hermite ( 0 , x ) 1
hermite ( 1 , x ) 2x
hermite ( 2 , x ) 4x 2
- 2
hermite ( 3 , x ) 8x 3
- 12x
hermite ( 4 , x ) 16x 4
- 48x 2
+ 12

Les surcharges supplémentaires ne sont pas tenues d'être fournies exactement comme (A) . Elles doivent seulement être suffisantes pour garantir que pour leur argument num de type entier, std :: hermite ( int_num, num ) ait le même effet que std :: hermite ( int_num, static_cast < double > ( num ) ) .

Exemple

#include <cmath>
#include <iostream>
double H3(double x)
{
    return 8 * std::pow(x, 3) - 12 * x;
}
double H4(double x)
{
    return 16 * std::pow(x, 4) - 48 * x * x + 12;
}
int main()
{
    // vérifications ponctuelles
    std::cout << std::hermite(3, 10) << '=' << H3(10) << '\n'
              << std::hermite(4, 10) << '=' << H4(10) << '\n';
}

Sortie :

7880=7880
155212=155212

Voir aussi

(C++17) (C++17) (C++17)
Polynômes de Laguerre
(fonction)
(C++17) (C++17) (C++17)
Polynômes de Legendre
(fonction)

Liens externes

Weisstein, Eric W. "Hermite Polynomial." De MathWorld — Une ressource Web Wolfram.