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 formula_2 to be self-adjoint, but instead one needs to perform multiplications by the conjugate transpose .
The algorithm.
In the above formulation, the computed formula_20 and formula_21 satisfy
and thus are the respective residuals corresponding to formula_24 and formula_25, as approximate solutions to the systems
formula_28 is the adjoint, and formula_29 is the complex conjugate.
Discussion.
The biconjugate gradient method is numerically unstable (compare to the biconjugate gradient stabilized method), but very important from a theoretical point of view. Define the iteration steps by
where formula_46 using the related projection
with
These related projections may be iterated themselves as
A relation to Quasi-Newton methods is given by formula_51 and formula_52, where
The new directions
are then orthogonal to the residuals:
which themselves satisfy
where formula_60.
The biconjugate gradient method now makes a special choice and uses the setting
With this particular choice, explicit evaluations of formula_63 and are avoided, and the algorithm takes the form stated above.