To charactorize the topological property of a certain state, the entanglement in k-space are often calculated. But I haven’t found an detailed instruction about it.

How can we get entanglement spectrum seperated with momentum?
and can we get this spectrum in ITensor forum?

A way to do what you are asking is to work in a basis of “sites” which are actually in “momentum space” in the y direction around a cylinder, describing a quasi-2D system.

For example, this ITensor example code uses a basis called “ElecK” which means electron sites in momentum space. (You can see on line 28 that the siteinds function takes an argument modulus_ky=Ny which is the lattice size used to determine the k-space momentum points for this basis.)

Then, when you compute the entanglement spectrum of such a system on a cylinder, you can retrive the momentum “quantum numbers” associated with each of the Schmidt values (singular values) when doing the SVD across the cut. That way you can label the entanglement spectrum with y-momentum.

Thanks for your fast reply.
I still can’t get the point of transforming the Halmiltonian.
How can I put momentum QN k into k-space site?
A simple example would be very helpful.
Is it easy to rewrite the model of a 4-site SpinHalf Heisenberg 1d chain in PBC?
We can have kx=0,0.50π,1.00π,1.50π. then how can we set site?
2 sites are ok,if it can save your time.

Hi,kevinh
I just measure the momentum of my decomposed state.
Fortunately, they have good momentum QN, not sum of energy degenerate states of different momentums.
This may not be the proper solution. I just use it with tiny endurable error.

I’m glad to hear about your progress. Your efforts have paid off. But this question seems a little confused to me. I sincerely hope that you can share a simple and minimal code as an example for me or other beginners have relevant questions?

Sincerely hope to get your reply! Any help from you is very important for beginners like me!!