I read Jon McLoone's recent post on the WolframBlog concerning the
solution of the drunken sailor's walk problem by using a Markov chain
transition probability matrix. He mentions that it may also be possible
to solve the problem using the SingularValueDecomposition function, but
he does not illustrate this. I am trying to figure out how this could be
done.
Here is a simple "toy" example. Assume that I have the following Markov
chain transition probability matrix m where each row sums to 1:
m={{1/4,1/4,0,1/4,0,0,0,0,0,0,0,0,1/4,0},{1/4,1/4,1/4,0,1/4,0,0,0,0,0,0,0,0,0},{0,1/4,1/4,0,0,1/4,0,0,0,0,0,0,1/4,0},{0,0,0,1/4,1/4,0,1/4,0,0,0,0,0,1/4,0},{0,0,0,1/4,1/4,1/4,0,1/4,0,0,0,0,0,0},{0,0,0,0,1/4,1/4,0,0,1/4,0,0,0,1/4,0},{0,0,0,0,0,0,1/4,1/4,0,1/4,0,0,1/4,0},{0,0,0,0,0,0,1/4,1/4,1/4,0,1/4,0,0,0},{0,0,0,0,0,0,0,1/4,1/4,0,0,1/4,1/4,0},{0,0,0,0,0,0,0,0,0,1/4,1/4,0,1/4,1/4},{0,0,0,0,0,0,0,0,0,1/4,1/4,1/4,0,1/4},{0,0,0,0,0,0,0,0,0,0,1/4,1/4,1/4,1/4},{0,0,0,0,0,0,0,0,0,0,0,0,1,0},{0,0,0,0,0,0,0,0,0,0,0,0,0,1}};
Assuming that I start in the position 2 (column 2 out of 3, in the first
of 4 rows) I want to find the so-called "fixed point", the ultimate
state density function, as the number of steps goes to infinity. I know
that I can do this numerically using MatrixPower as follows (here is 100
steps which appears to be more than enough in this case):
In[19]:= MatrixPower[N[m],100][[2]]//Chop
Out[19]= {0,0,0,0,0,0,0,0,0,0,0,0,0.809663,0.190337}
I believe that it is also possible to get this same result by using the
SingularValueDecomposition function, but I cannot figure out how to get
this to work. Can someone please show me how to use
SingularValueDecomposition to get the same answer to this question? I
know there are other ways to solve this, but I am really interested in
using SingularValueDecomposition in this case. Thanks.