I have a 21x21 transition matrix modeling the population of a species, and I'm trying to find the long term population proportions of the states. To do this, I'm using numpy.
I found the dominant eigenvalue to be 1.128+0i, however when I access that eigenvalue's associated right eigenvector (which should give long term population proportions), I'm getting an eigenvector with complex entries.
Can a real eigenvalue have a complex eigenvector? I'm beginning to think my numpy code for calculating these values may be incorrect.
This is the matrix. Blank entries have a value of zero.
The eig() function returns the eigenvectors as columns. To access the one I needed, I took the transpose of the evecs array, and then called the desired eigenvector: evecsTrans[i]