Now, I am coding 1-site DMRG with subspace expansion method (or 3S method) in Julia, which includes the additional step of adding perturbation term by increasing virtual bond dimension. Initially, I encountered an issue during testing while using the combiner function to merge Indexes considering quantum numbers.
When selecting two virtual bond index each one from the MPS and MPO of a specific site and combining them with the combiner function, it appears that the dimensions of the quantum numbers do not match. Selecting two virtual bond indexes from the MPS and combining them with the combiner function results in properly matching quantum numbers and dimensions.
However, upon examining the indexes of the MPO, All virtual bond indices include empty tagged quantum number but assigned dimension 1 (QN() => 1), indicating that quantum numbers have not been assigned. Furthermore, when combining the indexes of the MPS and MPO, while some of quantum numbers correctly match the bond dimension, others yield larger dimensions. It’s unclear what the issue is.
(P.S. We want to perform a direct sum of tensors, but currently, we’re copying each component one by one using a for loop, which is too slow. Is there a different method available?)"