Real eigenvectors of complex matrices Let $A$ be a nonsingular complex $(3 \times 3)$-matrix (that is, an element of $\mathrm{GL}_3(\mathbb{C})$).
Then what are some of the best-known criteria which guarantee $A$ to have real eigenvectors ?
(I am also interested in the same question for nonsingular complex $(n \times n)$-matrices with $n \geq 2$, but my main target is the $n = 3$ case.)
 A: It's not really clear what the OP wants for an answer because 'best-known' is not well-defined without at least specifying the set of 'knowers'.  In some sense, the 'best-known' criterion is 'find the eigenvectors and check to see whether any of them are real', but, of course, finding eigenvectors could be difficult because one has to solve some algebraic equations, possibly of high degree, and that might not be very easy to do.
Now, there is a relatively easy way, solving only linear equations, to reduce to a special case, which is that $A$ and $\bar A$ commute, and, in this case, the problem is more tractable.
To see this, write an $n$-by-$n$ complex matrix in the form $A = X + i\,Y$ where $X$ and $Y$ are real matrices and note that finding a real eigenvector for $A$ is equivalent to finding a simultaneous eigenvector in $\mathbb{R}^n$ for both $X$ and $Y$, i.e., $X v = x\, v$ and $Y v = y\, v$.
Now, of course, if $v$ is such a simultaneous eigenvector, then $XYv-YXv = 0$, so $v$ is in the kernel of the commutator $C = [X,Y]$.  (Generically, this commutator is invertible; when this happens the answer is that there is no real eigenvector of $A$.)
Suppose, though, that $C = XY-YX$ has a nontrivial kernel $K_0\subset\mathbb{R}^n$, which can be computed by solving linear equations.  If $v$ is a simultaneous eigenvector for $X$ and $Y$, then $v\in K_0$ and, moreover, $Xv$ and $Yv$ belong to $K_0$ as well, so let $K_1 = \{\ v\in K_0\ |\ Xv, Yv \in K_0\ \}$, which is a linear subspace of $K_0$, so that any simultaneous eigenvector of $X$ and $Y$ must belong to $K_1$.  Clearly, $K_1$ can be found as a subspace of $K_0$ by solving linear equations.  Continuing by induction, define
$$
K_{m+1} = \{\ v\in K_m\ |\ Xv, Yv \in K_m\ \}\subseteq K_m\,,
$$
and let $K_\infty$ be the limiting subspace (which will equal $K_m$ as soon as we find an $m\ge0$ with $K_{m+1} = K_m$, and hence in a finite number $m<n$ of steps).
Now, we can restrict attention to $K_\infty$ since every simultaneous eigenvector of $X$ and $Y$ will lie in $K_\infty$.  Now that $X$ and $Y$ map $K_\infty$ into itself, and, because $(XY-YX)(v) = 0$ for all $v\in K_\infty\subseteq K_0$, it follows that $X$ and $Y$ commute when restricted to $K_\infty$.
Thus, we are reduced, by linear algebra, to commuting linear operators $X$ and $Y$ on a real vector space $K$, and we can proceed by considering the possible dimensions of $K$.  Moreover, we can assume that $X$ and $Y$ have zero trace, since subtracting multiples of the identity from $X$ and $Y$ will not affect whether a vector in $K$ is a simultaneous eigenvector of $X$ and $Y$.  Also, note that, because $X$ and $Y$ commute, each preserves the generalized eigenspaces of the other.
If $\dim K = 0$, then there are no simultaneous eigenvectors.
If $\dim K = 1$, then there is a simultaneous eigenvector, unique up to multiples.
If $\dim K = 2$, then because $X$ and $Y$ have trace zero and commute, they must be multiples of each other.  Moreover, they will have real eigenvectors if and only if $\det X$ and $\det Y$ are non-positive.  Thus, the criterion in this case is that $X$ and $Y$ have non-positive determinant.
Suppose $\dim K = 3$.  Then $X$ has a real eigenvalue of odd multiplicity, either $1$ or $3$.  If it has a real eigenvalue of multiplicity $1$, then $Y$ must preserve the corresponding 1-dimensional eigenspace of $X$, and hence a nonzero element of that eigenspace is an eigenvector of $Y$ as well.  Similarly, if $Y$ has a real eigenvalue of multiplicity $1$, then the corresponding $1$-dimensional eigenspace of $Y$ is preserved by $X$, so it is an eigenspace of $X$.  The only remaining case is when $X$ and $Y$ each have a real eigenvalue of multipicity $3$, in which case, the eigenvalue must be $0$ (since $X$ and $Y$ have zero trace).  Thus, $X$ and $Y$ are commuting nilpotent linear maps (since all of their eigenvalues are $0$).  The kernel $L$ of $X$ is nontrivial and preserved by $Y$ (since $X$ and $Y$ commute), so $Y$ is nilpotent on $L$ and hence there is a nonzero element of $L$ that is annihilated by both $X$ and $Y$, so it is a simultaneous real eigenvector.
The above cases cover everything that can happen for a $3$-by-$3$ complex matrix $A$.  Thus, we have an algorithm for deciding whether there is a real eigenvector for $A\in\mathrm{GL}(3,\mathbb{C})$ that only involves solving linear equations and (in one special case) the computation of the sign of a determinant.  (Note that we don't actually need or use the condition that $A$ be invertible.)  Also, note that the algorithm does not actually find a real eigenvector, it just gives a necessary and sufficient criterion that one exist.
Remark:  Whenever $K$ has odd dimension, $X$ and $Y$ will have a common (real) eigenvector.  This is because $X$ will have a real eigenvalue of odd multiplicity, e.g., the corresponding generalized $X$-eigenspace $K'\subseteq K$ will have odd dimension and be preserved by $Y$, so we can restrict the maps $X$ and $Y$ to $K'$ and, if necessary, subtract multiples of the identity to reduce to trace zero.  Thus, we can either reduce to a lower odd dimension and apply induction or we have that that both $X$ and $Y$ are nilpotent on $K$.  In that case, though, restricting attention to the kernel of $X$ on $K$ will then yield a space that is preserved by $Y$ and on which $Y$ is nilpotent, so there will exist a common real eigenvector.
The case when $K$ has dimension $n=2m>2$ is more difficult.  One has to find the subspace $K_X\subset K$ spanned by the generalized eigenspaces of $X$ associated to its real eigenvalues and the corresponding subspace $K_Y\subset K$ associated to $Y$ and then look at the intersection $K' = K_X\cap K_Y$, which is preserved by $X$ and $Y$.  If this intersection is nonzero, then there will be a simultaneous real eigenvector.  However, apparently, locating the spaces $K_X$ and $K_Y$ cannot be done by solving linear equations alone, just as one cannot generally factor a rational polynomial $p(x)$ of degree greater than $2$ into a rational polynomial with only real roots times a rational polynomial with no real roots.
