In neighborhood tensor update (NTU), the environment of a bond can be a finite patch around the bond. For example, if we contain two more layers around a bond, the environment is (the bra is contracted with ket)
(-2 -2)═(-2 -1)═(-2 +0)══(-2 +1)═(-2 +2)═(-2 +3)
║ ║ ║ ║ ║ ║
(-1 -2)═(-1 -1)═(-1 +0)══(-1 +1)═(-1 +2)═(-1 +3)
║ ║ ║ ║ ║ ║
(+0 -2)═(+0 -1)════Q0══ ══Q1═══(+0 +2)═(+0 +3)
║ ║ ║ ║ ║ ║
(+1 -2)═(+1 -1)═(+1 +0)══(+1 +1)═(+1 +2)═(+1 +3)
║ ║ ║ ║ ║ ║
(+2 -2)═(+2 -1)═(+2 +0)══(+2 +1)═(+2 +2)═(+2 +3)
This is called EnvApproximate of type 65 in YASTN documentation. May I ask @leburgel if MPSKit already have boundary MPS method to contract such a finite network? Alternatively, @pbrehmer how can I use CTMRG to contract it? (In my mind CTMRG is for infinite size, so it's not quite clear to me how to apply it to a finite system).
In neighborhood tensor update (NTU), the environment of a bond can be a finite patch around the bond. For example, if we contain two more layers around a bond, the environment is (the bra is contracted with ket)
This is called
EnvApproximateof type65in YASTN documentation. May I ask @leburgel if MPSKit already have boundary MPS method to contract such a finite network? Alternatively, @pbrehmer how can I use CTMRG to contract it? (In my mind CTMRG is for infinite size, so it's not quite clear to me how to apply it to a finite system).