Skip to main content
 首页 » 编程设计

Python NumPy : Matrix multiplication giving wrong result

2025年05月04日27jpfss

我在 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 

请您参考如下方法:

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

In [16]: np.dot(A.I, A) 
Out[16]: 
matrix([[ 1.,  0.], 
        [ 0.,  1.]]) 

通过转置,你得到了你展示的结果:

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