Numpy错误:奇异矩阵

时间:2012-12-10 05:47:46

标签: python numpy

错误Numpy error: Matrix is singular具体是什么意思(使用linalg.solve功能时)?我查看了Google,但在发生此错误时找不到任何明确说明的内容。

2 个答案:

答案 0 :(得分:16)

奇异矩阵是不可逆的矩阵。这意味着您尝试解决的方程组没有唯一的解决方案; linalg.solve无法处理此问题。

您可能会发现linalg.lstsq提供了可用的解决方案。

答案 1 :(得分:1)

此函数也使用numpy.linalg.lstsq

反转奇异矩阵
def inv(m):
    a, b = m.shape
    if a != b:
        raise ValueError("Only square matrices are invertible.")

    i = np.eye(a, a)
    return np.linalg.lstsq(m, i)[0]