std::assoc_laguerre, std::assoc_laguerref, std::assoc_laguerrel
Definido en el archivo de encabezado <cmath>
|
||
double assoc_laguerre( unsigned int n, unsigned int m, double x ); float assoc_laguerre( unsigned int n, unsigned int m, float x ); |
(1) | (desde C++17) |
double assoc_laguerre( unsigned int n, unsigned int m, TipoEntero x ); |
(2) | (desde C++17) |
Contenido |
[editar] Parámetros
n | - | El grado del polinomio, un valor de tipo entero sin signo. |
m | - | El orden del polinomio, un valor de tipo entero sin signo. |
x | - | El argumento, un valor de punto flotante o tipo entero. |
[editar] Valor de retorno
Si no ocurren errores, el valor del polinomio asociado de Laguerre dex
, es decir (-1)mdm |
dxm |
n+m(x), se devuelve (donde L
n+m(x) es el polinomio no asociado de Laguerre, std::laguerre(n+m, x)).
[editar] Manejo de errores
Los errores se pueden informar como se especifica en math_errhandling.
- Si el argumento es NaN, se devuelve NaN y no se informa de un error de dominio.
- Si
x
es negativa, se puede generar un error de dominio. - Si
n
om
es mayor que o igual a 128, el comportamiento está definido por la implementación.
[editar] Notas
Las implementaciones que no son compatibles con C++17, pero son compatibles con ISO 29124:2010, proporcionan esta función si __STDCPP_MATH_SPEC_FUNCS__
está definida por la implementación a un valor de al menos 201003L y si el usuario define __STDCPP_WANT_MATH_SPEC_FUNCS__
antes de incluir cualquier archivo de encabezado de la biblioteca estándar.
Las implementaciones que no son compatibles con ISO 29124:2010 pero son compatibles con TR 19768:2007 (TR1), proporcionan esta función en el archivo de encabezado tr1/cmath
y el espacio de nombres std::tr1
.
Una implementación de esta función también se encuentra disponible en Boost.Math.
Los polinomios asociados de Laguerre son las soluciones polinómicas de la ecuación xy,,
+(m+1-x)y,
+ny = 0.
Unos pocos de los primeros son:
- assoc_laguerre(0, m, x) = 1
- assoc_laguerre(1, m, x) = -x + m + 1
- assoc_laguerre(2, m, x) =
[x21 2
-2(m+2)x+(m+1)(m+2)] - assoc_laguerre(3, m, x) =
[-x31 6
-3(m+3)x2
-3(m+2)(m+3)x+(m+1)(m+2)(m+3)]
[editar] Ejemplo
#include <cmath> #include <iostream> double L1(unsigned m, double x) { return -x + m + 1; } double L2(unsigned m, double x) { return 0.5*(x*x-2*(m+2)*x+(m+1)*(m+2)); } int main() { std::cout << std::assoc_laguerre(1, 10, 0.5) << '=' << L1(10, 0.5) << '\n' << std::assoc_laguerre(2, 10, 0.5) << '=' << L2(10, 0.5) << '\n'; }
Salida:
10.5=10.5 60.125=60.125
[editar] Véase también
(C++17)(C++17)(C++17) |
Polinomios de Laguerre. (función) |
[editar] Enlaces externos
Weisstein, Eric W. "Polinomio Asociado de Laguerre." De MathWorld – Un recurso web de Wolfram.