std::hermite in C++


std::hermite is based on the hermite polynomial function given by:

After solving the Hermite’s Polynomial, the results come out to be like the following table:

Value of n Hermite(n,x)
0 1
1 2x
2 4x2-2
3 8x3-12x
4 16x4-48x2+12

Examples:

Input: n = 2 x = 7
Output: 194
Formula for n = 2,
4x7x7 – 2 = 196 – 2 = 194

Input: n = 4 x = 12
Output: 324876
Formula for n = 4,
16x12x12x12x12 – 48x12x12 + 12 = 324876

Syntax:

std::hermite( unsigned int n, data_type x )

Parameters: The function accepts two mandatory parameters which are described below:

  1. n : Degree of Polynomial
  2. x : Value of x to be put in the function. The data_tpye can be float, double or long double.

Return value: This function returns the value which is the answer to the hermite’s polynomial.

Note: The std::hermite() function runs on GCC 7.1 (C++ 17) version.

Below programs illustrate the std::hermite() function:

Program 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP program to demonstrate the 
// hermite() function
#define __STDCPP_WANT_MATH_SPEC_FUNCS__ 1
#include<bits/stdc++.h>
int main()
{
    // spot-checks
    std::cout << std::hermite(3, 10) << "\n";
    std::cout << std::hermite(4, 10);
}

chevron_right


Output:

7880
15521

Error handling

  1. If the argument is NaN, NaN is returned and domain error is not reported.
  2. If n is greater or equal to 128, the behavior is implementation-defined.

Program 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP program to demonstrate the 
// hermite() function when n>128 
#define __STDCPP_WANT_MATH_SPEC_FUNCS__ 1
#include<bits/stdc++.h>
int main()
{
    std::cout << std::hermite(129, 10) << "\n";
}

chevron_right


Output:

-2.26912e+149


My Personal Notes arrow_drop_up

Developer in day, Designer at night GSoC 2019 with Python Software Foundation (EOS Design system)

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.