I calculated the eigenvectors of a unitary matrix with Maple10. (that is, I'm dealing complex vector space)
Also, I computed it with C program made by myself.
The eigenvalues coincide in two methods up to their order. But eigenvectors are different up to complex phase. Let me say,
Let E_M(i) be the i-th eigenvector of the given matrix A calculated by Maple10 and let E_C(j) be the j-th eigenvector of A computed by the C program. Both of them are eigenvectors of A, that is,
A&*E_M(i) = lambda(i)*E_M(i)
A&*E_C(i) = lambda(i)*E_C(i)
But, dotprod(E_C(i), E_M(j)) != kronecker_delta(i,j).
Easily speaking, there is a relation such as
E_C(i) = exp(I*phi)*E_M(i).
So, my question is "can I know how maple10 finds their eigenvalues?"
I already know it is not a critical problem. However, I should make my C program print the EXACTLY same result with Maple10. Please help me.