# [R] Matrix eigenvectors in R and MatLab

Mikael Niva mikael.niva at ebc.uu.se
Thu Apr 3 16:58:41 CEST 2003

```Dear R-listers

Is there anyone who knows why I get different eigenvectors when I run
MatLab and R? I run both programs in Windows Me. Can I make R to produce
the same vectors as MatLab?

#R Matrix
PA9900<-c(11/24 ,10/53 ,0/1 ,0/1 ,29/43 ,1/24 ,27/53 ,0/1 ,0/1 ,13/43
,14/24 ,178/53 ,146/244 ,17/23 ,15/43 ,2/24 ,4/53 ,0/1 ,2/23 ,2/43 ,4/24
,58/53 ,26/244 ,0/1 ,5/43)

#R-syntax
PA9900<-matrix(PA9900,nrow=5,byrow=T)
eigen(PA9900)

#R-output
\$values
[1]  1.2352970  0.3901522 -0.2562860  0.2259411  0.1742592

\$vectors
[,1]        [,2]        [,3]      [,4]       [,5]
[1,] -0.67795430 -1.70686496 -0.52613955 -8.675109 -0.8413826
[2,] -0.32621100  0.54611272 -0.21526356 -2.726193 -0.2876643
[3,] -2.83313878 -2.88801964  0.87388189 45.427935  4.5069361
[4,] -0.09857565 -0.33015962  0.09136359 -5.426254 -0.8201206
[5,] -0.68977432  0.01977374  0.61772506  3.751978  0.4348802

%Matlab Matrix
PA9900 =[11/24 10/53 0/1 0/1 29/43 ;1/24 27/53 0/1 0/1 13/43 ;14/24
178/53 146/244 17/23 15/43 ;2/24 4/53 0/1 2/23 2/43 ;4/24 58/53 26/244
0/1 5/43]

%MatLab-syntax
[wmat,dmat]=eig(mat)

%MatLab-output
wmat =

-0.2250    0.4330   -0.4998   -0.1795   -0.1854
-0.1083    0.1771    0.1599   -0.0614   -0.0583
-0.9403   -0.7191   -0.8457    0.9617    0.9708
-0.0327   -0.0752   -0.0967   -0.1750   -0.1160
-0.2289   -0.5083    0.0058    0.0928    0.0802

dmat =

1.2353         0         0         0         0
0   -0.2563         0         0         0
0         0    0.3902         0         0
0         0         0    0.1743         0
0         0         0         0    0.2259

Yours sincerely, Mikael Niva

********************************************
Mikael Niva
Avd. för Växtekologi, Dept. of Plant Ecology
EvolutionsBiologiskt Centrum, Uppsala Universitet
Villavägen 14
752 36 UPPSALA
E-post Mikael.Niva at EBC.UU.SE
Tel. +46 (0)18 471 28 65
Fax +46 (0)18 55 34 19

```