Kagome iPEPS

Specialized class for iPEPS on Kagome lattice, where sites s0,s1,s2 on down-triangles are fused together:

       |/      |/
      s1      s1
     / |     / |                  |               |
    /  |    /  |                  |/(s0,s1,s2)    |/(s0,s1,s2)
    --s0--s2--s0--s2--   =>     --a---------------a--
       | /     | /                |               |
       |/      |/                 |               |
      s1      s1                  |               |
     / |     / |                  |               |
    /  |    /  |                  |/(s0,s1,s2)    |/(s0,s1,s2)
--s2--s0--s2--s0--s2--          --a---------------a--
       | /     | /                |               |
       |/      |/
      s1      s1
      /|      /|

The resulting tensor network is defined on a square lattice in terms of rank-5 on-site tensors. Physical index runs over the product of Hilbert spaces of s0,s1,s2 in this order. These Hilbert spaces are assumed to be identical.

class ipeps.ipeps_kagome.IPEPS_KAGOME(sites=None, vertexToSite=None, lX=None, lY=None, peps_args=<config.PEPSARGS object>, global_args=<config.GLOBALARGS object>)[source]

Bases: IPEPS

Parameters:
  • sites (dict[tuple(int,int) : torch.tensor]) – map from elementary unit cell to on-site tensors

  • vertexToSite (function(tuple(int,int))->tuple(int,int)) – function mapping arbitrary vertex of a square lattice into a vertex within elementary unit cell

  • lX (int) – length of the elementary unit cell in X direction

  • lY (int) – length of the elementary unit cell in Y direction

  • peps_args (PEPSARGS) – ipeps configuration

  • global_args (GLOBALARGS) – global configuration

Initialization of IPEPS_KAGOME follows ipeps.ipeps.IPEPS. The physical dimension of on-sites tensors is assumed to be a cube of (integer) physical dimension of single DoF of the underlying Kagome system.

extend_bond_dim(new_d, peps_args=<config.PEPSARGS object>, global_args=<config.GLOBALARGS object>)[source]
Parameters:

new_d (int) – new enlarged auxiliary bond dimension

Returns:

wavefunction with enlarged auxiliary bond dimensions

Return type:

IPEPS_KAGOME

Take IPEPS_KAGOME and enlarge all auxiliary bond dimensions of all on-site tensors up to size new_d

get_physical_dim()[source]

Return physical dimension of a single DoF of the underlying Kagome system. Assume the first dimension of on-site tensor is obtained as a cube of single DoF physical dimension i.e. 3**3 for spin-1

ipeps.ipeps_kagome.read_ipeps_kagome(jsonfile, vertexToSite=None, aux_seq=[0, 1, 2, 3], peps_args=<config.PEPSARGS object>, global_args=<config.GLOBALARGS object>)[source]
Parameters:
  • jsonfile (str or Path object) – input file describing IPEPS_KAGOME in json format

  • vertexToSite (function(tuple(int,int))->tuple(int,int)) – function mapping arbitrary vertex of a square lattice into a vertex within elementary unit cell

  • aux_seq (list[int]) – array specifying order of auxiliary indices of on-site tensors stored in jsonfile

  • peps_args (PEPSARGS) – ipeps configuration

  • global_args (GLOBALARGS) – global configuration

Returns:

wavefunction

Return type:

IPEPS_KAGOME

See ipeps.ipeps.read_ipeps().