[R] eigenvalues of a circulant matrix

Globe Trotter itsme_410 at yahoo.com
Mon May 2 15:35:55 CEST 2005


OK, lets redo this again, and ensure that we start with a row that will indeed
lead to a symmetric matrix for the circulant matrix:

x<-scan("kinv")
y<-x[c(109:1,2:108)]

X=toeplitz(y)
Z=y
for (i in 2:216) Z=rbind(Z,y[c((216-i+2):216,1:(216-i+1))])

range(X-Z)
[1] 0 0

eigen(X) is the same as eigen(Z), but we know that Z is a circulant matrix so
the eigenvectors are complex....

Any thoughts/screams?


--- Prof Brian Ripley <ripley at stats.ox.ac.uk> wrote:
> On Sun, 1 May 2005, someone who didn't give his name wrote:
> 
> > It is my understanding that the eigenvectors of a circulant matrix are 
> > given as follows:
> >
> > 1,omega,omega^2,....,omega^{p-1}
> >
> > where the matrix has dimension given by p x p and omega is one of p complex
> > roots of unity. (See Bellman for an excellent discussion on this).
> 
> What is the relevance of this?  Also, your reference is useless to us, 
> which is important as this all hinges on your definitions.
> 
> > The matrix created by the attached row and obtained using the following 
> > commands indicates no imaginary parts for the eigenvectors. It appears 
> > that the real values are close, but not exactly so, and there is no 
> > imaginary part whatsoever.
> >
> > x<-scan("kinv.dat")       #length(x) = 216
> > y<-x[c(109:216,1:108)]
> > X<-toeplitz(y)
> > eigen(X)$vectors
> 
> We don't have "kinv.dat", but X is not circulant as usually defined.
> 
> > Note that the eigenvectors are correct, and they are indeed real, 
> > because X is symmetric.
> >
> > Is this a bug in R? Any insight if not, please!
> 
> Well, first R calls LAPACK or EISPACK, so it would be a bug in one of 
> those.  But in so far as I understand you, X is a real symmetric matrix, 
> and those have real eigenvalues and eigenvectors.
> 
> I think you are confused about the meaning of Toeplitz and circulant.
> Compare
> 
> http://mathworld.wolfram.com/CirculantMatrix.html
> http://mathworld.wolfram.com/ToeplitzMatrix.html
> 
> and note that ?toeplitz says it computes the *symmetric* Toeplitz matrix.
> 
> There is a very regretable tendency here for people to assume their 
> lack of understanding is `a bug in R'.
> 
> -- 
> Brian D. Ripley,                  ripley at stats.ox.ac.uk
> Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
> University of Oxford,             Tel:  +44 1865 272861 (self)
> 1 South Parks Road,                     +44 1865 272866 (PA)
> Oxford OX1 3TG, UK                Fax:  +44 1865 272595
>




More information about the R-help mailing list