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
>  

Reply via email to