DMRG for a two leg ladder model


I am using ITensor Julia to calculate the ground state of a two-leg ladder model by DMRG. while doing it I first kept fewer bond dimensions( that I know previously from reference) to found the ground state, and whatever state (psi) I got from it I keep it as an initial state for the next program with more bond dimensions to prove ground state energy is converging. But I am facing some errors while doing it. so my questions are as follows

Screenshot from 2022-09-07 20-08-12

Where new2 is a file where I stored ground state(psi) and keep the same state in dmrg function to find a new state, but I got an error as follows.

Screenshot from 2022-09-07 20-20-45

So, can you tell me how to fix it?

b) I think (please correct me if I am wrong) the dmrg code is available in the documentation is of two sites Dmrg method, is there any way we can customize it into the one-site?



Hi, so the reason for that error is that your MPS psi has different site indices from the MPO H. The site indices get made when you call the siteinds function, so if you code is making a new set of site indices to make H, but reading in psi from a previous run of the code (or a different code) it will have different site indices.

A good solution is to read in psi first, then call this function on it to retrieve its site indices:

s = siteinds(psi)

then use these to make H afterward.

Regarding two or one site DMRG, right now we only offer two-site DMRG. But in an upcoming package (the ITensorTDVP package) that we will eventually merge into ITensor, we will offer one-site DMRG and will make that available from within ITensor itself.

1 Like

Thanks, It is working now.

1 Like