# Single site DMRG C++

+1 vote

Hi，
when I tried to use single site dmrg (Electron)

auto [Energy, psi] = dmrg(H, psi0, sweeps, {"Quiet=", true, "NumCenter=", 1});


I encountered the following problem:

From line 137, file ITensor/itensor/iterativesolvers.h
davidson: size of initial vector should match linear matrix size.
dim(inds(phi.front())) = 16
A.size() = 4
davidson: size of initial vector should match linear matrix size.

How can I solve it?

answered by (70.1k points)

Hi, the answer is unfortunately single-site DMRG is not fully implemented. Are you able to use two-site DMRG for your problem?

Thanks,
Miles

commented by (270 points)
edited by
Dear Miles，

Thanks for your reply. In fact, I can use the two-site DMRG.  I tried to use the single-site DMRG  for reaching larger bond dimensions.  I wonder if the single-site version can be implemented by just modifying the function DMRGworker, because it seems that the localMPO and sweeps  already  support single-site DMRG. I think I can use spinless fermion
to realize an effective single-site DMRG of electron
Best!
Zongsheng Zhou