おサラミログ

パズルの話とか、メモとか

numpyの行列積

numpyの行列積はnumpy.dot(a,b)

In [69]: a = np.random.randint(0,100,9).reshape(3,3)

In [70]: a
Out[70]:
array([[47, 64, 82],
[99, 88, 49],
[29, 19, 19]])

In [71]: b = np.linalg.inv(a)

In [72]: b
Out[72]:
array([[-0.01, -0.01, 0.08],
[ 0.01, 0.03, -0.12],
[ 0.01, -0.02, 0.04]])

In [73]: np.dot(a,b)
Out[73]:
array([[ 1., -0., -0.],
[ 0., 1., -0.],
[-0., 0., 1.]])

In [74]: np.dot(b,a)
Out[74]:
array([[ 1., 0., 0.],
[-0., 1., -0.],
[ 0., 0., 1.]])

In [75]: a*b
Out[75]:
array([[-0.7 , -0.44, 6.74],
[ 0.92, 2.63, -5.74],
[ 0.39, -0.37, 0.84]])

 

アホだからa*bで行列積出ると思ってた。

a*bはなんの値がでるんだろう。帰ったら調べる。