Page 1 of 1

Correlation function with infinite boundary conditions

Posted: 21 Apr 2021, 00:30
by nsherman
Hi, I'm new to TenPy, and I'm looking to compute correlation functions using infinite boundary conditions, based on this paper
https://arxiv.org/abs/1207.0652

What I'm wondering is if this functionality is already baseline in TenPy? I'm thinking the 'segment' boundary condition might be what I'm looking for, but not quite sure.

The basic idea is you have an iMPS and an iMPO with some unit cell, then repeat this N times to create a 'window' into the infinite system, but you have to place edge tensors on both sides of the iMPS and iMPO to effectively described the semi-infinite chain on either side. In principle, once you have these edge tensors, then all finite system algorithms will work, and the boundary effects are greatly diminished.

The paper provides a prescription for what the boundary tensors are, but before I develop code to implement this, I figured I would check to see if this functionality is already present and I just missed it.

Thank you for your time,
Nick

Re: Correlation function with infinite boundary conditions

Posted: 26 Apr 2021, 16:59
by yuchihe
Perhaps you want to use mps.correlation_function(ops1, ops2, sites1=None, sites2=None, opstr=None, str_on_first=True, hermitian=False, autoJW=True)

See https://tenpy.readthedocs.io/en/latest/ ... n_function

For example <Sz(x)Sz(y)> for spin chain. mps.correlation_function(ops1, ops2, sites1=[x,], sites2=[y,])

You do not need to determine "edge tensors". Those are left and right fixed points of transfer matrices, and is kept in the code.

Re: Correlation function with infinite boundary conditions

Posted: 27 Apr 2021, 02:26
by nsherman
I guess I forgot to mention explicitly that I want to study dynamics, so <Sz(x,t)Sz(0,0)> say. It seems like in order to time evolve Sz|psi>, I need to strictly work at finite system size, since the state is no longer translationally invariant. However, to eliminate boundary effects, one can use edge tensors to mimic the infinite system using "infinite boundary conditions". I was wondering if this is already built in or not?

Re: Correlation function with infinite boundary conditions

Posted: 27 Apr 2021, 11:56
by yuchihe
Sorry for not understanding you question. "segment" is what you need.

Re: Correlation function with infinite boundary conditions

Posted: 28 Apr 2021, 00:48
by nsherman
Great, I was thinking it's what I'm looking for. I have another possibly naive question. How do I actually use "segment"? I want to use infinite boundary conditions to find the ground state with DMRG, but then I want to transition to segment for the time evolution. So how would I go about converting the MPS / MPO to segment boundary conditions?