On Tue, Sep 21, 2010 at 11:28 AM, Andrew Dessler <adessler@tamu.edu> wrote:
Sudheer Phani <bpsu <at> james.hut.fi> writes:

>
> Hello All,
>
>    I have been encountering some strange problems with the calculation of
> eigen vectors using python. The problem is with the sign of the eigen
> vectors calculated. On Very few occasions the eigen vectors calculated
> using python have an opposite sign than the actual eigenvectors, though
> the magnitude is correct.
>
> Can any one of you plz help me in this regard and suggest me some solution
> if you have encoutered similar problems .
>
> Any help in this regd is appreciated
>
> Thanks in Advace
>
> regds
> Sudheer
>


I had a similar experience.  However, I solved it when I realized that the eig
routine in scipy.linalg does not necessarily return the biggest
eigenvalue/eigenvector first.  It often does, but not always.  Once I realized I
had to find the biggest one on my own, the problem was solved.


Note that eigen vectors don't *have* a sign and this is the case even if they are normalized. It is always possible to multiply them by +/- 1, or even by a complex number of magnitude 1 if you are working with complex arrays.

Chuck