I am using numpy.linalg.eigvals() to obtain all the eigenvalues in a matrix. The matrices are large, at least 15000*15000 filled with complex128 variables.
I have access to a cluster where I can request many cpus (cores) to run the computation, so I would like to know
- Does numpyp.linalg.eigvals() automatically use all the cores available in a given computer node to speed up the diagonalisation process?
- If it does not do it automatically, is there a way to specify how many cores it should use.
Please note that my code uses Numba. I am open to using the scipy.linalg library if it is better, but the numpy.linalg library is easier with Numba.
Thank you.