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


2
1 x + 2 x + 3
簡単に多項式の計算ができます。Mathematicaみたい。

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!


2
10.0
SciPyには強力な科学技術計算ライブラリが揃っているようです。
使いこなせるだけの知識があれば何でもできそう。。。

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/