Is it normal for the np.linalg.eig() function to take more than 10 minutes to work on a (15000, 15000) matrix? I'm running this on the colab environment with standard runtime.
Is it normal for the np.linalg.eig() function to take more than 10 minutes to work on a (15000, 15000) matrix? I'm running this on the colab environment with standard runtime.
Formaly the algorithm should scale as O(N^3) for an N-by-N matrix. So if N takes T time, then 2N takes 2^3T = 8T time, and 10N takes 10^3T = 1000T time. On my old laptop N=1500 takes 3.7 seconds. N=3000 takes 22 seconds, which is not really 8*3.7, but close enough.
Now 3000*5 = 15000, and 22*5^3 = 2750 seconds = 46 minutes. So that's the time it should take on my computer. So your computer is faster, but 15 minutes seems ok!