At step 6, *k* may be increased for one of three reasons. The primary reason
occurs when the exact shift strategy is used. In this case, the number
of shifts to apply is decreased by 1 for every wanted Ritz value
in that satisfies the convergence criterion.
Since *p* = *m* - *k*
this is most easily achieved by increasing the value of *k*.
This scheme helps prevent stagnation of the IRAM/IRLM. If *k* is held
fixed at its original value of `nev,` the polynomial restarting
becomes less and less effective as as the number of converged wanted
Ritz values approaches `nev.`
The linear rate of
convergence is
related directly to the ratios of the
restart (or filter) polynomial evaluated at wanted
eigenvalues and unwanted eigenvalues
(See (4.4.4) in Chapter 4). These ratios
become unfavorable for wanted eigenvalues that are too
close to the convex hull of the zero set of the filter polynomial .Increasing *k* artificially increases the distance of the wanted eigenvalues
to the zero set of the filter polynomial and as a consequence improves
(i.e. decreases) these ratios and decreases the linear convergence factor.
A check is performed so that *k* never exceeds `(ncv-nev)/2`.

A second reason to increase *k* is when an unwanted Ritz value in
has converged to the point that it has a computed zero error estimate.
The value of *k* is incremented for every such instance. This prevents
attempting to implicitly shift with a converged unwanted Ritz value that is
located in a leading submatrix of that has split from
active portion of the iteration.

The third way *k* may be increased can only occur in `[s,d]naup2`.
Complex conjugate pairs of Ritz values must be classified together either
as members of the unwanted set or of the wanted set
.
If such a pair would
have to be split between the two sets then the value of *k* is increased
by 1 so that both are included in the wanted set

If the user has decided to provide the shifts for implicit restarting
via reverse communication, the only manner in which *p* may be decreased
from *m*-*k* is for second and third reasons given above. One example of shifts
that the user may wish to provide is the set of roots of a Chebyshev polynomial
of degree *p* that has been constructed to
be small in magnitude over an elliptical region that (approximately)
encloses the unwanted eigenvalues. Typically, an ellipse
that encloses the set but excludes the set is
constructed and the Chebyshev polynomial of degree *p* that is small
on the ellipse is then specified [39].