Hi everybody!
My goal is to compute a density-density correlation, \langle \hat n(t) \hat n(0) \rangle, where \hat n is a number operator at a given site.
First I have obtained a wave function psi using DMRG. Now I would like to compute the correlator at different times. I am having difficulties at evaluating simple overlaps at different times. I tried something like the following:
auto psi0 = psi;
// later: compute <n_k^t n_j^0> at sites k and j
// psi.Aref(k) *= sites.op("N", k);
// psi.Aref(k).noPrime();
psi = applyMPO(expiH, psi, args);
psi.noPrime().normalize();
auto op_j = op(sites,"N",j);
psi0.position(j);
psi.position(j);
auto ket = psi(j);
auto bra = dag(prime(psi0(j),"Site"));
auto res = eltC(bra*op_j*ket);
Apparently I am passing the wrong number of IndexVals to eltC (expected 0, got 4). The Hamiltonian (MPO) in expiH = toExpH(ampo, dt*Cplx_i)
contains on-site and hopping terms between adjacent and next-nearest sites. Any help is appreciated, and I can give more details if necessary.