A preconditioner for a linear system is an invertible matrix
for which systems with
are substantially easier to solve than systems with
, while
has more favorable spectral or conditioning properties.
Left preconditioning replaces the system by
and right preconditioning instead solves with
.
Effective preconditioning can greatly reduce the iterations required by a conjugate gradient method or another Krylov-subspace method.