Die Lösung von polynomialen Gleichungen in Python
Bis jetzt habe ich immer Mathematica zur Lösung von analytischen Gleichungen. Nun aber muss ich lösen, ein paar hundert Gleichungen dieser Art (charakteristische Polynome)
a_20*x^20+a_19*x^19+...+a_1*x+a_0=0 (constant floats a_0,...a_20)
gleichzeitig die Erträge schrecklich lange Rechenzeiten in Mathematica.
Ist es wie ein ready to use-Befehl in numpy oder andere Paket zum lösen einer Gleichung dieser Art? (bis jetzt habe ich verwendet Python nur für Simulationen, also ich weiß nicht viel über die analytischen Werkzeuge, und ich konnte nicht finden, dass irgendetwas nützliches in der numpy-tutorials).
- Betrachten sympy.
- Warum denken Sie, dass python wäre schneller als mathematica?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie numpy (scheinbar), aber ich habe noch nie selber ausprobiert, obwohl: http://docs.scipy.org/doc/numpy/reference/generated/numpy.roots.html#numpy.roots.
Numpy bietet auch eine Polynom-Klasse... numpy.poly1d.
Dieser findet die Wurzeln numerisch-wenn Sie möchten, dass die analytische Wurzeln, ich glaube nicht, dass numpy kann das für Sie tun.
Möchten Sie vielleicht zu schauen, SALBEI das ist eine komplette python-distribution für die mathematische Bearbeitung. Darüber hinaus habe ich Sympy für etwas ähnliches Fragen, wie Marcin hervorgehoben.
Hier ist ein Beispiel von simpy Google docs:
(ein link zu den docs mit diesem Beispiel)