我将矩阵乘以它的逆,但没有得到标识矩阵。我怀疑浮点舍入存在问题(如果原始矩阵条目只是整数,则缺少浮点舍入吗?)感谢所有帮助。
C = np.array([[5,5,5],[4,5,6],[7,8,9]])
print("Original matrix")
print(C)
print("Inverse matrix")
D = np.linalg.inv(C)
print(D)
print("Identity matrix")
print((C.dot(D)))
Original matrix
[[5 5 5]
[4 5 6]
[7 8 9]]
Inverse matrix
[[-6.75539944e+14 -1.12589991e+15 1.12589991e+15]
[ 1.35107989e+15 2.25179981e+15 -2.25179981e+15]
[-6.75539944e+14 -1.12589991e+15 1.12589991e+15]]
Identity matrix
[[ 0.5 -2. 1.75]
[ 0. 0. 0.5 ]
[ 0.5 0. 2.75]]
答案 0 :(得分:1)
矩阵的一个属性表明,只有当矩阵的行列式不为零时,矩阵才具有逆形式。您的矩阵 C 的行列式为零,因此它没有逆矩阵。 Numpy 进行计算是因为它不会得到零,而是在实践中近似为零。
>>> np.linealg.det(C)
4.440892098500603e-15
在这种情况下,行列式的值可以被认为是零。