Globe Trotter wrote:

Good point: the Bellman reference is a book:

Introduction to Matrix Analysis by Bellman (1960). McGraw-Hill Series in Matrix
Theory.


--- and republished much later by SIAM.

Kjetil


--- Robin Hankin <[EMAIL PROTECTED]> wrote:



Hi everyone.

The following webpage gives a definition of circulant matrix, which agrees with the
definition given in the magic package.


http://mathworld.wolfram.com/CirculantMatrix.html

best  wishes

rksh



On May 3, 2005, at 08:06 am, Mulholland, Tom wrote:



Well since I know nothing about this topic I have lurked so far, but here's my two bob's worth.

Firstly I tried to make sense of Brian's initial reply. I have got no idea who Bellman is and you have not referenced (his/her) work in a way I can access the issues you refer to. So I assumed that's exactly what Brian was talking about.

Secondly.

toeplitz(1:4)
    [,1] [,2] [,3] [,4]
[1,]    1    2    3    4
[2,]    2    1    2    3
[3,]    3    2    1    2
[4,]    4    3    2    1

require(magic)
circulant(4)
    [,1] [,2] [,3] [,4]
[1,]    1    2    3    4
[2,]    4    1    2    3
[3,]    3    4    1    2
[4,]    2    3    4    1

So they are obviously two different things. Although I think you may have implied (not stated) that the particular combination you were using resulted in both being exactly the same.

It does appear as if in this case the (X) matrix is circulant. But then I'm no expert in even such simple things.

Then I had no idea where I was going. So I tried the variations in eigen.

I ran you code
x<-scan("h:/t.txt")
y<-x[c(109:216,1:108)]
X<-toeplitz(y)
and then



X[is.na(X)]


numeric(0)

So I didn't get any NAs

t1 <- eigen(X)$vectors
t2 <- eigen(X,symmetric = TRUE)$vectors


identical(t1,t2)


[1] TRUE


Then

t2 <- eigen(X,symmetric = TRUE,EISPACK = TRUE)$vectors


identical(t1,t2)


[1] FALSE


So there'e obviously more than one way of getting the vectors. Does the second one make more sense to you?

I also noticed in the eigen help that there are references to issues such as "IEEE 754 arithmetic","(They may also differ between methods and between platforms.)" and "or Hermitian if complex". All of these are out of my competence but they do signal to me that there are issues which may relate to hardware, digital arithmetic and other things of that ilk.

I added the comment about complex because I have a vague idea that they are related to imaginary parts that you refer to.

So not coming to any conclusion that makes sense to me, and given that there are often threads about supposed inaccuracies that have answers such as the digits you see are not always what are held by the machine I set my options(digits = 22) and noticed that some of the numbers are still going at the 22 decimal place suggesting that the machine might be incapable of producing perfectly accurate results using digital arithmetic.

My other big sphere of ignorance is complex numbers.

So I tried
X<-toeplitz(complex(real = y))
t1 <- eigen(X)$vectors



t1[1:20]


[1] 0.068041577278880341+0i -0.068041577140546913+0i 0.068041576864811659+0i -0.068041576452430155+0i
[5] 0.068041575907139579+0i -0.068041575231135451+0i 0.068041574435267163+0i -0.068041573525828514+0i
[9] 0.068041572538722991+0i -0.068041571498323253+0i 0.068041570619888622+0i -0.068041570256170081+0i
[13] 0.068041568759931989+0i -0.068041566476633147+0i 0.068041563560502477+0i -0.068041560000305007+0i
[17] 0.068041555538765813+0i -0.068041549792984865+0i 0.068041544123969511+0i -0.068041537810956801+0i


t2[1:20]


[1] 0.068041381743976906 -0.068041381743976850 0.068041381743976781 -0.068041381743976753 0.068041381743976587
[6] -0.068041381743976725 0.068041381743976920 -0.068041381743976836 0.068041381743976892 -0.068041381743976781
[11] 0.068041381743976781 -0.068041381743977392 0.068041381743976725 -0.068041381743976753 0.068041381743976753
[16] -0.068041381743976698 0.068041381743976587 -0.068041381743976642 0.068041381743976698 -0.068041381743976490


Which is again different. I have no idea what I'm doing but you do seem to get slightly different answers depending upon which method you use. I do not know if one is superior to the others or where one draws the line in terms of accuracy.

Tom



-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Globe Trotter
Sent: Tuesday, 3 May 2005 10:51 AM
To: r-help@stat.math.ethz.ch
Subject: Re: [R] eigenvalues of a circulant matrix


OK, here we go:

I am submitting two attachments. The first is the datafile
called kinv used to
create my circulant matrix, using the following commands:


x<-scan("kinv") y<-x[c(109:1,0:108)] X=toeplitz(y) eigen(X) write(X,ncol=216,file="test.dat")

reports the following columns full of NaN's: 18, 58, 194,
200. (Note that
eigen(X,symmetric=T) makes no difference and I get the same as above).

The second attachment contains only the eigenvectors obtained
on calling a
LAPACK routine directly (from C). The eigenvalues are
essentially the same as
that obtained using R. Here, I use the LAPACK-recommended
double precision
routine dspevd() routine for symmetric matrices in packed
storage format. Note
the absence of the NaN's....I would be happy to send my C
programs to whoever
is interested.

I am using

:~> uname -a
Linux 2.6.11-1.14_FC3 #1 Thu Apr 7 19:23:49 EDT 2005 i686
i686 i386 GNU/Linux

and R.2.0.1.

Many thanks and best wishes!

______________________________________________
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





--
Robin Hankin
Uncertainty Analyst
Southampton Oceanography Centre
European Way, Southampton SO14 3ZH, UK
 tel  023-8059-7743





______________________________________________ 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







--

Kjetil Halvorsen.

Peace is the most effective weapon of mass construction.
              --  Mahdi Elmandjra





--
Internal Virus Database is out-of-date.
Checked by AVG Anti-Virus.

______________________________________________
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

Reply via email to