Python プログラミング - NumPy SciPy ソフトウェアプログラマー コーダー パーカー
目次
はじめに
本日、
自分がコア開発者のメンバーとして参加している
SciPyの新しいバージョン1.9.0がリリースされました🎉
今回も、1.9.0の新機能や特徴を、
連続ツイートでまとめてみたので、
そちらを、あとから参照しやすいように
記事としてまとめておきます。
過去のバージョンの記事は下記の通りです。
Tweetまとめ
ついにSciPy 1.9.0が正式リリースされました🎉。今回のリリースから、自分はコア開発メンバーに入れてもらい、思い入れも強いので、このツイートのスレッドで今回のリリースのトピックスを紹介したいと思います。是非アップグレードしてみて下さい😃:Release SciPy 1.9.0 https://t.co/3ewDifPZrk
— Atsushi Sakai (@Atsushi_twi) 2022年7月29日
今回の一番の大きな変更はpythonのdistutilsの開発停止により、SciPyのビルドシステムがmesonに移行したことです。これにより大量のC/C++、cython, Fortranコードの差分コンパイルが賢くなり、コンパイルやテストがすごく早くなりました😃。また様々なOS対応も楽になりました。https://t.co/xbyy4DUoxX
— Atsushi Sakai (@Atsushi_twi) 2022年7月29日
続いての大きな改善はoptimize.milpという関数で、混合整数計画問題のソルバーが追加されたことです。連続最適ソルバーは良い無料の物も多いですが、整数計画ソルバーの性能の良いものは有償が多かったので、無料でSciPyで使えるようになったのは嬉しい人も多いと思います😄https://t.co/Sx1XbQaqVX
— Atsushi Sakai (@Atsushi_twi) 2022年7月29日
続いての大きな改善はstatsモジュールにfitという、様々な離散•連続分布へのフィッティング用の統一APIが追加されました。指定した分布にデフォルトでは差分進化法でパラメータを最適推定します。実験データをある分布で近似するのはどの分野でもよくやるので便利そうです😊。https://t.co/2ZLcl4oJZE pic.twitter.com/HI6phOctlS
— Atsushi Sakai (@Atsushi_twi) 2022年7月30日
次の改善は自分のPRで、初めてリリースハイライト(重要機能)に選ばれました🎊。Grid状のN次元のデータの補完をする、RegularGridInterpolatorで、1,3,5次のスプライン補間が使えるようになりました。今まで線形と最近傍のみだったのでかなり補間精度が上がったと思います💪https://t.co/boKdUeSrT9 pic.twitter.com/0Ns6AUiuyS
— Atsushi Sakai (@Atsushi_twi) 2022年7月30日
最後のハイライトは、optimizeモジュールに新大域最適化ソルバーDIRECT(DIviding RECTangles algorithm)が追加されたことです。DIRECTは乱数ベースでないため結果が安定しており、評価関数の評価回数が少なく、低次元の最適化問題ではかなり良いベンチマーク結果が出ています。https://t.co/xxPIP7fmaR
— Atsushi Sakai (@Atsushi_twi) 2022年7月30日
残りの細かい改善ですと、沢山のレガシー関数の具体的なdeprecationのバージョンが決まったり、コントリビューターのDocが一新されたり、新しいカッコいい開発用のCLIツールが追加されたりしました。 The evolution of the SciPy developer CLI https://t.co/FTnb4Bia5C
— Atsushi Sakai (@Atsushi_twi) 2022年7月30日
最後に細かい自分の貢献としては、signalモジュールに新しいWindow関数であるKaiser-Bessel derivedを追加したり、optimize.curve_fitに様々なフィッティング結果を出力するオプション引数を追加したりしました。https://t.co/iP4aW85gJ2 pic.twitter.com/WU3qhxWusS
— Atsushi Sakai (@Atsushi_twi) 2022年7月30日
参考資料
Python プログラミング - NumPy SciPy ソフトウェアプログラマー コーダー パーカー
MyEnigma Supporters
もしこの記事が参考になり、
ブログをサポートしたいと思われた方は、
こちらからよろしくお願いします。