Skip to content

eigenvalues of a circulant matrix

2 messages · Globe Trotter, Brian Ripley

#
Hi,

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). 

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

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!

Many thanks and best wishes!


This is unrelated, but can the R-help archive maintainers please not put e-mail
addresses in the archive? This would really help people like me who would like
to post using their professional e-mail addresses. Just stripping the e-mail
address from everything else would be great, or make it non-spammable by adding
some random number or something which would be obvious to anyone reading it
without the help of a machine. After all, why give spider programs more fodder?

Best wishes!

__________________________________________________




__________________________________________________




__________________________________________________
#
On Sun, 1 May 2005, someone who didn't give his name wrote:

            
What is the relevance of this?  Also, your reference is useless to us, 
which is important as this all hinges on your definitions.
We don't have "kinv.dat", but X is not circulant as usually defined.
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'.