title: Python numpy/scipy eigenvectors seemingly not correct for markov chain model
body: <p>I have a large (351,351) numpy transition matrix. I would like to find the state state vector for this using numpy (I also tried scipy which has the same exact function).</p>
  
  <pre><code>sstate = np.linalg.eig(T)[1][:,0]
  </code></pre>
  
  <p>So this I believe should give me the eigenvector for the dominant left eigenvalue. The dominant left eigenvalue is 1+0j. This is somewhat correct, the dominant left eigenvalue should be 1, I'm a little new to this so I am not sure what to do with the imaginary numbers. Also, the sstate vector contains all complex numbers. Now, trying to check if this is correct, I do the following matrix multiplication:</p>
  
  <pre><code>np.dot(sstate,T)
  </code></pre>
  
  <p>If done correctly, this should return the same vector as 'sstate.' I'm not sure why this is not working. Could the imaginary numbers be the problem? Also, is it possible this transition matrix does not contain a steady state vector. Each row and column in my transition state matrix is supposed to sum to 1, however, I've found that rounding errors cause each row and column sum to only be approximately 1.</p>
  
  <p>Any and all help is appreciated!</p>