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
):