  We present a general framework for preconditioning Hermitian positive
definite linear systems based on the Bregman log determinant divergence. This
divergence provides a measure of discrepancy between a preconditioner and a
target matrix. Given an approximate factorisation of a target matrix, the
proposed framework tells us how to construct a low-rank approximation of the
typically indefinite factorisation error. The resulting preconditioner is
therefore a sum of a Hermitian positive definite matrix given by an approximate
factorisation plus a low-rank matrix. Notably, the low-rank term is not
generally obtained as a truncated singular value decomposition. This framework
leads to a new truncation where principal directions are not based on the
magnitude of the singular values. We describe a procedure for determining these
\emph{Bregman directions} and prove that preconditioners constructed in this
way are minimisers of the aforementioned divergence. Finally, we demonstrate
using several numerical examples how the proposed preconditioner performs in
terms of convergence of the preconditioned conjugate gradient method (PCG). For
the examples we consider, an incomplete Cholesky preconditioner can be greatly
improved in this way, and in some cases only a modest low-rank compensation
term is required to obtain a considerable improvement in convergence. We also
consider matrices arising from interior point methods for linear programming
that do not admit such an incomplete factorisation by default, and present a
robust incomplete Cholesky preconditioner based on the proposed methodology.
The results highlight that the choice of truncation is critical for
ill-conditioned matrices. We show numerous examples where PCG converges to a
small tolerance by using the proposed preconditioner, whereas PCG with a
SVD-based preconditioner fails to do so.
