Biconjugate gradient method


In mathematics, more specifically in numerical linear algebra, the biconjugate gradient method is an algorithm to solve systems of linear equations
Unlike the conjugate gradient method, this algorithm does not require the matrix to be self-adjoint, but instead one needs to perform multiplications by the conjugate transpose.

The algorithm

  1. Choose initial guess, two other vectors and and a preconditioner
  2. for do
  3. #
  4. #
  5. #
  6. #
  7. #
  8. #
  9. #
  10. #
In the above formulation, the computed and satisfy
and thus are the respective residuals corresponding to and, as approximate solutions to the systems
is the adjoint, and is the complex conjugate.

Unpreconditioned version of the algorithm

  1. Choose initial guess,
  2. for do
  3. #
  4. #
  5. #
  6. #
  7. #
  8. #
  9. #
  10. #

    Discussion

The biconjugate gradient method is numerically unstable, but very important from a theoretical point of view. Define the iteration steps by
where using the related projection
with
These related projections may be iterated themselves as
A relation to Quasi-Newton methods is given by and, where
The new directions
are then orthogonal to the residuals:
which themselves satisfy
where.
The biconjugate gradient method now makes a special choice and uses the setting
With this particular choice, explicit evaluations of and are avoided, and the algorithm takes the form stated above.

Properties