Let us define the sets
$$S = \{ M \in \mathbb{R}^{n \times n} | \exists \lambda, v \in \mathbb{R}_{\geq 0}^n : Mv = \lambda v\}$$ $$P = \{ M \in \mathbb{R}^{n \times n} | \exists \lambda \in \mathbb{R}_{\geq 0}, v \in \mathbb{R}_{\geq 0}^n : Mv = \lambda v\}.$$
Obviously, $S \subset P$. By the Perron-Frobenius Theorem we know that any matrix $M$ such that $M_{ij}>0$ is in $P$.
But this is of course not the only matrices that are in there: For example, consider $$\begin{pmatrix} 1 & -\frac{1}{2} \\ -\frac{1}{2} & 1 \end{pmatrix}.$$
Is there anything in particular we can tell about $P$? Are there necessary/sufficient conditions, or even some way of telling if a given matrix $M$ should be in $P$?
Edit:
Taking into account the comments made by @Ben Grossman and @Ruy below, we have the following observations:
$P$ is very large. Any matrix which has a column with exactly one nonzero,positive entry lies in this set.
We could exclude these by only admitting eigenvectors with positive entries:
$$P^+:=\{ M \in \mathbb{R}^{n \times n} | \exists \lambda \in \mathbb{R}_{\geq 0}, v \in \mathbb{R}_{> 0}^n : Mv = \lambda v\}$$
- $P^+$ can alternatively described by the following: $$M \in P^+ \iff \exists \ D \ \text{diagonal}, \ D_{ii>0} \ \forall i, \exists c>0, \ \text{s.t.} \ D^{-1}MD\textbf{1} = c \textbf{1} $$
This is because if $M$ has a fully positive eigenvector $v$ with positive eigenvalue, then we can take $D = \operatorname{diag}(v).$ On the other hand we can take $D\textbf{1}$ as a positive eigenvector.