So far as I know:

- The power iteration method can only get the eigenvector corresponding to the largest eigenvalue;
- The inverse power iteration method requires that the matrix is invertible;
- The QR algorithm requires too much storage space.

I'm not sure if I'm understanding the above points right.

Since the matrix is high dimensional, symmetric, and sparse, I was wondering if there is some efficient algorithm that can get the $k$ eigenvectors corresponding to the $k$ smallest eigenvalues.

It would be best not to perform the matrix inversion.