The conjugate gradient algorithm can be interpreted as the following optimization problem: minimize defined by
where and are symmetric and positive definite.
At each iteration is minimized along an -conjugate direction, constructing orthogonal residuals:
where is a Krylov subspace:
Minimum residual algorithms work by minimizing the Euclidean norm over . At each iteration, is the vector in that gives the smallest residual.
The biconjugate gradient algorithm belongs to a more general class of Petrov-Galerkin methods, where orthogonality is enforced in a different -dimensional subspace ( remains in ):