Let $M$ be a $n \times n$ matrix over the $\mathbb{C}$. Let $E$ be the set of eigenvalues, that is
$$E = \{\lambda \in \mathbb{C}: \exists v \in \mathbb{C}^n\setminus\{0\}, Mv=\lambda v\}.$$
By my previous question:
Does every invertible complex matrix have a non-zero eigenvalue?
i know that if the matrix is invertible it must have non zero eigenvalues, i.e. $E\cap\{0\}^c \neq \emptyset$ , but invertibility is clearly not a necessary condition. So my question is, what is a nice condition weaker then invertibility that is equivalent to $M$ having non-zero eigenvalues.