Thanks.
As an aside, another way that seems to work is to set the initial vector to a random REAL vector. It seems to also fix this problem. Though I don’t know how robust it is. -Andrew On Wed, Feb 4, 2015 at 11:49 AM, Jose E. Roman <[email protected]> wrote: > El 04/02/2015, a las 19:32, Andrew Spott escribió: >> When I compute the eigenvectors of a real symmetric matrix, I’m getting >> eigenvectors that are rotated by approximately pi/4 in the complex plane. >> So what could be purely real eigenvectors have some overall phase factor. >> >> Why is that? And is there a way to prevent this overall phase factor? >> >> -Andrew >> > Eigenvectors are normalized to have 2-norm equal to one. Complex eigenvectors > may be scaled by any complex scalar of modulus 1. When computing eigenvectors > of a real symmetric matrix in complex arithmetic, the solver cannot control > this because the matrix is not checked to be real. > Since you know it is real, you could do a postprocessing that scales the > eigenvectors as you wish. This is done in function FixSign() in this example: > http://slepc.upv.es/documentation/current/src/nep/examples/tutorials/ex20.c.html > Jose >
