ITensorNetworks.jl icon indicating copy to clipboard operation
ITensorNetworks.jl copied to clipboard

Implement n-point correlators

Open mtfishman opened this issue 1 year ago • 4 comments

@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

mtfishman avatar May 15 '24 02:05 mtfishman

Yes, I definitely support this idea. This is where the MPO's carry an extra index determining the position of the operator, correct?

emstoudenmire avatar May 15 '24 09:05 emstoudenmire

Yeah, that's the idea.

mtfishman avatar May 15 '24 11:05 mtfishman

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?

JoeyT1994 avatar May 15 '24 16:05 JoeyT1994

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.

emstoudenmire avatar May 15 '24 23:05 emstoudenmire