Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

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

      From cppreference.com
      <cpp‎ |numeric‎ |special functions
       
       
       
       
      Defined in header<cmath>
      (1)
      double      hermite(unsignedint n,double x);

      float       hermite(unsignedint n,float x);

      longdouble hermite(unsignedint n,longdouble x);
      (since C++17)
      (until C++23)
      /* floating-point-type */ hermite(unsignedint n,
                                         /* floating-point-type */ x);
      (since C++23)
      float       hermitef(unsignedint n,float x);
      (2)(since C++17)
      longdouble hermitel(unsignedint n,longdouble x);
      (3)(since C++17)
      Defined in header<cmath>
      template<class Integer>
      double      hermite(unsignedint n, Integer x);
      (A)(since C++17)
      1-3) Computes the (physicist's)Hermite polynomials of the degreen and argumentx. The library provides overloads ofstd::hermite for all cv-unqualified floating-point types as the type of the parameterx.(since C++23)
      A) Additional overloads are provided for all integer types, which are treated asdouble.

      Contents

      [edit]Parameters

      n - the degree of the polynomial
      x - the argument, a floating-point or integer value

      [edit]Return value

      If no errors occur, value of the order-n Hermite polynomial ofx, that is(-1)n
      ex2
      dn
      dxn
      e-x2
      , is returned.

      [edit]Error handling

      Errors may be reported as specified inmath_errhandling.

      • If the argument is NaN, NaN is returned and domain error is not reported.
      • Ifn is greater or equal than 128, the behavior is implementation-defined.

      [edit]Notes

      Implementations that do not support C++17, but supportISO 29124:2010, provide this function if__STDCPP_MATH_SPEC_FUNCS__ is defined by the implementation to a value at least 201003L and if the user defines__STDCPP_WANT_MATH_SPEC_FUNCS__ before including any standard library headers.

      Implementations that do not support ISO 29124:2010 but support TR 19768:2007 (TR1), provide this function in the headertr1/cmath and namespacestd::tr1.

      An implementation of this function is alsoavailable in boost.math.

      The Hermite polynomials are the polynomial solutions of the equationu,,
      -2xu,
      = -2nu
      .

      The first few are:

      Function Polynomial
          hermite(0, x)    1
      hermite(1, x)2x
      hermite(2, x)4x2
      - 2
      hermite(3, x)8x3
      - 12x
      hermite(4, x)     16x4
      - 48x2
      + 12
          

      The additional overloads are not required to be provided exactly as(A). They only need to be sufficient to ensure that for their argumentnum of integer type,std::hermite(int_num, num) has the same effect asstd::hermite(int_num,static_cast<double>(num)).

      [edit]Example

      Run this code
      #include <cmath>#include <iostream> double H3(double x){return8*std::pow(x,3)-12* x;} double H4(double x){return16*std::pow(x,4)-48* x* x+12;} int main(){// spot-checksstd::cout<< std::hermite(3,10)<<'='<< H3(10)<<'\n'<< std::hermite(4,10)<<'='<< H4(10)<<'\n';}

      Output:

      7880=7880155212=155212

      [edit]See also

      (C++17)(C++17)(C++17)
      Laguerre polynomials
      (function)[edit]
      (C++17)(C++17)(C++17)
      Legendre polynomials
      (function)[edit]

      [edit]External links

      Weisstein, Eric W. "Hermite Polynomial." From MathWorld — A Wolfram Web Resource.
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/numeric/special_functions/hermite&oldid=149539"

      [8]ページ先頭

      ©2009-2025 Movatter.jp