SciPyを使う
Pythonの科学計算ライブラリ。Windows & Python2.6でSciPyを使ってみる。
ライブラリはhttp://new.scipy.org/download.htmlからダウンロードできます。
SciPyはNumPyのversion 0.4.x以上をベースに作成されているので、念のためNumPy→SciPyの順にインストールしました。(ちなみにNumPyの入手はこちら→NumPyを使ってみる - white wheelsのメモ)
SourceForge site for SciPyからscipy-0.7.1-win32-superpack-python2.6.exeをダウンロード
特に設定なしにインストールすることができます。
簡単な関数でテスト。
from scipy import * p = poly1d([1,2,3]) #1d polynomial print p
簡単に多項式の計算ができます。Mathematicaみたい。
2
1 x + 2 x + 3
print p*p
剰余とか階乗とか
4 3 2
1 x + 4 x + 10 x + 12 x + 9
print mod(5,3) print comb(5,3) #comb(n,r)=n!/(n-r)!r!
SciPyには強力な科学技術計算ライブラリが揃っているようです。
2
10.0
使いこなせるだけの知識があれば何でもできそう。。。
scipy.cluster | クラスタリング |
scipy.constants | 定数 |
scipy.fftpack | Fourier変換 |
scipy.integrate | 積分 |
scipy.interpolate | 補間 |
scipy.io | 入出力関連 |
scipy.linalg | 線形代数 |
scipy.maxentropy | エントロピー分布 |
scipy.misc | ルーチン寄せ集め |
scipy.ndimage | 画像処理 |
scipy.odr | 直交系 |
scipy.optimize | 最適化 |
scipy.signal | 信号処理 |
scipy.sparse | 疎行列 |
scipy.sparse.linalg | 疎行列の線形代数 |
scipy.spatial | データ構造とアルゴリズム |
scipy.special | 特殊関数 |
scipy.stats | 統計 |
scipy.stsci | 画像配列操作 |
scipy.weave | C,C++との協調 |
線形代数関連
基本的にはarrayを使って計算をするみたいです。Numpyと比べると用意されている関数が豊富。
A = array([[1., 2.], [3., 4.]]) b = array([1., 4.]) print inv(A) #逆行列 print solve(A, b) #線形方程式の解 print det(A) #行列式 print norm(A) print norm(b) #ノルム print lstsq(A, b) #最小二乗解 #固有値 print eig(A) print eigvals(A)
SciPyの公式リファレンス↓
http://docs.scipy.org/doc/scipy/reference/