Gradient Descent Meets Shift-and-Invert Preconditioning for Eigenvector Computation