[R] Matrix multiplication

Fg Nu fgnu32 at yahoo.com
Wed Dec 12 09:40:33 CET 2012



Try this

install.packages("expm")
library(expm)

T = matrix(c( 0.8797 ,   0.0382  , 0.0527  , 0.0008,
              0.0212 ,   0.8002  , 0.0041  , 0.0143,
              0.0981 ,   0.0273  , 0.8802  , 0.0527,
              0.0010 ,   0.1343  , 0.0630  , 0.9322), 
           nrow = 4, ncol = 4,byrow = T)
T %^% 200




----- Original Message -----
From: annek <annek at ifm.liu.se>
To: r-help at r-project.org
Cc: 
Sent: Wednesday, December 12, 2012 12:49 PM
Subject: [R] Matrix multiplication

Hi, 
I have a transition matrix T for which I want to find the steady state matrix for. This could be approximated by taking T^n , for large n. 

T= [ 0.8797   0.0382   0.0527   0.0008
      0.0212    0.8002   0.0041   0.0143
      0.0981    0.0273   0.8802   0.0527
      0.0010    0.1343   0.0630   0.9322]

According to a text book I have T^200 should have reached the steady state L

L =[0.17458813   0.17458813   0.17458813   0.17458813
      0.05731902   0.05731902   0.05731902   0.05731902
      0.35028624   0.35028624   0.35028624   0.35028624
      0.44160126   0.44160126   0.44160126   0.44160126]

I am addressing the problem using a for loop doing matrix multiplication (guess there might be better ways, please suggest) and find a steady state matrix after n=30. But if I run the code with n=100 or more I get "Inf" for all entities in L. Does anyone know why is that?

The code I use look like this
#------------------------------------
rep<-20

T <- Ttest
for(i in 1:rep){
print(i)
T<-T%*%Ttest
Ttest<-T
}
L<-T
print(L)
#----------------------------------
______________________________________________
R-help at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.





More information about the R-help mailing list