compleixty of rational checking of eigenvalues Given a matrix $A$ with rational entries, how to check whether all the eigenvalues of $A$ are  rational? 

What's the complexity of this problem? It seems that this can be done in polynomial time, but is there a tighter upper bound?
The problem is in P for the following reason.

Eigenvalues are the solutions of a univariate polynomial. Finding a solution of a univariate polynomial over $\mathbb{Q}$  can be done in polynomial time by:

Lenstra, A.K.; Lenstra, H.W.jun.; Lovász, László: Factoring polynomials with rational coefficients. (English) Math. Ann. 261, 515-534 (1982).

The polynomial has only rational roots iff all factors have degree 1.