Inquiry about PBC-optimized DMRG support in ITensor

Hi everyone,

I’m working on DMRG simulations of 1D quantum systems with periodic boundary conditions (PBC), and I’m aware that standard DMRG suffers from reduced accuracy and efficiency for PBC due to the long-range bond and repeated renormalization of operators.

In the literature, several improved approaches have been proposed—for example:

  • The MPS-based PBC method by Verstraete, Porras, and Cirac (PRL 93, 227205 (2004)),
  • The efficient circular MPS algorithm by Pippan, White, and Evertz (PRB 81, 081103 (2010)) that reduces scaling from (O(m^5)) to (O(m^3)),
  • And a modified DMRG scheme by Dey, Maiti, and Kumar (Papers in Physics 8, 080006 (2016)) that avoids multiple renormalizations and retains sparsity.

I was wondering:

  1. Has ITensor already incorporated any of these PBC-optimized strategies into its core DMRG workflows?
  2. If these specific methods are not yet implemented, is there community interest or ongoing development work to add such PBC optimizations? Many researchers working on periodic 1D systems would benefit from native support for these efficiency-enhancing approaches.

Thank you very much for your time, and for maintaining such a powerful, well-supported library that advances quantum many-body simulations.

Best regards,
UynajGI

Hi UynajGI,
I agree it would make sense for there to be an implementation somewhere of one or more of the above ideas using ITensor and ITensorMPS. I think the best way to proceed would be if you wanted to implement one, say the Pippa, White, Evertz, algorithm, to start by creating your own ITensor-based package similar to the Community Codes listed on our website. A good recent example is the ITensor Entropy Tools (ITensorEntropyTools.jl) package which implements a very specific set of algorithms.

We are hoping over time to have more of an ‘ecosystem’ approach like this where overlay packages can be at different levels of development and support so users can explore more experimental ideas. Then if there are common code patterns that emerge, or missing library features from our core libraries, we could certainly start a discussion about adding or fixing those.

Also, we do have plans to support periodic boundary conditions in our next-gen tensor network packages such as ITensorNetworks.jl, but implemented in a broader context through more general approaches like belief propagation (since many of those early algorithms can be viewed as special cases of belief propagation and corrections to belief propagation), and also sharing internal implementations with open boundary condition DMRG and other related algorithms. That will make it easier to support and maintain without writing an entirely separate code from scratch, and also have it in a more general form that can generalize to other loopy networks, but it will take time to turn that into a form that we can release for public use.