joselado / dmrgpy

DMRGPy is a Python library to compute quasi-one-dimensional spin chains and fermionic systems using matrix product states with DMRG as implemented in ITensor. Most of the computations can be performed both with DMRG and exact diagonalization for small systems, which allows one to benchmark the results.
GNU General Public License v3.0
83 stars 20 forks source link

Magnetization of an arbitrary 1D chain #14

Closed HamidArianZad closed 2 years ago

HamidArianZad commented 2 years ago

Dear Jose,

I am an ALPS package user. Recently, I have decided to work with DMRG to simulate 1D branched chains, two-leg and three-leg ladders. I found your dmrgpy package that seems to be nice to use in my future projects. I have a question regarding an arbitrary lattice chain. ALPS package allows one to construct any lattice for 1D models (lattice.xml) whose sites may have more than one adjacent spins that are interacted with. Does dmrgny have this option? Or it just supports 1D linear chains. For example, I would like to compute the total magnetization and local magnetization per site for a branched chain as shown in below

Threeside_Chain

or for a 3-leg ladder shown in below graph

ThreeLegLadder

Can I employ dmrgpy package to do these simulations? If so, please let me know how can I introduce my own 1D lattice to dmrgpy?

As far as I understood, dmrgpy is more efficient rather than ALPS, since it covers more subjects of many-body problem (dynamical properties of 1D models) and is faster to calculate the problems. Am I right?

joselado commented 2 years ago

Dear HamidArianZad,

thank you for your message. You can certainly solve that problem with dmrgpy. When setting up the Hamiltonian, you can include non-local couplings between any sites, realizing the models you mentioned above. You can check how the Hamiltonians are set up in some of the examples, and you would only need to include the specific couplings that would realize the models you want to study.

Regarding the comparison with ALPS, I would say that the two codes have different different strengths. So, depending on the task that you would like carry out, either ALPS or dmrgpy may be more convenient.

Best regards, Jose