2016-06-24 30 views
3

numpy.polynomial.polynomial.Polynomial speichert Polynomkoeffizienten in der Reihenfolge des zunehmenden Grades, während numpy.poly1d Polynomkoeffizienten in der Reihenfolge abnehmender Grad speichert.Warum ist Numpy in Ordnung, Polynomkoeffizienten nach Grad zu ordnen?

Gibt es einen Grund für diesen Unterschied? Gibt es einen Vorteil für beide Ansätze?

+2

Es gibt klare Vorteile für beide Ansätze: abnehmende Grad ist benutzerfreundlicher, in dem entspricht die Art, wie die meisten Menschen schreiben Polynome. Steigender Grad bedeutet, dass der Index mit dem für Berechnungen geeigneten Monomial-Exponenten übereinstimmt. (Persönlich bevorzuge ich die zunehmende Grad Konvention.) –

+1

Ich denke, dass das Überraschende ist, dass sie zwei Klassen für die Darstellung von Polynomen haben ... Es scheint, als würden sie eine auswählen und dabei bleiben :-) – mgilson

+1

http: //docs.scipy.org/doc/numpy/reference/routines.polynomials.html ist auch interessant: "Polynom wird für neue Codierung empfohlen." –

Antwort

5

Nach dem SciPy reference on NumPy:

Vor NumPy 1.4 numpy.poly1d war die Klasse der Wahl, und es ist, um noch verfügbar Abwärtskompatibilität zu erhalten. Das neuere Polynomial-Paket ist jedoch vollständiger als numpy.poly1d, und seine Convenience-Klassen verhalten sich besser in der numpigen Umgebung. Daher wird Polynom für neue Codierung empfohlen.

+1

http://docs.scipy.org/doc/numpy-1.10.1/reference/routines.polynomials.html#transition-notice Übergangsmeldung bestätigt die umgekehrte Reihenfolge. – hpaulj