Hello, There really is no "sign convention" regarding eigenvectors, since if v is an eigenvector of a matrix, any scalar multiple of v is also an eigenvector. gsl_eigen_hermv guarantees that the eigenvectors are normalized to unit magnitude, but of course the negative of the computed vector is still a valid eigenvector with unit magnitude.
I suspect you will find that any eigenvector software will exhibit the same behavior. There really is no way to determine a standard sign convention for eigenvectors. On 02/04/2014 06:50 AM, Walter Hahn wrote: > Dear all, > > after using the procedure gsl_eigen_hermv to diagonalize a matrix, I > suspect that the sign convention for the eigenvectors should be > reconsidered. > > More specifically, I diagonalize a matrix which has only a few non-zero > entries, namely at m(2i,2i+1) and m(2i+1,2i) for all i. In my case, I > diagonalize a 8x8 matrix with real entries, e.g. 1.0. In other words, > the matrix represents the tensor product of the first Pauli matrix four > times with itself. > > The eigenvectors should be of the following form (not normalized): > v1=(1,1,0,0,0....) > v2=(-1,1,0,0,0,...), > other eigenvectors can be obtained by shifting the non-zero coefficients > of v1 and v2 by two places to the right. > > However, diagonalizing the 8x8 matrix described above, I obtain the > eigenvectors as described above exept the last one which is > v8=(0,0,0,0,0,0,1,-1) instead of (0,0,0,0,0,0,-1,1), i.e., multiplied > with (-1). Therefore, I think that the sign convention is either not > implemented correctly or the convention used is not broad enough. > > Please find in the attachment to this e-mail a simple compilable code > which demonstrates this problem. > > Thank you, > Walter >
