# Parallel evaluation of symbolic matrix eigenvalues

I'm trying to find eigenvalues of symbolic hermitian 40x40 block matrix. It is made from 20 2x2 matrices like this:

ArrayFlatten[Table[M[m,n],{m,1,20},{n,1,20}]]


My computer can't solve this problem, it takes too much time, but I have an access to a multiple core cluster in my university. In order too use it, I have to parallelize the evaluation. Mathematica doesn't it automatically, and the command Parallelize[] result in an error Parallelize::nopar1.

So, the question is, is there a way to parallelize this task?

• I have the impression that the general process used to find eigenvalues is not parallelizable at all. It may be that special cases can be parallelizable, but you have to work out the details yourself and explicitly handle parallelization of intemediate calculations yourself. BTW you say you have 20 2x2 matrices, but your code suggests that you have 20x20 of such matrices (unless, of course, many of those 400 matrices are identical. – Sjoerd C. de Vries Jul 24 '15 at 10:20
• Also large symbolic matrices quickly yield extremely complex results, if they can be found at all. – Sjoerd C. de Vries Jul 24 '15 at 10:28
• Yes, if you were to obtain a symbolic result, it's likely it would be too complicated for you to do anything useful with it. – Simon Rochester Jul 24 '15 at 10:29
• Just to get a flavour of what you may face, look here - mathematica.stackexchange.com/questions/2586/… and it is a 10x10 matrix ! – Sumit Jul 24 '15 at 12:13
• Does the matrix have any structure? If it does, and if you know its symmetry group, you may be able exploit that to block diagonalize your matrix. Then, each block is separately diagonalizable. This might only work if your matrix is symmetric/Hermitian, but I don't know. – rcollyer Jul 24 '15 at 14:10