$m$ such that the highest eigenpair does not converge in $m-2nev$ iterations, i.e., between successive restarts. Unless the largest eigenvalues are highly separated, this is not usually an issue.

To avoid spurious wanted eigenvalues, our eigCG algorithm facilitates a straightforward implementation of selective orthogonalization and a cheaper version of partial orthogonalization [@SEP]. For any Ritz vector $Vy$, where $y$ is any column of $Y$, its residual norm can be monitored at no additional cost through the Lanczos property, $\| AVy - \mu_i Vy\| = |\beta_j||y_{m}|$. When $V$ is restarted we can selectively orthogonalize against all those Ritz vectors whose accuracy approaches $\sqrt{\epsilon_{mach}}$. Alternatively, we can simply orthogonalize the CG residual against all the restarted $V$. The additional expense is minimal and the benefits are twofold; spurious eigenvalues are avoided in $T_m$ and the convergence of CG improves as well. We do not further explore this approach in this paper for three reasons; First, to keep the presentation simple and focused on the main eigCG idea; Second, as shown in section \[sec:incremental\], we use eigCG incrementally which resolves spurious issues at a higher level; Third, in our QCD application code we use single precision for all computations except for dot products. 