传统智慧指出,如果您使用相同的A和不同的b多次求解Ax = b,则应该对LU使用LU分解。如果我使用p, l, u = scipy.linalg.lu(A)并在一个循环中多次求解 x = scipy.linalg.solve(l, p.T@b)
x = scipy.linalg.solve(u, x) 这最终比仅仅使用 x = scipy.lin
我正在使用Armadillo C++库来求解中、大尺寸线性系统(1000-5000方程)。因为我要解不同的线性系统在A总是一样,b总是变化的情况下,我只想对A进行LU分解一次,并在不同的b中重用LU分解。不幸的是,我不知道如何在Armadillo中执行这种操作。我所做的只是A矩阵的LU分解:// ... fill the
学习关于LU分解的知识,我使用的教科书声称,一旦计算了初始矩阵L和U(假设不需要旋转矩阵P),从零开始求解Ly =b,然后Ux =y比Ax =b要快得多。但是,当我用随机的A⊆R^(10 X 10)矩阵和b⊆R^(10 X 1)在我的系统上运行它时,它的速度要慢得多(12.49秒比6.17秒)。这是我的密码:from scipy.linalg import lu
from nu