| Are you trying to do principal component analysis? If so, the
"proper name" for what you want is are the "principal components"
(good thinking!), rather than the eigenvectors per se.
If this is indeed the case, then you may be in luck in that
what you really want are the dominant components and not all
of them. There are efficient ways to obtain these and they
involve what are known as Lanczos methods, which are a kind of
generalization of the old power method for obtaining the dominant
eigenvalue and its eigenvector.
I've never worked on this type of problem myself so I can't
recommend software packages off the top of my head, but I can give
some pointers.
Take a look in netlib (there are pointers elsewhere in this file) -
this is a collection of mathematical routines, including the pieces
of LINPACK and EISPACK. Another possibility is statlib, a similar
server containing statistical routines.
Books which explain the computations are Golub and Van Loan's
"Matrix Computation" and Parlett's book "The Symmetric Eigenvalue
Problem". Even if you wanted to just bruteforce it, you could
try doing a SVD on the matrix and see what happens. It's about
2 meg, so by todays standards that's a "small matrix".
If you need an SVD routine to try or want any clarification, let me
know since I probably have the small matrix code online. What I don't
have is the Lanczos iteration stuff, but that stuff is not all that
hard to code if you had to - as long as you don't need to write
library grade software you can get away with a lot...
- Jim
|