Interesting. I happen to know a little bit about Berry's phase http://keck.ucsf.edu/~kalatsky/publications/PRL1998_BerryPhaseForLargeSpins.pdf http://keck.ucsf.edu/~kalatsky/publications/PRA1999_SpectraOfLargeSpins-General.pdf The latter one knocks out all point groups. Probably you want to do something different, I cared about eigenvalues only (BTW my Hamiltonians were carefully crafted). Cheers Val
PS I doubt anybody on this list cares to hear more about Berry's phase, should take this discussion off-line 2012/4/3 Hongbin Zhang <hongbin_zhan...@hotmail.com> > Hej Val, > > Thank you very much for your replies. > > Yes, I know that both eigenvectors are correct while they are indeed > related > to each other by unitary transformations (unitary matrices). > > Actually, what I am trying to do is to evaluate the Berry phase which is > closely related to the gauge chosen. It is okay to apply an arbitrary > phase to the eigenvectors, while to get the (meaningful) physical quantity > the phase should be consistent for all the other eigenvectors. > > To my understanding, if I run both Fortran and python on the same computer, > they should have the same phase (that is the arbitrary phase is > computer-dependent). Maybe some additional "rotations" have been performed > in > python, > but should this be written/commented somewhere in the man page? > > I will try to fix this by performing additional rotation to make the > diagonal > elements real and check whether this is the solution or not. > > Thank you all again, a nd of course more insightful suggestions are > welcome. > > Regards, > > > Hongbin > > > > Ad hoc, ad loc > and quid pro quo > > &n bsp; > --- Jeremy Hilary Boob > > > ------------------------------ > Date: Mon, 2 Apr 2012 22:19:55 -0500 > From: kalat...@gmail.com > To: numpy-discussion@scipy.org > Subject: Re: [Numpy-discussion] One question about the numpy.linalg.eig() > routine > > > BTW this extra degree of freedom can be used to "rotate" the eigenvectors > along the unit circle (multiplication by exp(j*phi)). To those of physical > inclinations > it should remind of gauge fixing (vector potential in EM/QM). > These "rotations" can be used to make one (any) non-zero component of each > eigenvector be positive real number. > Finally to the point: it seems that numpy.linalg.eig uses these > "rotations" to turn the > diagonal elements in the eigenvector matrix to real positive numbers, > that's why the numpy solutions looks neat. > Val > > PS Probably nobody cares to know, but the phase factor I gave in my 1st > email should be negated: > 0.99887305445887753+0.047461785427773337j > > On Mon, Apr 2, 2012 at 8:53 PM, Matthew Brett <matthew.br...@gmail.com>wrote: > > Hi, > > On Mon, Apr 2, 2012 at 5:38 PM, Val Kalatsky <kalat...@gmail.com> wrote: > > Both results are correct. > > There are 2 factors that make the results look different: > > 1) The order: the 2nd eigenvector of the numpy solution corresponds to > the > > 1st eigenvector of your solution, > > note that the vectors are written in columns. > > 2) The phase: an eigenvector can be multiplied by an arbitrary phase > factor > > with absolute value = 1. > > As you can see this factor is -1 for the 2nd eigenvector > > and -0.99887305445887753-0.047461785427773337j for the other one. > > Thanks for this answer; for my own benefit: > > Definition: A . v = L . v where A is the input matrix, L is an > eigenvalue of A and v is an eigenvector of A. > > http://en.wikipedia.org/wiki/Eigendecomposition_of_a_matrix > > In [63]: A = [[0.6+0.0j, > -1.97537668-0.09386068j],[-1.97537668+0.09386068j, -0.6+0.0j]] > > In [64]: L, v = np.linalg.eig(A) > > In [66]: np.allclose(np.dot(A, v), L * v) > Out[66]: True > > Best, > > Matthew > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > > _______________________________________________ NumPy-Discussion mailing > list NumPy-Discussion@scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > >
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion