+1 vote
asked by (390 points)


So I was thinking whether I can modify iTensor's implementation of DMRG so that the basis is not Slater determinants but some other states.

In other words, let's say I have a bunch of states that are othonormal. Can I implement DMRG in terms of those states?

Once again, thanks so much.

1 Answer

0 votes
answered by (70.1k points)

Yes, in principle you could but I'd need more information about which method you are wishing to implement. The simplest one I could think of would be this kind of method:
1. devise a set of local unitary transformations (or "gates") which change the original basis into the new basis you want
2. apply these gates to the MPO of your Hamiltonian to get a modified MPO Hamiltonian which is in the new basis
3. run DMRG on this modified Hamiltonian

But there might be other algorithms than the above one that match the description of what you want.


commented by (390 points)
Do you maybe have an example code or maybe can elaborate a bit more?
commented by (70.1k points)
Hi, sorry but I don't. We don't have a sample code for anything like this as far as I'm aware. The closest thing is Matt Fishman's Gaussian Matrix Product States package: https://github.com/mtfishman/GaussianMatrixProductStates.jl

If you dig into the details, the MPS it constructs can be related to a unitary circuit that defines a change of basis from real space (lattice basis) to a basis optimized to represent a certain Slater determinant or set of them. (I'd have to think about this a bit to see if it's really one or many.)

There was also a work about changing basis throughout a DMRG calculation for which there is an abstract here (https://ui.adsabs.harvard.edu/abs/2017APS..MARY20006C/abstract) but I'm not sure if that work ever got published.

Finally, I know Xiadong Cao has done some work on a similar idea for optimizing DMFT solvers, but again I don't know if that work is published or where. To find it I'd be doing the same as you, just looking in Google Scholar. You may also want to look at the "DMRG Homepage":
(The list of yearly arxiv references there which are quite comprehensive of everything related to tensor networks and DMRG.)
Welcome to ITensor Support Q&A, where you can ask questions and receive answers from other members of the community.

Formatting Tips:
  • To format code, indent by four spaces
  • To format inline LaTeX, surround it by @@ on both sides
  • To format LaTeX on its own line, surround it by $$ above and below
  • For LaTeX, it may be necessary to backslash-escape underscore characters to obtain proper formatting. So for example writing \sum\_i to represent a sum over i.
If you cannot register due to firewall issues (e.g. you cannot see the capcha box) please email Miles Stoudenmire to ask for an account.

To report ITensor bugs, please use the issue tracker.