一般に、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
編集:「ポリゴン」(間違った)を「多項式」(正しい)に変更しました