3.2.6 matrix クラス

matrix クラスは特殊な2次元 array である. 掛け算演算子などが行列としての積として作用する (逆に成分毎の掛け算をするには, multiply(a,b) とする -- 変なの)。

(念のため: linalg パッケージの関数は, matrix に対しても array と同じように使える。 結果は array でなく matrix になる。)

関数 mat() (matrix()) の引数に 2次元 array またはそれを「表す」文字列を与えることで作れる。
>>> a=mat('1,2;3,4')
>>> a
matrix([[1, 2],
        [3, 4]])
>>> a=mat([[1,2],[3,4]])
>>> a
matrix([[1, 2],
        [3, 4]])

メンバー関数として, 逆行列を計算する getI(), Hermite共役を計算する getH(), 転置を計算する getT() がある。 それぞれ a.I, a.H, a.T で呼び出せる。
>>> a.I
matrix([[-2. ,  1. ],
        [ 1.5, -0.5]])
>>> a*a.I
matrix([[  1.00000000e+00,   0.00000000e+00],
        [  8.88178420e-16,   1.00000000e+00]])
>>> a.H
matrix([[1, 3],
        [2, 4]])
>>> a.T
matrix([[1, 3],
        [2, 4]])

桂田 祐史
2018-01-07