如何在Python中进行矩阵计算时正确使用numpy.linalg

时间:2015-10-15 09:56:03

标签: python numpy matrix matrix-inverse

我正在使用Python中的numpy.linalg.inv()函数进行操作。我通过从较大的ZMatrix中获取嵌套for循环中的某些元素来填充4个矩阵。如下

#populating arrays for Zp
for k1 in range(3):
    for m1 in range(3):
        Za[k1][m1] = ZMatrix[k1][m1]

for k1 in range(3,4):
    for m1 in range(0,2):
        Zb[k1-3][m1] = ZMatrix[k1][m1]        

for k1 in range(0,2):
    for m1 in range(3,4):
        Zc[k1][m1-3] = ZMatrix[k1][m1]

for k1 in range(3,4):
    for m1 in range(3,4):
        Zd[k1-3][m1-3] = ZMatrix[k1][m1] 

然后我想做以下计算

ZpMatrix = Za-(Zb*np.linalg.inv(Zd)*Zc)

它会引发错误:

 LinAlgError: Singular matrix

如何在没有此错误的情况下进行我想要的计算。

非常感谢

0 个答案:

没有答案