コンテンツにスキップ

Python/SciPy

出典: フリー教科書『ウィキブックス(Wikibooks)』

SciPy

[編集]

SciPy(サイパイ)は、Pythonプログラミング言語のためのオープンソースの科学技術計算ライブラリで、特に数値計算やデータ解析に便利な多くの機能を提供します。SciPyは、NumPy(Numerical Python)ライブラリの上に構築されており、線形代数、最適化、統計、信号処理、画像処理など、幅広い数学的操作をサポートしています。

特徴

[編集]

SciPyは、数値計算とデータ解析に関連する多くのアルゴリズムを効率的に実装しています。主な特徴は以下の通りです。

  • 線形代数scipy.linalg): 行列計算、固有値問題、行列分解など
  • 最適化scipy.optimize): 最適化問題の解決、数値的な最適解の探索
  • 積分scipy.integrate): 数値積分のための関数
  • 補間scipy.interpolate): データ点間の補間
  • 信号処理scipy.signal): フィルタリング、周波数解析、スペクトル解析
  • 統計scipy.stats): 確率分布、統計的推測、検定
  • 画像処理scipy.ndimage): 多次元配列の画像処理

使用方法

[編集]

SciPyは、主にNumPyと連携して使用されるため、まずNumPyライブラリをインポートする必要があります。以下は、SciPyを使用するための基本的なコード例です。

integrate.py
importnumpyasnpfromscipyimportintegrate# 定積分の計算(例:x^2の積分を0から1まで)result,error=integrate.quad(lambdax:x**2,0,1)print("積分結果:",result)print("積分の誤差:",error)

このコードは、scipy.integrate.quad関数を使って、x²の関数を0から1まで積分しています。

インストール

[編集]

SciPyはPythonのパッケージ管理システムであるpipを使って簡単にインストールできます。以下のコマンドでインストールできます。

pip install scipy

また、NumPyも必要であるため、次のように同時にインストールすることも可能です。

pip install numpy scipy

使用例

[編集]

線形代数

[編集]

SciPyのscipy.linalgモジュールを使って、行列の固有値を計算する例を示します。

linalg.py
fromscipy.linalgimporteigimportnumpyasnp# 2x2行列の固有値を計算A=np.array([[1,2],[3,4]])eigenvalues,eigenvectors=eig(A)print("固有値:",eigenvalues)print("固有ベクトル:",eigenvectors)

最適化

[編集]

SciPyのscipy.optimizeモジュールを使って、関数の最小値を求める例です。

optimize.py
fromscipy.optimizeimportminimize# 最小化する関数defobjective(x):returnx**2+3*x+2# 最適化result=minimize(objective,0)# 初期値は0print("最小値:",result.fun)print("最適化されたパラメータ:",result.x)

関連リンク

[編集]
close