# large matrix eigenvalue problem

I need solve a very large complex matrix (not sparse and not symmetry) eigenvalue problem, e.g., 1e4*1e4 or even 1e6*1e6.

How large dimensions of the matrix can Mathematica support? And, how about the run time?

Or, any one have good suggestions for this?

-
kkkk = 1000;Timing[Eigenvalues[RandomReal[{0, 1}, {kkkk, kkkk}]]][[1]] -> 4.2 seconds, kkkk = 1200; Timing[Eigenvalues[RandomReal[{0, 1}, {kkkk, kkkk}]]][[1]]-> 6.4 seconds. I have a relatively slow computer. –  Jacob Akkerboom Apr 24 '13 at 9:49
Here is a measurement series on a computer with 12 CPUs (not entirely quiet) data = {{1000, 1.7}, {1200, 1.9}, {2000, 6.5}, {4000, 64.7}, {5000, 70.}, {6000, 107.}, {8000, 237.}, {10000, 466.}} First is the size kkkk then are computation seconds. You can extrapolate from that until you run out of memory.... –  user21 Apr 24 '13 at 10:47
1e4 in 12*466s, seems OK for me. Thanks. –  hsxie Apr 24 '13 at 13:13
10000x10000 should be okay on 64 bit machines. For the 10^6 size range I think all you can hope for is to get the largest few using some variant of the power method. This will only fly if you have a simple way to obtain matrix-times-vector without putting the entire matrix in memory. –  Daniel Lichtblau Apr 24 '13 at 14:06

64 bit Mathematica does not have any practical limits on this. What limits you is the speed of your computer and the available memory. A $k\times k$ matrix will take a bit more than $8\times k^2 / 1024^3$ gigabytes of memory, so you see that a $10^6 \times 10^6$ matrix needs ~7500 GB of memory to store. You probably don't have that much in your computer.