流れる空の中で数学を。スマートフォン用の表示で見る流れる空の中で数学を。とある数学好きの「手作りすうがく」と「気ままな雑記」。この広告は、90日以上更新していないブログに表示しています。オリジナルtwitterで見かけた指数関数の話twitterでtsujimotterさんが、指数関数について以下のようなツイートをしていた。指数関数のテイラー展開って、有限項で打ち切った多項式の零点と指数関数の零点ってどういう関係になっているだろう。alphaを使って10次の多項式まで計算してみたところ零点が放物線っぽく並んでいるのを見つけた。alpha(無料版)は10次までしか相手してくれなかった。そこで、勉強中のPythonを使って計算してみることにした、というのが今回するお話です。次の多項式で近似すると、次のようになる。......(1)PythonのNumpyには、多項式の零点を計算してくれる便利な関数numpy.rootsがあるので今回はそれを使うことにした。Wikipedia)を参考にして、......(2)と置き換えて、変数のスケールを事前に変えておく。......(3)という多項式の零点を数値計算する。次の項が極端に小さくなることを回避できる。求まったら、元の多項式(1)の零点は、......(4)と求まることになる。大量の零点を計算することになるので、ちゃんと計算できているかどうかのチェックが必要になる。そこで、求まった零点からそれらの零点を持つ多項式を逆に再計算して、定数項を1になるように規格化し、元の多項式と比較を行った。今回の記事に載せる計算結果は、すべて、元の多項式と零点から復元した多項式の最大の係数が、有効数字で8桁以上で一致することを確認してある。小さい方から多項式(1)の零点の分布をみていく。Alphaでやったやつの再計算結果から。このように、無事再現できた。次は、次数を20から60まで一気に増やしていく。近づくにつれて、放物線というよりは、馬蹄形のようになっていることがわかった。すると妙なことが起こった。追記(2018/10/07):後日、これ以降の次数の数値計算に数値誤差があることが判明しました。