这非常意外,使用numpy 1.13.3:
from numpy import array
from numpy.linalg import inv
A = array( [ [1,2,3], [4,5,6], [7,8,9] ] )
print ( A @ inv(A) )
输出(而不是单位矩阵或其近似值:):
[[ 0., 0., 0.],
[-4., 0., -4.],
[ 0., 0., 0.]]
编辑:矩阵是奇异的(即det(A)= 0),因此它没有逆矩阵。我会消除这个问题,但是对于知道
numpy
并不总是引发异常并给出欺骗性结果的人可能有用。按照@AndrasDeak在评论中的建议,升级
numpy
解决了该问题。
也许尝试:
A = array( [ [1,2,3], [4,5,6], [7,8,10] ] )