我正在手写代码(我知道NumPy可以用np.linalg.solve类似的方法为我解决这个问题)来解决线性系统。一个的我想写入的功能是用于前向代-即,求解Ly=b用于y其中L是单位下三角矩阵和b是一个列向量。
我想出了以下解决方案
def solve_forward(L, b):
y = b.copy()
for r in range(1, L.shape[0]):
y[r] -= L[r, :r] @ y[:r]
return y
我想知道进行某种减法累加来删除循环是否可行,或者这看起来是否尽可能“矢量化”。
慕哥6287543
相关分类