Coupled Ladders

Dense (PyTorch)

This implementation of SU(2)-symmetric model of coupled spin-1/2 ladders on square lattice does not assume any symmetry and works with dense PyTorch tensors.

class models.coupledLadders.COUPLEDLADDERS(alpha=0.0, bz_val=0.0, global_args=<config.GLOBALARGS object>)[source]
Parameters
  • alpha (float) – nearest-neighbour interaction

  • bz_val – staggered magnetic field

  • global_args (GLOBALARGS) – global configuration

Build Hamiltonian of spin-1/2 coupled ladders

\[H = \sum_{i=(x,y)} h2_{i,i+\vec{x}} + \sum_{i=(x,2y)} h2_{i,i+\vec{y}} + \alpha \sum_{i=(x,2y+1)} h2_{i,i+\vec{y}} + (-1)^{x+y} B^z h1_{i}\]

on the square lattice. The spin-1/2 ladders are coupled with strength \(\alpha\):

y\x
   _:__:__:__:_
..._|__|__|__|_...
..._a__a__a__a_...
..._|__|__|__|_...
..._a__a__a__a_...
..._|__|__|__|_...
    :  :  :  :      (a = \alpha)

where

  • \(h2_{ij} = \mathbf{S}_i.\mathbf{S}_j\) with indices of h2 corresponding to \(s_i s_j;s'_i s'_j\)

  • \(h1_{i} = \mathbf{S}^z_i\) with indices of h1 corresponding to \(s_i ;s'_i\)

energy_2x1_1x2(state, env)[source]
Parameters
  • state (IPEPS) – wavefunction

  • env (ENV) – CTM environment

Returns

energy per site

Return type

float

We assume iPEPS with 2x2 unit cell containing four tensors A, B, C, and D with simple PBC tiling:

A B A B
C D C D
A B A B
C D C D

Taking the reduced density matrix \(\rho_{2x1}\) (\(\rho_{1x2}\)) of 2x1 (1x2) cluster given by rdm.rdm2x1() (rdm.rdm1x2()) with indexing of sites as follows \(s_0,s_1;s'_0,s'_1\) for both types of density matrices:

rdm2x1   rdm1x2

s0--s1   s0
         |
         s1

and without assuming any symmetry on the indices of individual tensors a following set of terms has to be evaluated in order to compute energy-per-site:

   0       0       0
1--A--3 1--B--3 1--A--3
   2       2       2
   0       0       0
1--C--3 1--D--3 1--C--3
   2       2       2             A--3 1--B,      A  B  C  D
   0       0                     B--3 1--A,      2  2  2  2
1--A--3 1--B--3                  C--3 1--D,      0  0  0  0
   2       2             , terms D--3 1--C, and  C, D, A, B
eval_corrf_DD_H(coord, direction, state, env, dist, verbosity=0)[source]
Parameters
  • coord (tuple(int,int)) – tuple (x,y) specifying vertex on a square lattice

  • direction (tuple(int,int)) – orientation of correlation function

  • state (IPEPS) – wavefunction

  • env (ENV) – CTM environment

  • dist (int) – maximal distance of correlator

Returns

dictionary with horizontal dimer-dimer correlation function

Return type

dict(str: torch.Tensor)

Evaluate horizontal dimer-dimer correlation functions

\[\langle(\mathbf{S}(r+3).\mathbf{S}(r+2))(\mathbf{S}(1).\mathbf{S}(0))\rangle\]

up to r = dist in given direction. See ctm.generic.corrf.corrf_2sOH2sOH_E1().

eval_corrf_DD_V(coord, direction, state, env, dist, verbosity=0)[source]
Parameters
  • coord (tuple(int,int)) – tuple (x,y) specifying vertex on a square lattice

  • direction (tuple(int,int)) – orientation of correlation function

  • state (IPEPS) – wavefunction

  • env (ENV) – CTM environment

  • dist (int) – maximal distance of correlator

Returns

dictionary with vertical dimer-dimer correlation function

Return type

dict(str: torch.Tensor)

Evaluate vertical dimer-dimer correlation functions

\[\langle(\mathbf{S}(r+1,1).\mathbf{S}(r+1,0))(\mathbf{S}(0,1).\mathbf{S}(0,0))\rangle\]

up to r = dist in given direction. See ctm.generic.corrf.corrf_2sOV2sOV_E2().

eval_corrf_SS(coord, direction, state, env, dist)[source]
Parameters
  • coord (tuple(int,int)) – reference site

  • direction (tuple(int,int)) –

  • state (IPEPS) – wavefunction

  • env (ENV) – CTM environment

  • dist (int) – maximal distance of correlator

Returns

dictionary with full and spin-resolved spin-spin correlation functions

Return type

dict(str: torch.Tensor)

Evaluate spin-spin correlation functions \(\langle\mathbf{S}(r).\mathbf{S}(0)\rangle\) up to r = dist in given direction. See ctm.generic.corrf.corrf_1sO1sO().

eval_obs(state, env)[source]
Parameters
  • state (IPEPS) – wavefunction

  • env (ENV) – CTM environment

Returns

expectation values of observables, labels of observables

Return type

list[float], list[str]

Computes the following observables in order

  1. average magnetization over the unit cell,

  2. magnetization for each site in the unit cell

  3. \(\langle S^z \rangle,\ \langle S^+ \rangle,\ \langle S^- \rangle\) for each site in the unit cell

  4. \(\mathbf{S}_i.\mathbf{S}_j\) for all non-equivalent nearest neighbour bonds

where the on-site magnetization is defined as

\[\begin{split}\begin{align*} m &= \sqrt{ \langle S^z \rangle^2+\langle S^x \rangle^2+\langle S^y \rangle^2 } =\sqrt{\langle S^z \rangle^2+1/4(\langle S^+ \rangle+\langle S^- \rangle)^2 -1/4(\langle S^+\rangle-\langle S^-\rangle)^2} \\ &=\sqrt{\langle S^z \rangle^2 + 1/2\langle S^+ \rangle \langle S^- \rangle)} \end{align*}\end{split}\]

Usual spin components can be obtained through the following relations

\[\begin{split}\begin{align*} S^+ &=S^x+iS^y & S^x &= 1/2(S^+ + S^-)\\ S^- &=S^x-iS^y\ \Rightarrow\ & S^y &=-i/2(S^+ - S^-) \end{align*}\end{split}\]

Dense (YAST)

This implementation of SU(2)-symmetric model of coupled spin-1/2 ladders works with dense YAST tensors. In particular, the physical reduced density matrices, Hamiltonian terms, observables, etc. are dense YAST tensors. As such, their indices have signature.

Note

The underlying iPEPS wavefunction can make use of explicit internal symmetry and thus block-sparse tensors. After physical reduced density matrices are built from such iPEPS and its environment, they are converted to dense form (keeping signature information).

With explict U(1) symmetry

This implementation of SU(2)-symmetric model of coupled spin-1/2 ladders works with explicit U(1) abelian symmetry (subgroup). The physical reduced density matrices, Hamiltonian terms, observables, etc. have U(1) block-sparse structure.