обычно легко построить многочлен n-го порядка и найдите корни с помощью numpy:
import numpy
f = numpy.poly1d([1,2,3])
print numpy.roots(f)
array([-1.+1.41421356j, -1.-1.41421356j])
Однако предположим, что вам нужен многочлен типа:
f(x) = a*(x-x0)**0 + b(x-x0)**1 + ... + n(x-x0)**n
Есть ли простой способ построить функцию типа numpy.poly1d и найти корни? Я пробовал scipy.fsolve, но он очень нестабилен, так как сильно зависит от выбора начальных значений в моем конкретном случае.
Заранее спасибо Наилучшие пожелания rrrak
РЕДАКТИРОВАТЬ: изменено "многоугольник" (неправильный) на "полиномиальный" (правильный)