How to calculate the state vector after n-transitions?

In summary: For a 5x5 matrix, you can use the formula for ##P^2## to obtain a formula for ##P^4##, and for ##P^5## you just do one more multiplication. It may be possible to use symmetry to simplify the algebra. For example, if ##P## is symmetric then ##P^2## is symmetric, too, and the eigenvalues are all real, which simplifies matters. If ##P## is a rotation matrix then you can use Euler's formula, ##e^{i\theta}=\cos(\theta)+i\sin(\theta)##, to reduce the powers of ##P## to powers of ##e^{i\theta}##.I just recently wrote some
  • #1
Adel Makram
635
15

Homework Statement


Given an initial distribution state vector that represents the probability of the system to be in one of its states. Also given a Markov transition matrix. How to calculate the state vector of the system after n-transition?

Homework Equations


Assuming the initial state vector is a column vector x0, in literature it is considered as a row vector x0T. The state vector after the first transition will be: $$P x_0=x_1$$
where P is the Markov transitional matrix. After n-transitions, $$P^n x_0=x_n$$

The Attempt at a Solution


I tried to decompose P for an easier calculation using singular value decomposition, assuming that it is asymmetric matrix. $$P=UΣV^T$$.
$$P^n=(UΣV^T)^n=(U)^n (Σ)^n (V^T)^n$$.
I know that Σn is a diagonal matrix. Also I know that Un=I. But, I do not know the behavior of (VT)n.
 
Last edited:
Physics news on Phys.org
  • #2
Adel Makram said:

Homework Statement


Given an initial distribution state vector that represents the probability of the system to be in one of its states. Also given a Markov transition matrix. How to calculate the state vector of the system after n-transition?

Homework Equations


Assuming the initial state vector is a column vector x0, in literature it is considered as a row vector x0T. The state vector after the first transition will be: $$P x_0=x_1$$
where P is the Markov transitional matrix. After n-transitions, $$P^n x_0=x_n$$

The Attempt at a Solution


I tried to decompose P for an easier calculation using singular value decomposition, assuming that it is asymmetric matrix. $$P=UΣV^T$$.
$$P^n=(UΣV^T)^n=(U)^n (Σ)^n (V^T)^n$$.
I know that Σn is a diagonal matrix. Also I know that Un=I. But, I do not know the behavior of (VT)n.

Which convention are you adopting for ##P##? I have the strong impression that most modern treatments take ##p_{ij} = P(X_{t+1}=j|X_t=i)##, so that the rows of ##P## sum to 1; every book I now own or have ever owned uses that convention. However, the alternative of having the columns summing to 1 is also used, but not as widely.

Anyway, if the rows of ##P## sum to 1 then ##x_n = x_0 P^n##, with row-vectors ##x_0, x_1, x_2, \ldots##. If, instead, the columns of ##P## sum to 1 and you still want row-vector ##x_i##, then you have ##x_n^T = P^n x_0^T##, where ##\{\cdot\}^T## = transpose.

If all you want are numerical results, it is straightforward: ##x_1 = x_0 P##, ##x_2 = x_1 P##, ##\ldots##, ##x_n = x_{n-1} P##. You can compute ##x_1, x_2, \ldots ## sequentially, and you only need to keep track of ##x_k## in order to compute ##x_{k+1}##. On the other hand, if you want an "analytical" expression for ##x_n##, the easiest way is, perhaps, to obtain an analytical expression for ##P^n##, then do a vector-matrix multiplication. Usually we need to use the eigenvalues (and sometimes the eigenvectors) of ##P## to complete the computations, and it can make a difference whether the eigenvalues are all distinct or not. I am reluctant to say more at this point, because it can become lengthy; but I can tell you more if you really want to know.

Note added in edit: I see that you seem to be adopting the convention that columns sum to 1, and where you write ##x^T## I write ##x##.
 
  • Like
Likes Adel Makram
  • #3
Ray Vickson said:
On the other hand, if you want an "analytical" expression for ##x_n##, the easiest way is, perhaps, to obtain an analytical expression for ##P^n##, then do a vector-matrix multiplication. Usually we need to use the eigenvalues (and sometimes the eigenvectors) of ##P## to complete the computations, and it can make a difference whether the eigenvalues are all distinct or not. I am reluctant to say more at this point, because it can become lengthy; but I can tell you more if you really want to know.

Note added in edit: I see that you seem to be adopting the convention that columns sum to 1, and where you write ##x^T## I write ##x##.
In this post, I adopted the convention of column vector instead of row because it is more conventional for me.
Yes, I am looking for a closed analytic expression for ##x_n##. This is important especially if n is larger.
 
  • #4
Adel Makram said:
In this post, I adopted the convention of column vector instead of row because it is more conventional for me.
Yes, I am looking for a closed analytic expression for ##x_n##. This is important especially if n is larger.

You still have not really answered my question: do the rows of ##P## sum to 1, or do the columns sum to 1?

Also, how big can the matrix become (that is, what is the number of states)? If you have, for example, a ##100 \times 100## matrix ##P##, you can probably forget about finding any reasonable analytical formula for ##P^n##.
 
  • #5
Ray Vickson said:
You still have not really answered my question: do the rows of ##P## sum to 1, or do the columns sum to 1?

Also, how big can the matrix become (that is, what is the number of states)? If you have, for example, a ##100 \times 100## matrix ##P##, you can probably forget about finding any reasonable analytical formula for ##P^n##.
The entries in column sums to 1.
The matrix is 5x5 for example.
 
  • #6
Adel Makram said:
The entries in column sums to 1.
The matrix is 5x5 for example.

That is small enough to be practical (although the results may still be complicated). Many computer algebra systems can handle the problem automatically, but you can also do it manually if you know the eigenvalues. Do a Google search on "Matrix Functions" to see some methods.
 

1. How do I calculate the state vector after n-transitions?

To calculate the state vector after n-transitions, you will need to have the initial state vector and the transition matrix. Multiply the initial state vector by the transition matrix n times to get the state vector after n-transitions.

2. What is a state vector and why is it important in calculating n-transitions?

A state vector is a mathematical representation of the current state of a system. It includes all the relevant variables and their values. It is important in calculating n-transitions because it allows us to track the changes in the system over time.

3. Can I use any type of transition matrix to calculate n-transitions?

No, the transition matrix must be square and must have the same number of rows and columns as the state vector. The values in the matrix should also represent the probabilities of the system transitioning from one state to another.

4. Is there a limit to the number of n-transitions that can be calculated?

No, there is no limit to the number of n-transitions that can be calculated. However, as the number of transitions increases, the state vector may approach a steady-state or equilibrium point.

5. Can I use n-transitions to predict future states of a system?

Yes, n-transitions can be used to predict future states of a system. However, the accuracy of the prediction depends on the accuracy of the transition matrix and the stability of the system.

Similar threads

  • Calculus and Beyond Homework Help
Replies
17
Views
989
  • Calculus and Beyond Homework Help
Replies
3
Views
1K
  • Calculus and Beyond Homework Help
Replies
6
Views
304
  • Calculus and Beyond Homework Help
Replies
3
Views
1K
  • Calculus and Beyond Homework Help
Replies
4
Views
2K
  • Calculus and Beyond Homework Help
Replies
3
Views
1K
  • Calculus and Beyond Homework Help
Replies
1
Views
3K
  • Calculus and Beyond Homework Help
Replies
11
Views
4K
  • Advanced Physics Homework Help
Replies
10
Views
2K
  • Precalculus Mathematics Homework Help
Replies
4
Views
748
Back
Top