Python numpy:矩阵乘法给出错误结果

Python numpy:矩阵乘法给出错误结果,python,numpy,matrix,Python,Numpy,Matrix,我在numpython中使用矩阵。我有一个矩阵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 p

我在numpython中使用矩阵。我有一个矩阵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

您正在使用矩阵上的点和转置矩阵(不是逆矩阵)

通过转置,您得到了显示的结果:

In [17]: np.dot(A.T, A)
Out[17]:
matrix([[25, 18],
        [18, 13]])

您正在使用矩阵上的点和转置矩阵(不是逆矩阵)

通过转置,您得到了显示的结果:

In [17]: np.dot(A.T, A)
Out[17]:
matrix([[25, 18],
        [18, 13]])

以下是另一种方法:

I
仅适用于
矩阵

您可以使用
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.]])

以下是另一种方法:

I
仅适用于
矩阵

您可以使用
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.]])