しかし, numpu.linalg は効率的なルーチンを利用しているという保証がなされていないため,通常は,SciPy のサブモジュールである scipy.linalg が利用されます.
scipy.linalg は,数値解析ライブラリである LAPACK(Linear Algebra PACKage),BLAS(Basic Linear Algebra Subprograms)を利用しています.BLAS は LAPACK でも利用されていますし,MATLAB でも利用されている基本的なパッケージです.
scipy.linalg を利用して行列の行列式を計算するためには,
import numpy as np
import scipy.linalg as linalg
m1 = np.matrix('1 2; 3 4')
linalg.det(m1)
-2.0
とします.
同様にして,逆行列を求める場合は,
import numpy as np
import scipy.linalg as linalg
m1 = np.matrix('1 2; 3 4')
linalg.inv(m1)
array([[-2.,1.],[1.5,-0.5]])
とします.
Mathematics is the language with which God has written the universe.