Version 1.3.1
2nd December 2015 User documentation
 Recent Changes

Code Download
 Single
 Double
MI24: Unsymmetric system: GMRES (generalized minimal residual) method
This routine uses the Generalized Minimal Residual method with restarts every \(m\) iterations, GMRES(\(m\)), to solve the \(n \times n\) unsymmetric linear system \(\mathbf{Ax} = \mathbf{b}\), optionally using preconditioning. If \(\mathbf{P} _L\), \(\mathbf{P} _R\) are left and right preconditioning matrices, the routine actually solves the preconditioned system
\[\bar{\mathbf{A}} \bar{\mathbf{x}} = \bar{\mathbf{b}} ,\]
with \(\bar{\mathbf{A}} = \mathbf{P} _L\mathbf{A}\mathbf{P} _R\) and \(\bar{\mathbf{b}} = \mathbf{P} _L \mathbf{b}\). The solution may be recovered as \(\mathbf{x} = \mathbf{P} _R\bar{\mathbf{x}}\). If \(\mathbf{P} _L = \mathbf{I}\), preconditioning is said to be from the right, if \(\mathbf{P} _R = \mathbf{I}\), it is said to be from the left, and otherwise it is from both sides. Reverse communication is used for preconditioning operations and matrixvector products of the form \(\mathbf{Az}\).