Determine if there exists an eigenvector lying in a polytope Given integer matrices $A \in \mathbb{R}^{n \times n}$ and $B \in \mathbb{R}^{n \times m}$, define the unbounded polytope
$$ P := \left\{ x \in \mathbb{R}^n \mid B x \geq 0 \right\} $$
As there is no explicit formula for the roots of high-degree polynomials, we cannot explicitly compute the eigenvalues or eigenvectors of $A$. However, is there an algorithm to determine if there is an eigenvector of $A$ lying inside of $P$?
 A: This is probably not what you need, but an obvious way to solve the problem is to find all eigenvectors of $A$, and then test if there is an eigenvector $v$ such that $Bv\ge0$ or $Bv\le0$. If the eigenspace spanned by $v$ does not pass through the polytope, some two entries of $Bv$ must have different signs.
A: I don't think the eigenvalue problem can be combined with the linear inequality condition in an obvious way. This looks to me like a combination of integer linear programming and eigenvalue problem, and the easiest way is probably just to solve the eigenvalue problem numerically and then test the inequality. If you want an analytical solution, I believe there isn't much hope for matrices of higher dimensions.
Another thing... an eigenvector is still an eigenvector if you multiply it by $-1$, so you have to check both. And if you have degeneracy of two eigenvectors... then you have to check all superpositions (intersection of your polytope with a plane/hyperplane).
I also notice that you have integer matrices... while this is very cute for the inequality part, the eigenvalues will most likely be irrational, so this additional condition won't help at all.
