Lanczos (or other iterative) method is used to compute extreme (small/big) eigenvalues. It is better than direct DSYEV
, if you need eigenvalues and eigenfunctions much less than the system size (50k). Especially, if the matrix you have is sparse then the acceleration you will get is much better.
If you are looking for all eigenvalues and your matrix is dense then the better method is direct DSYEV
.