caching for eigenvectors