std::laguer...d::laguerrel(3)
π std::laguerre, std::laguerref, std::laguerrel π
okay bestie, welcome to the C++ Standard Library manual page std::laguer...d::laguerrel(3) β yes, the title has that little ... moment and we are simply living with it. this page is all about the Laguerre polynomial girlies. π
πΈ NAME πΈ
std::laguerre,std::laguerref,std::laguerrel β std::laguerre,std::laguerref,std::laguerrel
β¨ Synopsis β¨
double laguerre( unsigned int n, double x );
double laguerre( unsigned int n, float x );
double laguerre( unsigned int n, long double x ); (1)
float laguerref( unsigned int n, float x );
long double laguerrel( unsigned int n, long double x );
double laguerre( unsigned int n, IntegralType x ); (2)
- Computes the non-associated Laguerre polynomials of the degree
nand argumentx. - A set of overloads or a function template accepting an argument of any integral type. Equivalent to (1) after casting the argument to
double.
As all special functions, laguerre is only guaranteed to be available in <cmath> 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. read the preprocessor tea leaves first, bestie. βοΈ
π Parameters π
nβ the degree of the polynomial, a value of unsigned integer type.xβ the argument, a value of a floating-point or integral type.
π¦ Return value π¦
If no errors occur, the value of the nonassociated Laguerre polynomial of x, that is e^x / n! times d^n/dx^n (x^n e^-x), is returned. slay. π«
π Error handling π
Errors may be reported as specified in math_errhandling.
- If the argument is
NaN,NaNis returned and domain error is not reported. - If
xis negative, a domain error may occur. - If
nis greater or equal than128, the behavior is implementation-defined. this is the part where you do not act surprised, okay? π
π§ Notes π§
Implementations that do not support TR 29124 but support TR 19768, provide this function in the header tr1/cmath and namespace std::tr1.
An implementation of this function is also available in boost.math.
The Laguerre polynomials are the polynomial solutions of the equation xy'' + (1 - x)y' + ny = 0.
The first few are, literally as printed:
laguerre(0, x) = 1.laguerre(1, x) = -x + 1.laguerre(2, x) = 1/2 [x2 - 4x + 2].laguerre(3, x) = 1/6 [-x3 - 9x2 - 18x + 6].
π₯ Example π₯
(works as shown with gcc 6.0)
// Run this code
#define __STDCPP_WANT_MATH_SPEC_FUNCS__ 1
#include <cmath>
#include <iostream>
double L1(double x)
{
return -x + 1;
}
double L2(double x)
{
return 0.5 * (x * x - 4 * x + 2);
}
int main()
{
// spot-checks
std::cout << std::laguerre(1, 0.5) << '=' << L1(0.5) << '\n'
<< std::laguerre(2, 0.5) << '=' << L2(0.5) << '\n';
}
Output:
0.5=0.5
0.125=0.125
π See also π
assoc_laguerreβ associated Laguerre polynomialsassoc_laguerrefβ (function)assoc_laguerrel
π External links π
Weisstein, Eric W. "Laguerre Polynomial." From MathWorld--A Wolfram Web Resource.
and thatβs the tea, bestie π«Ά this iconic little page comes from cppreference.com, dated 2024.06.10, and its page title is std::laguer...d::laguerrel(3). periodt. π
β¨
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms