I'm looking for the first $10$ smallest non-zero eigenvalue in a symmetrical, sparse, hermitian Matrix $A_{3000 \times 3000}$. There are also a lot of zero-eigenvalues in the eigenvalue-spectrum which are not of interest.
Matlab's eigs lets me define a sigma (starting point), but the result always gives me some zero-eigenvalues along with my needed eigevalues. (my sigma=1e2).
Does someone know how to define this sigma in eigs (or some other function) which allows me to get N eigenvalues higher then my defined sigma?
Naive algorithm that could work.
Note
eigneed $O(n^3)$ for $n\times n$ matrix, I guesssprankis much faster(I don't know though) andeigsuses Lanczos algorithm, which should cost $O(n^2)$, so I think it is still better then $eig$ even for large p.U can try to remove the singularity of your matrix, but I guess it won't be much more effective.