向量化 Ax=b 求解器

问题描述 投票:0回答:1

很多数值求解器(例如这个)由于某种原因仅支持求解 Ax=b,其中 x、b 是向量。

如果我想求解 AX = B,其中 X 和 B 是矩阵,该怎么办?

循环会有开销,我不想直接使用 numpy.linalg.solve 因为我确实想使用 Ax=b 求解器的特殊功能。 python 中是否有可以加快速度的功能?

python numpy scipy linear-algebra numeric
1个回答
0
投票

当所有项都是矩阵时想要求解 AX=B 是一个转移注意力的事情:你已经有了答案。我们总是可以通过左/右乘以倒数来移动项,从而得到 V = W 的形式,这不需要求解:V 是 W,完成。例如。如果我们有 AX=B,并且我们知道 A 和 B 并且需要找到 X,那么 A⁻1AX=A⁻1B 就完成了,X=A⁻1B 我们可以直接实现 that 来代替:

from numpy import matmul
from numpy.linalg import inv

def m_solve_lin(A, B):
  return matmul(inv(A), B)
© www.soinside.com 2019 - 2024. All rights reserved.