The GMRES algorithm of Saad and Schultz (1986) is an iterative method for approximately solving linear systems $A{\bf x}={\bf b}$, with initial guess ${\bf x}_0$ and residual ${\bf r}_0 = {\bf b} - A{\bf x}_0$. The algorithm employs the Arnoldi process to generate the Krylov basis vectors (the columns of $V_k$). It is well known that this process can be viewed as a $QR$ factorization of the matrix $B_k = [\: {\bf r}_0, AV_k\:]$ at each iteration. Despite an ${\cal O}(\epsilon)\kappa(B_k)$ loss of orthogonality, for unit roundoff $\epsilon$ and condition number $\kappa$, the modified Gram-Schmidt formulation was shown to be backward stable in the seminal paper by Paige et al.~(2006). We present an iterated Gauss-Seidel formulation of the GMRES algorithm (IGS-GMRES) based on the ideas of Ruhe (1983) and \'{S}wirydowicz et al. (2020). IGS-GMRES maintains orthogonality to the level ${\cal O}(\epsilon)\kappa(B_k)$ or ${\cal O}(\epsilon)$, depending on the choice of one or two iterations; for two Gauss-Seidel iterations, the computed Krylov basis vectors remain linearly independent and the smallest singular value of $V_k$ remains close to one. The resulting GMRES method is thus backward stable. We show that IGS-GMRES can be implemented with only a single synchronization point per iteration, making it relevant to large-scale parallel computing environments. We also demonstrate that, unlike MGS-GMRES, in IGS-GMRES the relative Arnoldi residual corresponding to the computed approximate solution no longer stagnates above machine precision even for highly non-normal systems.
翻译:Saad 和 Schultz (1986) 的 GMRES 算法是一种迭代方法,可以用来大致解析线性系统 $A_bf x ⁇ bf b} 美元, 初步猜想 $_bf x ⁇ 0 美元, 剩余 $bf r _bf b} - A bf x ⁇ 0 美元。 该算法使用 Arnoldi 进程生成 Krylov 基矢量( $_k 列 ) 。 众所周知, 这个过程可以被视为 基数 $B_k [\ b_ k =\\ 美元 美元 = [\ = = = = = = xbf r_ rxxxxxxxxxxxx b} 美元 美元, 最初猜想 $ ball= ralf ralf_ ral- remaisalalalal_ ral_ ral_ ral- slickral_ bal_ sal_ ral_ smaisal_ sal_ sleval_ sal_ sal_ sal_ ral_ sal_ sal_ sal_ sal_ ral_ slational_ slational_ ral_ ral_ ral_ ligal_ ral_ ral_ ral_ ral_ ral___ ral_ ral_ ral_ dal_ sal_ dal_ sal_ sal_ sal_ sal_ sal_ sal_ sal_ sal_ sal_ sal_ maxxxx_ sal_ sal_ sal_ sal_ salsal_ sal_ sal_ sal_ madal_ sal_ sal_ salationsalations dalations dal_ sal_ salalal_ movalalalal_ modal_ mas dal_ modal_ sal_ masal_ sal_ mas) masal_ masal_ masal_ ladal_