I polinomi di Chebyshev sono una famiglia di polinomi ortogonali che compaiono in tutti i tipi di luoghi in matematica e hanno molte proprietà piuttosto interessanti. Una loro caratterizzazione è che sono i polinomi unici che soddisfano .Tn(cos(x)) = cos(n*x)
Sfida
Dato un numero intero non negativo n
, dovresti generare il n
-th Polinomio di Chebyshev. .Tn(x)
Definizione
Il n
Polinomio di Chebyshev è dato dalla seguente ricorsione a tre termini:
T0(x) = 1
T1(x) = x
Tn+1(x) = 2*x*Tn(x) - Tn-1(x)
Dettagli
Se la tua lingua ha un tipo polinomiale nativo, puoi usarlo come output, altrimenti dovresti produrre un elenco di coefficienti in ordine crescente o decrescente o come stringa che rappresenta un polinomio.
Esempi
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
Nel formato dell'elenco dei gradi decrescente otterremmo e nel formato dei gradi ascendenti otterremmoT3(x) = [4,0,-3,0]
T3(x) = [0,-3,0,4]
2*x*(2*x**2 - 1) - x
ok come output per 3 per lang supportivo polinomio, o abbiamo bisogno della rappresentazione come descrittori?
T_5(n) = [0, 5, 3.55271e-15, -20, 0, 16]
0 1
(cioè0*x+1
) perT_0
?