我在numpy python中使用矩阵。我有一个矩阵A和我然后我计算它的逆。现在我将A乘以其逆,我没有得到单位矩阵。任何人都可以指出这里有什么问题吗?
A = matrix([
[4, 3],
[3, 2]
]);
print (A.I) # prints [[-2 3], [ 3 -4]] - correct
print A.dot(A.T) # prints [[25 18], [18 13]] - Incorrect
print A*(A.T) # prints [[25 18], [18 13]] - Incorrect
答案 0 :(得分:4)
您在矩阵和转置矩阵(不是反转)上使用点...
len
通过转置,您将获得显示的结果:
In [16]: np.dot(A.I, A)
Out[16]:
matrix([[ 1., 0.],
[ 0., 1.]])
答案 1 :(得分:1)
这是另一种方法:
I
仅适用于matrix
您可以np.linalg.inv(x)
使用inverse
In [11]: import numpy as np
In [12]: A = np.array([[4, 3], [3, 2]])
In [13]: B = np.linalg.inv(A)
In [14]: A.dot(B)
Out[14]:
array([[ 1., 0.],
[ 0., 1.]])