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]])
|