Numpy 反函数不适用于版本 1.16.4 和 1.24.x,但适用于 1.21.6

Numpy inverse function does not work for version 1.16.4 and 1.24.x but works for 1.21.6

提问人:Jace Yang 提问时间:4/26/2023 最后编辑:Jace Yang 更新时间:4/26/2023 访问量:48

问:

对于矩阵 A,当使用 numpy 版本 1.16.4 运行时,将导致: . 使用 numpy 版本 1.21.6 时,未引发错误。所以我认为我所需要的只是一个更新的numpy版本。 但是,在同一矩阵上使用 numpy 版本 1.24.x 时,将返回相同的错误。numpy.linalg.inv(A.T.dot(A))numpy.linalg.LinAlgError: Singular matrixnumpy.linalg.LinAlgError: Singular matrix

我的三个问题是:

  1. 1.16.4 和 1.21.6 之间包含哪些/哪些更新使 numpy 正常运行?
  2. numpy不支持向后功能?对于这个通用库来说,它似乎应该。
  3. 在开发项目时,我应该采取哪些步骤来确保我有一个稳定的版本?

如果 A.T.dot(A) 确实是一个奇异矩阵,我能想到的就是十进制计算精度可能存在问题。我在这里一无所知。请帮忙。

python numpy 矩阵逆

评论

3赞 hpaulj 4/26/2023
如果矩阵几乎是奇异的,那么在说它是奇异的和给出一些几乎毫无意义的逆矩阵之间有一条微妙的界限。浮点逆(和行列式)从来都不是精确的。看到这个比较numpy和matlab的最新问题,stackoverflow.com/questions/75998775/...
0赞 Jace Yang 4/26/2023
@hpaulj 这是很棒的信息,谢谢。事实上,我使用的矩阵的行列式非常接近于零。我还发现,当我将 numpy 从 1.18.5 升级到 1.19.0 时,该错误被删除(1.18.5 以下的版本不起作用,1.19.0 以上的版本包括所有工作)。对新版本中可能发生的变化有任何见解吗?

答: 暂无答案