Hi all,

I am trying to understand the code example for computing 2pt correlator of spinless fermion, using efficient MPS techniques. (the built-in function `correlation_matrix`

can not be applied to mixed types of sites which I'm currently working on)

The codes are quoted below:

```
orthogonalize!(psi,1)
C = zeros(N,N)
L = ITensor(1.)
for i=1:N
Li = L*psi[i]*op("Cdag",s,i)*dag(prime(psi[i]))
LiF = Li
for j=i+1:N
lind = commonind(psi[j],LiF)
LiF *= psi[j]
cij = LiF*op("C",s,j)*dag(prime(prime(psi[j],"Site"),lind))
C[i,j] = scalar(cij)
C[j,i] = conj(C[i,j])
LiF *= op("F",s,j)*dag(prime(psi[j]))
end
L *= psi[i]*dag(prime(psi[i],"Link"))
end
```

The only line makes me confused is `LiF*=op("F",s,j)*dag(prime(psi[j]))`

. According to the definition given here, `op("F")`

counts the parity of the fermion number at a given site: if there is a fermion at that site, it gives an additional minus sign.

It must somehow relate to the anti-commutation relation of fermions, but why we need it, can someone give me some insight on this?

Best,

Junsen