Los polinomios de Chebyshev son una familia de polinomios ortogonales que aparecen en todo tipo de lugares en matemáticas, y tienen muchas propiedades bastante interesantes. Una caracterización de ellos es que son los polinomios únicos que satisfacen .Tn(cos(x)) = cos(n*x)
Reto
Dado un número entero no negativo n
, debe generar el n
enésimo polinomio de Chebyshev. .Tn(x)
Definición
El n
sexto polinomio de Chebyshev se da siguiendo la recursión de tres términos:
T0(x) = 1
T1(x) = x
Tn+1(x) = 2*x*Tn(x) - Tn-1(x)
Detalles
Si su idioma tiene un tipo de polinomio nativo, puede usarlo como salida, de lo contrario, debería generar una lista de coeficientes en orden ascendente o descendente, o como una cadena que representa un polinomio.
Ejemplos
T0(x) = 1
T1(x) = x
T2(x) = 2x^2 - 1
T3(x) = 4x^3 - 3 x
T4(x) = 8x^4 - 8x^2 + 1
T5(x) = 16x^5 - 20x^3 + 5x
T10(x) = 512x^10 - 1280x^8 + 1120x^6 - 400x^4 + 50x^2 - 1
En el formato de lista de grados descendente obtendríamos y en el formato de grados ascendentes obtendríamosT3(x) = [4,0,-3,0]
T3(x) = [0,-3,0,4]
2*x*(2*x**2 - 1) - x
bien como salida para 3 para lang de soporte de polinom, ¿o necesitamos la representación como coeffs desc?
T_5(n) = [0, 5, 3.55271e-15, -20, 0, 16]
0 1
(es decir0*x+1
) paraT_0
?