[petsc-users] slepc and overall phase of computed eigenvectors

Jose E. Roman jroman at dsic.upv.es
Wed Feb 4 12:49:34 CST 2015


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
 


More information about the petsc-users mailing list