E.V.E  0.1-beta

◆ hermite

eve::hermite = {}
inlineconstexpr

Callable object computing the hermite operation.

Required header: #include <eve/function/hermite.hpp>

Members Functions

Member Effect
operator() the hermite operation

auto operator()( integral_real_value auto n, floating_value auto x) const noexcept;
Definition: value.hpp:83
Definition: value.hpp:113

Parameters

n: integral real valuex or integral constant.

x: floating valuex.

Return value

Returns elementwise the value of the 'physicists' hermite polynomial of order n at x:

The result type is of the common compatible type of the parameters.


Supported decorators

  • eve::diff, eve::diff_1st, eve::diff_nth

    Required header: #include <eve/function/diff/hermite.hpp>

    The expression diff(hermite)(n,x) computes the derivative of the function relative to x.

  • eve::successor

    The expression successor(hermite)(n, x, Hn, Hnm1) implements the three terms recurrence relation for the Hermite polynomials, \(\displaystyle \mbox{H}_{n+1} = (2*x)\mbox{H}_{n}-2*n\mbox{H}_{n-1}\)

    These object functions can be used to create a sequence of values evaluated at the same x, and for rising n.

Example

See it live on Compiler Explorer

#include <eve/function/hermite.hpp>
#include <eve/wide.hpp>
#include <eve/constant/inf.hpp>
#include <eve/constant/minf.hpp>
#include <eve/constant/nan.hpp>
#include <iostream>
int main()
{
wide_ft xd = {0.5, -1.5, 0.1, -1.0, 19.0, 25.0, 21.5, 10000.0};
wide_it n = {0, 1, 2, 3, 4, 5, 6, 7};
wide_ft x(2.0);
std::cout << "---- simd" << '\n'
<< "<- xd = " << xd << '\n'
<< "<- n = " << n << '\n'
<< "<- x = " << x << '\n'
<< "-> hermite(n, xd) = " << eve::hermite(n, xd) << '\n'
<< "-> hermite(3, xd) = " << eve::hermite(3, xd) << '\n'
<< "-> hermite(n, 2.0) = " << eve::hermite(n, 2.0) << '\n'
<< "-> hermite(n, x) = " << eve::hermite(n, x) << '\n';
double xs = 3.0;
std::cout << "---- scalar" << '\n'
<< "<- xs = " << xs << '\n'
<< "-> hermite(4, xs) = " << eve::hermite(4, xs) << '\n';
return 0;
}
constexpr callable_hermite_ hermite
Callable object computing the hermite operation.
Definition: hermite.hpp:70
Wrapper for SIMD registers.
Definition: wide.hpp:65