Dear Miles,
Thanks for the suggestions, I have tested it using the delta function and tried to replace the indices but there is still the error saying "Diagonal elements of QDiag ITensor would have inconsistent divergence". I should have pointed out before that the error message only appears in the debug mode, but that is still a little bit concerning. Here is the printout of wf,
ITensor ord=14:
(2|id=355|n=97,Site,S=1/2) <Out>
1: 1 QN({"Sz",1})
2: 1 QN({"Sz",-1})
(100|id=705|l=96,Link) <Out>
1: 5 QN({"Sz",4})
2: 26 QN({"Sz",2})
3: 37 QN({"Sz",0})
4: 26 QN({"Sz",-2})
5: 6 QN({"Sz",-4})
(2|id=984|n=98,Site,S=1/2) <Out>
1: 1 QN({"Sz",1})
2: 1 QN({"Sz",-1})
(2|id=494|n=99,Site,S=1/2) <Out>
1: 1 QN({"Sz",1})
2: 1 QN({"Sz",-1})
(2|id=351|Site,n=100,S=1/2) <Out>
1: 1 QN({"Sz",1})
2: 1 QN({"Sz",-1})
(2|id=39|Site,n=101,S=1/2) <Out>
1: 1 QN({"Sz",1})
2: 1 QN({"Sz",-1})
(2|id=302|Site,S=1/2,n=102) <Out>
1: 1 QN({"Sz",1})
2: 1 QN({"Sz",-1})
(2|id=902|Site,S=1/2,n=103) <Out>
1: 1 QN({"Sz",1})
2: 1 QN({"Sz",-1})
(2|id=677|Site,S=1/2,n=104) <Out>
1: 1 QN({"Sz",1})
2: 1 QN({"Sz",-1})
(2|id=434|Site,S=1/2,n=105) <Out>
1: 1 QN({"Sz",1})
2: 1 QN({"Sz",-1})
(2|id=693|Site,S=1/2,n=106) <Out>
1: 1 QN({"Sz",1})
2: 1 QN({"Sz",-1})
(2|id=22|Site,S=1/2,n=107) <Out>
1: 1 QN({"Sz",1})
2: 1 QN({"Sz",-1})
(100|id=525|Link,l=108) <Out>
1: 6 QN({"Sz",4})
2: 26 QN({"Sz",2})
3: 37 QN({"Sz",0})
4: 25 QN({"Sz",-2})
5: 6 QN({"Sz",-4})
(2|id=568|Site,S=1/2,n=108) <Out>
1: 1 QN({"Sz",1})
2: 1 QN({"Sz",-1})
{norm=1.00 (QDense Cplx)}
where lf is the Link index with l=96, and rt is the Index with l=108. I think the error is because that the bond dimensions of certain quantum number sector does not match with the one in the other index, if I do wf.replaceInds({rt}, {prime(rt)}); then there is no error. I was wondering if there is any way to fix the bond dimensions of every quantum number sector for those two Indices the same during the DMRG process as a constrained sweeps.
Best,
Yixuan