Hi Miles,

I am recently trying to implement Strictly single-site DMRG algorithm with subspace expansion as described in https://journals.aps.org/prb/abstract/10.1103/PhysRevB.91.155115 to speed up the DMRG.

In stead of doing density matrix correction after optimizing local tensor, they concatenate the local tensor with some tensor to increase the bond dimension. So I wonder what's the most efficient way to concatenate two tensor for both ITensor and IQTensor.

For example, suppose that I have two tensors of rank two defined as follows.

auto I = Index("I",5);

auto J = Index("J",8);

auto K = Index("K",2);

auto A = ITensor(I,J);

auto B = ITensor(I,K);

After concatenation, the output should also be a tensor of rank 2. One of the index is I and another index has dimension J.m() + K.m() = 8 + 2 = 10.

I tried to access each element of the two tensors and move them to a new tensor but it turns out to be inefficient.

Thanks,

Ze-Pei