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]]) |
桂田 祐史