TDVP with Sum of MPOs in C++ ITensor, Like DMRG

Hi,
I am working with ITensor in C++ and looking to perform TDVP time evolution for a Hamiltonian expressed as a sum of multiple MPOs.

In DMRG, Hamiltonians can be handled as a sum of multiple MPOs (e.g., H=H_1+H_2+H_3) without explicitly summing them, improving both efficiency and accuracy. Instead, the algorithm internally loops over the MPO terms.

Is there a similar approach for TDVP within the C++ ITensor framework that allows time evolution to be performed efficiently using separate MPOs without explicitly forming a single summed MPO?

Thanks in advance!

Best
Sambu

Have you tried it? I see it defined here: TDVP/tdvp.h at af8d784b9ed77df69a43b57b2b6ccee2a79bce35 · ITensor/TDVP · GitHub

Hi,
Sorry for the delayed response. Yes, I’ve tried it, and it works well for different MPOs.

Thanks!