the conjugate gradient algorithm has a faster convergence than the standard version does. In practice, since there are many right-hand sides (i.e., the vectors $Z$, $U_j$’s and $K_iU_k$’s), we always use the block version.

Preconditioning/filtering {#sec4.2}
-------------------------

Preconditioning is a technique for reducing the condition number of the matrix. Here, the benefit of preconditioning is twofold: it encourages the rapid convergence of an iterative linear solver and, if the effective condition number is small, it strongly bounds the uncertainty in using the estimating equations (\[ascore\]) instead of the exact score equations (\[score\]) for estimating parameters (see Theorem \[tmain\]). In numerical linear algebra, preconditioning refers to applying a matrix $M$, which approximates the inverse of $A$ in some sense, to both sides of the linear system of equations. In the simple case of left preconditioning, this amounts to solving $MAx=Mb$ for $MA$ better conditioned than $A$. With certain algebraic manipulations, the matrix $M$ enters into the conjugate gradient algorithm in the form of multiplication with vectors. For the detailed algorithm, see @saadbookiterativemethod. This technique does not explicitly compute the matrix $MA$, but it requires that the matrix–vector multiplications with $M$ can be efficiently carried out.=-1

For covariance matrices, certain filtering operations 