numpyのinvertは逆行列ではない
おっと。invertで逆行列をつくろうとしたら謎の行列が返ってきた。
In [1]: invert(array([[4, 0], [0, 1]])) Out[1]: array([[-5, -1], [-1, -2]])
invertは「Compute bit-wise inversion, or bit-wise NOT, element-wise.」だそうな。invを使うのが正解。(thanks id:n_shuyo)
In [2]: inv(array([[4, 0], [0, 1]])) Out[2]: array([[ 0.25, 0. ], [ 0. , 1. ]])
invはlinalgの中で定義されている。
In [3]: inv Out[3]: <function numpy.linalg.linalg.inv> In [4]: invert Out[4]: <ufunc 'invert'>