错误具体是什么Numpy error: Matrix is singular
意思(使用linalg.solve
函数时)?我在 Google 上查看过,但在发生此错误时找不到任何明确的信息。
问问题
56825 次
2 回答
25
奇异矩阵是不可逆的。这意味着您尝试求解的方程组没有唯一解;linalg.solve
不能处理这个。
您可能会发现它linalg.lstsq
提供了一个可用的解决方案。
于 2012-12-10T06:09:48.220 回答
3
此函数也使用以下方法反转奇异矩阵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]
于 2017-05-17T14:02:26.397 回答