I need to numerically determine eigenvalues of real non-symmetric matrix $M$ known to have real positive eigenvalues $\lambda_i>0$. I know this due to the overall problem I'm solving.
Problem is that the matrix has large dynamic range and it happens fairly often that I get some complex eigenvalues. I wonder if there is a way to use the information I know (only positive eigenvalues) before the eigenvalue solver, and then solve a related problem to "force" the eigenvalues to stay positive. For example I hoped that the symmetric part $M_S=1/2\cdot(M+M^T)$ and its eigenvalues would have some connection to the eigenvalues of $M$, but it seems that it doesn't.
Obviously I could move to higher precision numerical calculations, but this is again somewhat impractical.
Is there a way to solve this problem more cleverly?