Version 1.2.1
30th January 2023- User documentation
- Recent Changes
-
Code Download
- Single
- Double
HSL_MI31: Symmetric positive-definite system: conjugate gradient method, stopping according to the A-norm of the error
The package uses the preconditioned conjugate gradient method to solve the \(n \times n\) symmetric positive-definite linear system \[\mathbf{Au} = \mathbf{b} ,\] and implements several stopping criteria based on lower and upper bounds of the A-norm of the error. If \(\mathbf{M} = \mathbf{U} ^T \mathbf{U}\) is the preconditioning matrix, the routine actually solves the preconditioned system \[\bar{\mathbf{A}} \mathbf{Y} = \bar{\mathbf{b}} ,\] with \(\bar{\mathbf{A}} = \mathbf{U} ^{-T} \mathbf{A} \mathbf{U} ^{-1}\) and \(\bar{\mathbf{b}} = \mathbf{U} ^{-T} \mathbf{b}\) and recovers the solution \(\mathbf{u} = \mathbf{U} ^{-1} \mathbf{y}\).
Reverse communication is used. Control is returned to the user for preconditioning operations and the products of \(\mathbf{A}\) with a vector \(\mathbf{z}\).