[R] Matrix multiplication

Nordlund, Dan (DSHS/RDA) NordlDJ at dshs.wa.gov
Wed Dec 12 20:54:07 CET 2012


> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
> project.org] On Behalf Of annek
> Sent: Tuesday, December 11, 2012 11:19 PM
> To: r-help at r-project.org
> 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


Suggest you look at the %^% operator from the expm package for raising a matrix to a power.

library(expm)
T %^% 200


Hope this is helpful,

Dan 

Daniel J. Nordlund
Washington State Department of Social and Health Services
Planning, Performance, and Accountability
Research and Data Analysis Division
Olympia, WA 98504-5204



More information about the R-help mailing list