April 7th, 2006, 3:17 pm
I would estimate the compute time to be only a few hours.We have a system that computes the eigenvalues/eigenvectors of a dataset consisting of about 500 data rows with 120 variables each in less than 2 seconds and doing PCA on a 360 x 360 covariance matrix takes about 45 seconds. I believe the algorithm we use is O(N^3), so total time (assuming the covariance matrix fits in memory) would be approx 2 * (10^3) = 2000 seconds or 33.3 minutes.As the dataset gets bigger and bigger, your virtual memory paging to/from disk becomes the bottleneck, not the matrix calculations. But for something like 1000 x 1000, I think this could be done in a couple of hours.