I would like to diagonalize one unitary non-sparse matrix of size 12870 with complex number entries (not symbols, this is really a numerical problem). Is it possible to make eigensystem run in parallel - I have access to an HPC cluster with many kernels - so that the diagonalization runs as fast as possible?
Asked
Active
Viewed 932 times
3
Αλέξανδρος Ζεγγ
- 9,783
- 3
- 20
- 41
lagoa
- 835
- 1
- 7
- 10
Eigenvaluesfor instance should use all available cores on the machine it's running. By the way 12870 isBinomial[16, 8]so presumably you're looking at spinless fermions on a 16-site lattice at half filling? And the entries are complex so you are looking at a time-dependent H? Or maybe a density matrix? (idle guessing here while waiting for mma to finish something) – acl May 23 '14 at 17:01ParallelTable? That's what I do. Also, useful options might includeSetSystemOptions["ParallelOptions" -> "ParallelThreadNumber" -> 8];andSetSystemOptions["MKLThreads" -> 8];. If these suggestions don't help, could you explain why so we can come up with something? – acl May 23 '14 at 21:05MKLThreadsis set to the number of cores the CPU of the current machine has. Did you check how many cores Mathematica uses when you try to diagonalize your matrix? – acl May 23 '14 at 22:05