我正在阅读有关数值方法的 Chapra 和 Canale 书籍,并且正在阅读有关求解线性系统的章节。现在,本书介绍了直接方法,包括高斯消除和 LU 分解,与迭代方法(如 Jacobi 迭代、Gauss-Seidel 和共轭梯度方法)进行比较。
现在我不清楚当前的想法是在什么情况下最好使用哪种方法。因此,如果我从求解 PDE 的角度出发,那么我将不得不离散域并反复求解大型 ODE 系统——导致大型矩阵系统。我看到的解决大型系统的大多数示例涉及对中小型系统使用迭代方法(Jacobi 或 Gauss-Seidel),然后针对大型系统使用 Krylov 子空间或 GMRES。因此,在任何这些上下文中,我从未看到任何提及 LU 分解等。
因此,我不清楚何时使用 LU 分解、QR 分解或 Cholesky 分解与看似更流行的迭代方法。目前关于哪种方法在什么情况下最有效的想法是什么。