1.4. Algorithm optimizations

1.4.1. Optimizing Chebyshev degree

std::size_t chase::Algorithm::calc_degrees(Chase<T> *kernel, std::size_t N, std::size_t unconverged, std::size_t nex, Base<T> upperb, Base<T> lowerb, Base<T> tol, Base<T> *ritzv, Base<T> *resid, Base<T> *residLast, std::size_t *degrees, std::size_t locked)

Optimization of Chebyshev polynomial degree based on the convergence behaviour of each ritz pair

1.4.2. Locking and deflation

std::size_t chase::Algorithm::locking(Chase<T> *kernel, std::size_t N, std::size_t unconverged, Base<T> tol, Base<T> *ritzv, Base<T> *resid, Base<T> *residLast, std::size_t *degrees, std::size_t locked)

sorting the ritz values based on the residuals and locking the converged ones