Page 1 of 1

Adaptive bond dimension growth

Posted: 07 Sep 2025, 09:46
by Ang
When using the dmrg.TwoSiteDMRGEngine function in TeNPy, we can configure a variety of DMRG parameters to control computational precision. However, I am not fully familiar with how these parameters operate within the algorithm—particularly the truncation parameters in the tenpy.linalg.truncation.truncate function. This lack of clarity leaves me unsure how to implement adaptive bond dimension growth.

To clarify what I mean by "adaptive bond dimension growth": During the two-site DMRG computation, the bond dimension of the variational MPS should not increase, provided that the maximum Schmidt value remains smaller than the svd_min truncation parameter in tenpy.linalg.truncation.truncate.

I believe this approach (using adaptive bond dimension growth instead of manually setting a fixed chi_max) would help avoid overestimating required memory resources and also reduce computational time.

Thus, I would greatly appreciate it if anyone could explain how to implement this adaptive bond dimension growth in TeNPy?