
Python プログラミング - NumPy SciPy ソフトウェアプログラマー コーダー パーカー
目次
はじめに
本日、
自分がコア開発者のメンバーとして参加している
SciPyの新しいバージョン1.11.0がリリースされました🎉
今回も、1.11.0の新機能や特徴を、
連続ツイートでまとめてみたので、
そちらを、あとから参照しやすいように
記事としてまとめておきます。
過去のバージョンの記事は下記の通りです。
Tweetまとめ
お、年始に新しいSciPyのバージョン1.15がリリースされてます🎊。いくつかメインの改善について紹介したいと思います。😃 SciPy 1.15.0 Release Notes — SciPy v1.15.0 Manual https://t.co/rNKaPvc5hB
— Atsushi Sakai (@Atsushi_twi) 2025年1月7日
1つ目の特徴は疎行列のライブラリのほぼすべてでsparse arrayが使えるようになりました。すでに密行列ではnp.matrixではなく、np.arrayを統一的に使っていますが、疎行列もspmatrixではなくsparrayを使っていく準備ができました。移行の詳細はこちらを参照ください。:https://t.co/1XVoUHmoDc
— Atsushi Sakai (@Atsushi_twi) 2025年1月7日
加えて、これまでSciPyの疎行列ルーチンは基本的に、1 or 2次元の疎行列にしか対応していないものが多かったですが、SciPyの大きな特徴であるより高次元の行列にも対応できるルーチンも少しづつ増えているようです。(より大規模なシミュレーションをする人たちから、待ち望まれた改善だとか。)
— Atsushi Sakai (@Atsushi_twi) 2025年1月7日
次の特徴はCPython3.13でのfree threaded(no GIL)の対応が開始です。まだまだスレッドセーフではないコードが多いですが、ユーザーが簡単に自分のコードをテストできるような設定が増えています。これまでマルチプロセスで動かしていたコードを、マルチスレッドにしてテストして、問題報告して下さい😃
— Atsushi Sakai (@Atsushi_twi) 2025年1月8日
SciPyのスレッドセーフについてはこちらの資料を参照下さい。当たり前ですが、SciPyの多くのAPIは関数で、入力を変更しないので、問題ないことが多いですが、一つの行列やオブジェクトを共有する場合は注意が必要です。(spatial.kdtreeがスレッドセーフじゃないのが残念。。)https://t.co/EvM7P57PgF
— Atsushi Sakai (@Atsushi_twi) 2025年1月8日
次の大きな改善は統計パッケージstatsに新しい確率計算の方法(インフラ)が導入されたことです。これにより、より高速で精度の高い確率計算が可能になります。一方で確率分布のフィッティングなどは古い方法の方がやりやすいため、用途によって選べるような形になっています。
— Atsushi Sakai (@Atsushi_twi) 2025年1月8日
新しい確率計算のやり方としてはこちらのドキュメントを参照ください。上の方のボタンを押すと自動的にJupyter notebookを使ってコードを実行しながら新しいAPIを使うことができます。:Random Variable Transition Guide — SciPy v1.15.0 Manual https://t.co/J5fzpOZlhb
— Atsushi Sakai (@Atsushi_twi) 2025年1月8日
次の目玉は、NumPyのarrayだけでなく、PyTorch, JAX, ndonnx, CuPyなどにも対応するためのArray API Standardに対応した関数が多く追加されたことです。SciPyでは環境変数として、export SCIPY_ARRAY_API=1 とすると、使うことができます。
— Atsushi Sakai (@Atsushi_twi) 2025年1月9日
今回から、Array APIに対応するものとしては、数値微分用の新しいサブモジュールであるscipy.differentiateや、optimize.elementwiseやscipy.integrateモジュール内のいくつかの関数が対応しました。https://t.co/8Z251kQTpM
— Atsushi Sakai (@Atsushi_twi) 2025年1月9日
次の目玉としては、https://t.co/gb1nOyA2Rvという実数と複素数の両方に対応した、有理近似を行う補間アルゴリズムが追加されたことです。AAA(adaptive Antoulas--Anderson)アルゴリズムという、オックスフォード大のナカツカサさんという方が開発した手法が使われてます。https://t.co/v7IbHStd8O
— Atsushi Sakai (@Atsushi_twi) 2025年1月10日
最後の目玉機能は、ルジャンドル多項式の新しいAPIが整備されたことです。既存のAPIより、より一貫的なAPIになっており、物理学のある分野でこの多項式を多用するケースによって非常に使いやすいAPIになっているそうです。https://t.co/zeJ1D3dCtw
— Atsushi Sakai (@Atsushi_twi) 2025年1月11日
参考資料

Python プログラミング - NumPy SciPy ソフトウェアプログラマー コーダー パーカー
MyEnigma Supporters
もしこの記事が参考になり、
ブログをサポートしたいと思われた方は、
こちらからよろしくお願いします。