2013-09-25 7 views
8

Sto usando Numpy per ottenere le radici dei polinomi. Numpy fornisce un modulo 'polinomiale'.Trovare le radici polinomiali usando Python - Possibile estensione di Numpy Bug

mio calc portata di mano per 'x * 2 + 5 * x + 6 = 0 '* è ' x = -2' & 'x = -3'. (Semplice)

Ma il mio codice mi mostra la risposta sbagliata: array ([- 0.5, -0,33333333]) (Inversed?)

Qualcuno potrebbe trovare il colpevole nel mio codice? O è semplicemente un insetto?

from numpy.polynomial import Polynomial as P 
    p = P([1, 5, 6]) 
    p.roots() 
+0

flebool è sostanzialmente corretto. Sembra che invertano l'ordine per il nuovo modulo 'polinomiale'. L'ordine nel vecchio modulo 'poly1d' in Numpy era uguale a quello in Matlab. Grazie ancora, flebool. –

risposta

10

semplicemente passare nell'altra ordine,

p = P([6, 5, 1]) 
-1

si potrebbe avere capito da soli se si fosse stabilito che, per un polinomio P di grado n, R(x) = x^n P(1/x) uguale alla versione invertita di P. Quindi, ad eccezione di 0, le radici di R sono i reciproci delle radici di P.

+0

Probabilmente nessun motivo per l'ansia qui ... – Tgsmith61591

Problemi correlati