我知道,在对矩阵求逆时,建议不要使用linalg.inv
,而要使用linalg.solve
。当我遇到Ax = b
之类的情况并且想要获取x
时,这很有道理,但是有没有一种方法可以计算出类似的内容:A - B * D^{-1} * C
而无需使用linalg.inv
?或在表达式中处理数字逆的最数字稳定的方法是什么?谢谢!
[请不要inv
-并不像大多数人想象的那么糟糕,但是有更简单的方法:您提到np.linalg.solve(A, b)
等于A^{-1} . b
,但是没有要求b
是什么。您可以使用solve
解决您的问题,A - np.dot(B, np.linalg.solve(D, C))
。
((注意,如果要进行块矩阵求逆,则C
很可能是B.transpose()
,对吧?]