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'>