しかし, 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.