Eigenvalues for the transfer matrix and unit cells

How do I use this algorithm? What does that parameter do?
Post Reply
pasa
Posts: 23
Joined: 09 Mar 2020, 12:45

Eigenvalues for the transfer matrix and unit cells

Post by pasa »

Hi all,

I would like to ask you about the normalization of the eigenvalues of the transfer matrix for systems with unit cell L larger than 1. It appears that the real and imaginary parts of a given eigenvalue have different normalization conventions with respect to the unit cell size: If \(\lambda\) is an eigenvalue, then Tenpy gives
\( \lambda=e^{-L/\xi}e^{-i\phi} ,\)
instead of
\( \lambda=e^{-L/\xi}e^{-iL\phi} ,\)
as one would expect, where neither \(\xi\) nor \(\phi\) depend on \(L\). This implies that while one needs to scale the modulus of \(\lambda\) to get \(\xi\), this is not the case for the phase.

I wanted to know whether this is a bug.

Best,

Pablo
User avatar
Johannes
Site Admin
Posts: 413
Joined: 21 Jul 2018, 12:52
Location: TU Munich

Re: Eigenvalues for the transfer matrix and unit cells

Post by Johannes »

Hi Pablo,
which TeNPy function are you referring to?
TransferMatrix.eigenvectors() returns the eigenvalues \(\lambda\) of the full transfer matrix, there's no ambiguity there.
correlation_length returns the xi in your definition, to make sure it's independent of L; it's basically just changing the unit in which you measure the correlation length to be MPS sites; see also measurementtenpy.simulations.measurement.correlation_length().
However, doing a similar thing for the phase \(\phi\) is difficult, because it's not unique! When we get the eigenvalue 1 for a transfer matrix of length 2L, we don't know whether the true eigenvalue for the lenght-L transfer matrix is +1 or -1! The system might not even be translation invariant by a single site.
(For \(xi\), we just assume that it is translation invariant. If you have e.g. cylinder DMRG, this is actually not true, there's only translation invariance by (a multiple of) the N_sites_per_ring. But it's somewhat fine because there's a unique way to go from one to the other, so in measurementtenpy.simulations.measurement.correlation_length we can just switch to the proper unit.)
pasa
Posts: 23
Joined: 09 Mar 2020, 12:45

Re: Eigenvalues for the transfer matrix and unit cells

Post by pasa »

Hi Johannes,

thanks for the quick reply. So, I am working with a 1D system with unit cell L and this is the code I am using

Code: Select all

T = TransferMatrix(psi, psi, charge_sector=aux_c, form='A') 
E, _ = T.eigenvectors(Num_eig, which='LM')
e_list = -np.log(np.abs(E))
phi_list = np.angle(E, deg=False)
The reason I am interested in the phase is that I am expecting a spatial modulation of the correlations with given momentum \(k.\) I was confused because while one needs to normalize the real parts \(e_{list} \to e_{list}/L\) to get the correct correlation lengths \(\xi\), the phase already appears to be correct without such rescaling. I checked that this is in fact the case by choosing different \(L\) compatible with the modulation. And as you said, I was thinking it has to be related with the way the L-sites transfer matrix is normalized such that the largest eigenvalue is 1. So, then my question is: What is the physical quantity I should look at or what is the proper way to extract this phase? To be more specific: How would you e.g., obtain plots like the ones appearing in this reference https://arxiv.org/pdf/1408.5140.pdf [see e.g., Fig.2] where the phase is shown to be related to minima of the dispersion relation and thus has a physical meaning?

Thanks,

Pablo
User avatar
Johannes
Site Admin
Posts: 413
Joined: 21 Jul 2018, 12:52
Location: TU Munich

Re: Eigenvalues for the transfer matrix and unit cells

Post by Johannes »

I think you should just look at the Transfermatrix with the smallest possible number of sites.
This would be 2 sites for a Neel state, 1 for a completely translation invariant state. Sadly, we don't have an algorithm for the last case at the moment -even single site DMRG requires a two-site MPS unit cell at the moment. But if your state is actually translation invariant and in canonical form, you might get away with just taking one of the two iMPS tensors and plugging it into the transfer matrix.
pasa
Posts: 23
Joined: 09 Mar 2020, 12:45

Re: Eigenvalues for the transfer matrix and unit cells

Post by pasa »

Hi Johannes,

Thanks! But there is something I don't understand: If the problem is that the phase of the largest eigenvalue was non-zero, then when one groups sites, such phase should be also raised to the power \(L\)? But then, I would have expected that both the modulus and phase of the eigenvalues follow the same normalization convention. Nevertheless, TeNpy looks to get the correct phase and I would like to understand how :). Could you perhaps point me where exactly I could find this in the documentation?

Best,

Pablo
Post Reply