ITensorNetworks.jl
ITensorNetworks.jl copied to clipboard
Implement n-point correlators
@srwhite59 suggested an interesting idea for implementing n-point correlators as a product of MPOs, one for each operator, which captures the logic of placing the operator in a superposition of each site it is being measured on. I think it could simplify the implementation of ITensorCorrelators.jl and also make it easier to generalize that package to tree tensor networks or even loopy tensor networks.
@JoeyT1994 @emstoudenmire
Yes, I definitely support this idea. This is where the MPO's carry an extra index determining the position of the operator, correct?
Yeah, that's the idea.
Interesting! This sounds pretty novel. So would the broad strokes be that you cache the "environment" of <psi|O|psi> where O is this special MPO/ TNO and recycle it for each correlator you wish to measure, fixing a value of the extra indices for the given n-point correlator?
It could be very convenient to make these MPO's using OpSum, with a trick that there could be a fictitious first site where one puts projection operators (or states, since now OpSum can handle single index sites, or should be able to in the near future) that "lock" that index to match the position of each operator in the sum.