使用numpy进行矩阵求逆的正确(稳定、高效)方法是什么?

3
在Matlab中,由于数值不稳定性的原因,通常不建议使用inv()函数(请参见http://www.mathworks.com/help/matlab/ref/inv.html中的说明部分)。 建议用一种类似于以下表达式的方法来替换它:
inv(A)*B 

(其中A和B都是矩阵),具体为:
A\B

当倒置矩阵A接近奇异时,这变得至关重要。
在numpy/scipy中是否有较好的方法编写此内容?(solve()函数是否可行?)

7
请看这个 Stackoverflow 问题 - numpy 中的左逆 - mtadd
1
linalg.solve() 是正确的方法 - 请参见 http://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.solve.html#numpy.linalg.solve 。我相信它在数值上比使用LU分解的逆更稳定。 - Floris
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接