Dear Itensor,
I believe there is a bug in localop.h. On line 234, nc_ is first set to 2, then line 239 says it can only be 1.
223 inline LocalOp::
224 LocalOp(const ITensor& Op1,
225 const ITensor& L, const ITensor& R,
226 const Args& args)
227 :
228 Op1(nullptr),
229 Op2(nullptr),
230 L(nullptr),
231 R(nullptr),
232 size(-1)
233 {
234 nc = args.getInt("NumCenter",2);
235
236 if(nc_ == 1)
237 update(Op1,L,R);
238 else
239 Error("In LocalOp(ITensor,ITensor,ITensor), NumCenter cannot be set other than 1");
240 }
Thanks,
Yantao