The construction was y<-x[c(109:1,2:108)]
so y is symmetric in the sense of the usual way of writing a function on integers mod n as a vector with 1-based indexing. I.e., y[i+1] = y[n-(i+1)] for i=0,1,...,n-1. So the assignment Z <- toeplitz(y) *does* create a symmetric circulant matrix. It is diagonalizable but does not have distinct eigenvalues, hence the eigenspaces may be more than one-dimensional, so you can't just pick a unit vector and call it "the" eigenvector for that eigenvalue. You choose a basis for each eigenspace. R detects the symmetry: ... symmetric: if `TRUE', the matrix is assumed to be symmetric (or Hermitian if complex) and only its lower triangle is used. If `symmetric' is not specified, the matrix is inspected for symmetry. (from help(eigen)) and knows that computations can be done with real arithmetic. As for why you get NaN, you should submit --along with your example-- details of your platform (machine, R version, how R was built and installed, etc). Reid Huntsinger -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: Monday, May 02, 2005 5:28 PM To: r-help@stat.math.ethz.ch Subject: Re: [R] eigenvalues of a circulant matrix On 02-May-05 Ted Harding wrote: > On 02-May-05 Rolf Turner wrote: >> I just Googled around a bit and found definitions of Toeplitz and >> circulant matrices as follows: >> [...] >> A circulant matrix is an n x n matrix whose rows are composed of >> cyclically shifted versions of a length-n vector. For example, the >> circulant matrix on the vector (1, 2, 3, 4) is >> >> 4 1 2 3 >> 3 4 1 2 >> 2 3 4 1 >> 1 2 3 4 >> >> So circulant matrices are a special case of Toeplitz matrices. >> However a circulant matrix cannot be symmetric. > > I suspect the confusion may lie in what's meant by "cyclically > shifted". In Rolf's example above, each row is shifted right by 1 > and the one that falls off the end is put at the beginning. This > cannot be symmetric for general values in the fist row. > > However, if you shift left instead, then you get > > 4 1 2 3 > 1 2 3 4 > 2 3 4 1 > 3 4 1 2 > > and this *is* symmetric (and indeed will always be so, for > general values in the first row). I just had a look at ?toeplitz (We should have done that earlier!) toeplitz package:stats R Documentation Form Symmetric Toeplitz Matrix ********* Description: Forms a symmetric Toeplitz matrix given its first row. ********* [...] Examples: x <- 1:5 toeplitz (x) > x <- 1:5 > toeplitz (x) [,1] [,2] [,3] [,4] [,5] [1,] 1 2 3 4 5 [2,] 2 1 2 3 4 [3,] 3 2 1 2 3 [4,] 4 3 2 1 2 [5,] 5 4 3 2 1 Since "Globe Trotter's" construction was Y<-toeplitz(x) it's not surprising what he got (and it *certainly* wasn't a circulant!!!). Everybody barking up the wring tree here! Best wishes to all, Ted. -------------------------------------------------------------------- E-Mail: (Ted Harding) <[EMAIL PROTECTED]> Fax-to-email: +44 (0)870 094 0861 Date: 02-May-05 Time: 22:27:32 ------------------------------ XFMail ------------------------------ ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html