Computing out-of-time correlation function

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.