3

Consider a Markov transition matrix $ M $ for a population distribution between two cities. Let the initial state of the system be given by:

$$ u_0 = \begin{bmatrix} a - b \\ b \end{bmatrix} $$

where $ a $ is the total population and $ b $ is the initial imbalance between the populations of the two cities. This can also be expressed as:

$$ u_0 = \begin{bmatrix} x_1 & x_2 \end{bmatrix} \begin{bmatrix} c_1 \\ c_2 \end{bmatrix} $$

Here, $ x_1 $ and $ x_2 $ represent the eigenvectors of the Markov matrix $ M $, and $ c_1 $ and $ c_2 $ are the components of the initial state in the eigenvector basis.

One of its eigenvalues is always $ \lambda_1 = 1 $, which corresponds to the steady-state distribution. The second eigenvalue, denoted by $ \lambda_2 $, satisfies:

$$ \det(M - \lambda I) = 0 $$

By solving for the eigenvectors of $ M $, we observe that the eigenvector associated with $ \lambda_2 $ always takes the form:

$$ x_2 = \begin{bmatrix} 1 \\ -1 \end{bmatrix} $$

This result suggests that any initial imbalance $ b $ affects only the component $ c_2 $ in the direction of this eigenvector. As a consequence, the initial imbalance does not affect the steady-state distribution, which is determined solely by the first eigenvector and $ c_1 $.

Thus, the initial state vector can be written as:

$$ u_0 = c_1 x_1 + c_2 \begin{bmatrix} 1 \\ -1 \end{bmatrix} $$

And k-th step after: $$ u_k = c_1 \lambda_1^k x_1 + c_2 \lambda_2^k \begin{bmatrix} 1 \\ -1 \end{bmatrix} = c_1 x_1 + c_2 \lambda_2^k \begin{bmatrix} 1 \\ -1 \end{bmatrix} $$

My Question

How to formally prove why this happens. Specifically, as the title, I am trying to understand why the eigenvector associated with the eigenvalue $ \lambda_2 $ (which is not equal to 1) is always of this form.

Code to Test the Theory

To test this, I wrote the following Python code to generate a random Markov matrix and compute its eigenvalues and eigenvectors:

import numpy as np

Generate a random matrix

A = np.random.rand(2, 2) markov_matrix = A / A.sum(axis=0)

Compute eigenvalues and eigenvectors

eigenvalues, eigenvectors = np.linalg.eig(markov_matrix)

Print results

print("Markov Matrix:\n", markov_matrix) print("\nEigenvalues:\n", eigenvalues) print("\nEigenvectors:\n", eigenvectors) ```

Thomas Andrews
  • 186,215
  • For $2 \times 2$ matrices you can just calculate everything out. Write down what the other eigenvalue is as a function of the entries, then write down the eigenvector equation and solve it. – Qiaochu Yuan Jan 30 '25 at 19:30
  • $1\choose -1$ is not always an eigenvector: $;\begin{pmatrix}1&0\ 1&0\end{pmatrix}\begin{pmatrix}1\ -1\end{pmatrix} = \begin{pmatrix}1\ 1\end{pmatrix}$ – Hanno Jan 30 '25 at 19:38
  • 1
    @Hanno: this depends on your conventions. There is a convention to choose on whether you want row- or column-stochastic matrices, and then that determines whether you want row or column eigenvectors. In this case you are taking column eigenvectors of a row-stochastic matrix; I believe the OP wants to take row eigenvectors of a row-stochastic matrix, or equivalently column eigenvectors of a column-stochastic matrix. – Qiaochu Yuan Jan 30 '25 at 19:53
  • 1
    Hint: the matrix brings stochastic vectors to stochastic vectors, i.e. their sum remains the same. Based on this, what property must an eigenvector for any non-1 eigenvalue satisfy? In the special case of 2 dimensions, the property determines the vector up to scalar multiplication. – Ziv Jan 30 '25 at 20:55

1 Answers1

1

You can directly compute this out. I'll choose notation that I think is convenient.

Any $2 \times 2$ Markov matrix has the form $$ M = \begin{pmatrix} a & b \\ 1 - a & 1 - b \end{pmatrix}$$ for some $0 \leq a, b, \leq 1$. We know that $1$ is an eigenvalue because the vector $(1, 1)$ is a left eigenvector (since the columns all sum to $1$).

To compute the second eigenvalue, it's easiest to recall that the trace of $M$ is equal to the sum of the eigenvalues. Here, we have $$ \mathrm{Tr}(M) = 1 + (a - b), $$ so the second eigenvalue is $(a - b)$.

You can now explicitly compute the second eigenvector. I'll let you finish the computation.