I am using SGEEV to calculate the eigenvalues and right eigenvectors of a block diagonal matrix. For some examples SGEEV seems to be giving the wrong result. I have attached the code along with this post. It is almost exactly the same code as the mkl example for sgeev. I have just changed the matrix and the output routine (since I know that the eigenvectors and values are real). If V_r is the right eigenvector and D = diagonal matrix of eigenvalues for matrix A, it can be verified from the output that A*V_r != V_r*D.
I think I might be abusing the interface or just doing something plain wrong. Could someone please clarify whether the issue is with mkl or with my usage of the routine?
Thanks in advance,