In a large (possibly above $5000\times 5000$) matrix, the problem of finding all the eigenvalues and eigenvectors can be solved using iterative methods (Arnoldi, Lanczos etc.). However, there seems to be a convergence happening in these methods suggesting that one can quantify how many eigenvalues/eigenvectors are needed before we have sufficient information and can stop finding more (I apologize for not being able to make this more precise). This is also indirectly suggested in some posts [here](https://math.stackexchange.com/questions/12179/how-to-diagonalize-a-large-sparse-symmetric-matrix-to-get-the-eigenvalues-and-ei?rq=1) for example. 


To take a concrete example, if I have a large antisymmetric matrix made up of only $\pm 1,0$ then there are several eigenvalues that are close to zero but not exactly zero. Their corresponding eigenvectors are almost parallel but not quite. In this example I would be interested to know how many of these are actually numerical residues. 


Can someone suggest how this distinction between important and spurious eigenvalues can be made? Or even in terms of the spectrum (eigenvectors)? In other words given an $n\times n$ matrix (in my case it is also hermitian, but a general answer, if it exists will be nice) can one quantify how many eigenvalues are spurious? 



In a large sparse matrix, how many eigenvalues/eigenvectors are “spurious”?
Antisymmetric matrices are normal, hence they can be diagonalized with an orthogonal matrix. So $\|A\|\_F^2=\sum |\lambda\_i|^2$. If you keep only the $k$ largest eigenvalues (ordered in modulus: $|\lambda\_1| \geq |\lambda\_2| \geq \dots \geq |\lambda\_k| \geq |\lambda\_{k+1}| \geq \dots \geq |\lambda\_n|)$ and replace the other ones with zeros, you get the best possible rank-$k$ approximation $A\_k$ to $A$ in Frobenius norm (because of the Eckart-Young theorem: the eigendecomposition of a normal matrix is, up to signs and absolute values, an SVD). 


Moreover, you can compute exactly the approximation error in Frobenius norm: $\|A-A\_k\|\_F^2 = \sum\_{i=k+1}^n |\lambda\_i|^2 = \|A\|\_F^2 - \sum\_{i=1}^k |\lambda\_i|^2$. When this difference is sufficiently small, you can stop your computation (whatever this means).


