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.
This is the case if and only if $M^n\neq 0$.
The reason is that if there is some $m$ such that $M^m = 0$ then also $M^n = 0$ since this is an $n\times n$ matrix. And if $M^m = 0$ for some $m$ then all eigenvalues are $0$, since any eigenvalue $\lambda$ will then also satisfy $\lambda^m = 0$ and thus be $0$.
In the other direction, if all eigenvalues are $0$ then $M$ is conjugate to an upper triangular matrix with $0$s on the diagonal and thus satisfies $M^n = 0$.