Hi Miles, sorry for all the questions ...
I did the trick with directly building the exponentiated operator, and it works great! However, I am still having issues with denmatDecomp. When running the code above I get
Tensor AA:
/--------------IQTensor--------------
r=3 div=QN(5) log(scale)=2.22045e-16
IQIndex("d",11,Link|774) <Out>
("d_0",1,Link|168) QN(0)
("d_1",2,Link|428) QN(1)
("d_2",2,Link|891) QN(2)
("d_3",3,Link|536) QN(3)
("d_4",2,Link|571) QN(4)
("d_5",1,Link|534) QN(5)
IQIndex("Boson 2",5,Site|972) <Out>
("Emp 2",1,Site|519) QN(0)
("Occ1 2",1,Site|162) QN(1)
("Occ2 2",1,Site|213) QN(2)
("Occ3 2",1,Site|60) QN(3)
("Occ4 2",1,Site|696) QN(4)
IQIndex("Boson 1",5,Site|113) <Out>
("Emp 1",1,Site|845) QN(0)
("Occ1 1",1,Site|715) QN(1)
("Occ2 1",1,Site|695) QN(2)
("Occ3 1",1,Site|867) QN(3)
("Occ4 1",1,Site|439) QN(4)
\------------------------------------
Tensor A:
/--------------IQTensor--------------
r=4 div=QN(0) log(scale)=0
IQIndex("d",11,Link|774) <Out>
("d_0",1,Link|168) QN(0)
("d_1",2,Link|428) QN(1)
("d_2",2,Link|891) QN(2)
("d_3",3,Link|536) QN(3)
("d_4",2,Link|571) QN(4)
("d_5",1,Link|534) QN(5)
IQIndex("Boson 2",5,Site|972) <Out>
("Emp 2",1,Site|519) QN(0)
("Occ1 2",1,Site|162) QN(1)
("Occ2 2",1,Site|213) QN(2)
("Occ3 2",1,Site|60) QN(3)
("Occ4 2",1,Site|696) QN(4)
IQIndex("Boson 1",5,Site|113) <Out>
("Emp 1",1,Site|845) QN(0)
("Occ1 1",1,Site|715) QN(1)
("Occ2 1",1,Site|695) QN(2)
("Occ3 1",1,Site|867) QN(3)
("Occ4 1",1,Site|439) QN(4)
IQIndex("d",1,Link|694) <In>
("d_5",1,Link|224) QN(5)
\------------------------------------
Tensor B:
/--------------IQTensor--------------
r=1 div=QN(5) log(scale)=4.44089e-16
IQIndex("d",1,Link|694) <Out>
("d_5",1,Link|224) QN(5)
\------------------------------------
It appears like the decomp creates a sort of dummy index, d_5, which is turned into the tensor B, while A gets to keep all the indices of the combined tensor. I am unsure how this happens, and how I can prevent this.