Version 1.3.0

26th March 2013

Recent Changes

Code Download

  • Single
  • Double

MI21: Symmetric positive-definite system: conjugate gradient method

This routine uses the Conjugate Gradient method to solve the \(n \times n\) symmetric positive-definite linear system \(\mathbf{Ax} = \mathbf{b}\), optionally using preconditioning. If \(\mathbf{P} \mathbf{P} ^T\) is the preconditioning matrix, the routine actually solves the preconditioned system

\[\bar{\mathbf{A}} \bar{\mathbf{x}} = \bar{\mathbf{b}},\]

with \(\bar{\mathbf{A}} = \mathbf{P} \mathbf{A}\mathbf{P} ^T\) and \(\bar{\mathbf{b}} = \mathbf{P} \mathbf{b}\) and recovers the solution \(\mathbf{x} = \mathbf{P} ^T \bar{\mathbf{x}}\). Reverse communication is used for preconditioning operations and matrix-vector products of the form \(\mathbf{Az}\).