[R] eigenvalues of a circulant matrix

Prof Brian Ripley ripley at stats.ox.ac.uk
Mon May 2 08:05:30 CEST 2005

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.


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