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

时间:2016-07-24 14:40:05

标签: python numpy matrix

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

2 个答案:

答案 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.]])