SU(3) model on Kagome lattice

Dense

This implementation of SU(3)-symmetric model on Kagome lattice does not assume any symmetry and hence works with dense tensors.

class models.su3_kagome.KAGOME_SU3(phys_dim=3, j=0.0, k=1.0, h=0.0, global_args=<config.GLOBALARGS object>)[source]
Parameters:
  • j (int) – nearest-neighbour pairing

  • k (float) – real part of triangle exchange

  • h (float) – imaginary part of triangle exchange

  • global_args (GLOBALARGS) – global configuration

The SU(3) Hamiltonian on Kagome lattice

\[H = J \sum_{\langle ij \rangle} P_{ij} + K \sum_{t_{up},t_{down}} (P_{ijk} + P^{-1}_{ijk}) + ih \sum_{t_{up},t_{down}} (P_{ijk} - P^{-1}_{ijk})\]

or in parametrization through angles

\[H = cos \phi \sum_{\langle ij \rangle} P_{ij} + sin \phi \sum_{t_{up},t_{down}} exp(i\theta) P_{ijk} + exp(-i\theta)P^{-1}_{ijk}\]

where \(J = cos \phi,\ K = sin \phi cos \theta,\ h= sin \phi sin \theta\). The \(\phi= 0.5\pi\) and \(\theta=0\) corresponds to the AKLT point.

energy_1site(state, env, **kwargs)[source]
Parameters:
  • state (IPEPS_KAGOME) – wavefunction

  • env (ENV) – CTM environment

  • force_cpu (bool) – perform computation on CPU

Returns:

energy per site

Return type:

float

Evaluate energy per site from contributions from down triangle within 1x1 subsystem embedded in environment, and from upper triangle embedded in 2x2 environment. See ctm.pess_kagome.rdm_kagome.trace1x1_dn_kagome() and ctm.pess_kagome.rdm_kagome.rdm2x2_kagome() respectively.

energy_down_t_1x1subsystem(state, env, force_cpu=False, fail_on_check=False, warn_on_check=True)[source]
Parameters:
  • state (IPEPS_KAGOME) – wavefunction

  • env (ENV) – CTM environment

  • force_cpu (bool) – perform computation on CPU

Returns:

energy per site

Return type:

float

Evaluate energy contribution from down triangle within 1x1 subsystem embedded in environment, see ctm.pess_kagome.rdm_kagome.trace1x1_dn_kagome().

energy_per_site_2x2subsystem(state, env, force_cpu=False)[source]
Parameters:
  • state (IPEPS_KAGOME) – wavefunction

  • env (ENV) – CTM environment

  • force_cpu (bool) – perform computation on CPU

Returns:

energy per site

Return type:

float

Evaluate energy per site from contributions from up and down triangle. See energy_triangles_2x2subsystem().

energy_triangles_2x2subsystem(state, env, force_cpu=False)[source]
Parameters:
  • state (IPEPS_KAGOME) – wavefunction

  • env (ENV) – CTM environment

  • force_cpu (bool) – perform computation on CPU

Returns:

energy contributions from down and up triangle

Return type:

float, float

Evaluate energy contributions from down triangle within 2x2 subsystem embedded in environment, and from upper triangle embedded in 2x2 environment. See ctm.pess_kagome.rdm_kagome.rdm2x2_dn_triangle_with_operator() and ctm.pess_kagome.rdm_kagome.rdm2x2_kagome() respectively.

eval_obs(state, env, force_cpu=False, **kwargs)[source]
Parameters:
  • state (IPEPS_KAGOME) – wavefunction

  • env (ENV) – CTM environment

  • force_cpu (bool) – perform computation on CPU

Returns:

expectation values of observables, labels of observables

Return type:

list[float], list[str]

Evaluate observables for IPESS_KAGOME wavefunction. In particular

  • average nearest-neighbour pairing on up and down triangles

  • chiralities on up and down triangles

  • vector of spontaneous magnetization \(\langle \vec{S} \rangle\) for each site and its length \(m=|\langle \vec{S} \rangle|\)

The observables on down triangle are evaluated on 1x1 subsystem, while observables on up triangle are evaluated on 2x2 subsystem.

eval_obs_2x2subsystem(state, env, force_cpu=False, **kwargs)[source]
Parameters:
  • state (IPEPS_KAGOME) – wavefunction

  • env (ENV) – CTM environment

  • force_cpu (bool) – perform computation on CPU

Returns:

expectation values of observables, labels of observables

Return type:

list[float], list[str]

Evaluate observables for IPESS_KAGOME wavefunction. In particular

  • energy contributions from up and down triangle

  • average nearest-neighbour pairing on up and down triangles

  • chiralities on up and down triangles

  • vector of spontaneous magnetization \(\langle \vec{S} \rangle\) for each site and its length \(m=|\langle \vec{S} \rangle|\)

The observables on both down triangle and up triangle are evaluated on 2x2 subsystem.

With explict U(1)xU(1) symmetry

This implementation of SU(3)-symmetric model on Kagome lattice assumes explicit U(1)xU(1) abelian symmetry (subgroup) of iPEPS tensors.

class models.abelian.su3_kagome.KAGOME_SU3_U1xU1(settings, j=0.0, k=1.0, h=0.0, global_args=<config.GLOBALARGS object>)[source]
Parameters:
  • j (int) – nearest-neighbour pairing

  • k (float) – real part of triangle exchange

  • h (float) – imaginary part of triangle exchange

  • settings (NamedTuple or SimpleNamespace (TODO link to definition)) – YAST configuration

  • global_args (GLOBALARGS) – global configuration

The SU(3) Hamiltonian on Kagome lattice

\[H = J \sum_{\langle ij \rangle} P_{ij} + K \sum_{t_{up},t_{down}} (P_{ijk} + P^{-1}_{ijk}) + ih \sum_{t_{up},t_{down}} (P_{ijk} - P^{-1}_{ijk})\]

or in parametrization through angles

\[H = cos \phi \sum_{\langle ij \rangle} P_{ij} + sin \phi \sum_{t_{up},t_{down}} exp(i\theta) P_{ijk} + exp(-i\theta)P^{-1}_{ijk}\]

where \(J = cos \phi,\ K = sin \phi cos \theta,\ h= sin \phi sin \theta\). The \(\phi= 0.5\pi\) and \(\theta=0\) corresponds to the AKLT point.

energy_down_t_1x1subsystem(state, env, force_cpu=False, **kwargs)[source]
Parameters:
Returns:

energy per site

Return type:

float

Evaluate energy contribution from down triangle within 1x1 subsystem embedded in environment, see ctm.pess_kagome_abelian.rdm_kagome.trace1x1_dn_kagome().

energy_per_site_2x2subsystem(state, env, force_cpu=False, **kwargs)[source]
Parameters:
  • state (IPEPS_KAGOME_ABELIAN.) – wavefunction

  • env (ENV_ABELIAN) – CTM environment

  • force_cpu (bool) – perform computation on CPU

Returns:

energy per site

Return type:

float

Evaluate energy per site from contributions from up and down triangle. See energy_triangles_2x2subsystem().

energy_triangles_2x2subsystem(state, env, force_cpu=False, **kwargs)[source]
Parameters:
Returns:

energy contributions from down and up triangle

Return type:

float, float

Evaluate energy contributions from down triangle within 2x2 subsystem embedded in environment, and from upper triangle embedded in 2x2 environment. See ctm.pess_kagome_abelian.rdm_kagome.rdm2x2_dn_triangle_with_operator() and ctm.pess_kagome_abelian.rdm_kagome.rdm2x2_kagome() respectively.

eval_generators(state, env, force_cpu=False)[source]
Parameters:
  • state (IPEPS_KAGOME_ABELIAN.) – wavefunction

  • env (ENV_ABELIAN) – CTM environment

  • force_cpu (bool) – perform computation on CPU

Returns:

expectation value of SU(3) generators in Cartan-Weyl basis

Return type:

dict(str : float)

Evaluate generators in Cartan-Weyl basis (in fundamental irrep) of su(3). The expectation values of generators are ordered as [T^+, T^-, T^z, V^+, V^-, U^+, U^-, Y]. Compute the length of the vector of spontaneous magnetization, playing the role of \(m^2 = |<\\vec{S}>|\) in case of SU(2) models.

The keys “A”, “B”, and “C” of returned dict hold length-8 vectors with expectation values of Cartan-Weyl generators on each of sites “A”, “B”, and “C”. The keys “m2_A”, “m2_B”, and “m2_C” hold expectation values of the lengths of vectors \(|<\\vec{T}>|\) where Ts are generators in Gell-Mann basis.

eval_obs(state, env, force_cpu=False, **kwargs)[source]
Parameters:
Returns:

expectation values of observables, labels of observables

Return type:

list[float], list[str]

Evaluate observables for IPESS_KAGOME wavefunction. In particular

  • average nearest-neighbour pairing on up and down triangles

  • chiralities on up and down triangles

  • vector of spontaneous magnetization \(\langle \vec{S} \rangle\) for each site and its length \(m=|\langle \vec{S} \rangle|\)

  • nearest-neighbour pairings on up and down triangles

The observables on down triangle are evaluated on 1x1 subsystem, while observables on up triangle are evaluated on 2x2 subsystem.

eval_obs_2x2subsystem(state, env, force_cpu=False, **kwargs)[source]
Parameters:
Returns:

expectation values of observables, labels of observables

Return type:

list[float], list[str]

Evaluate observables for IPESS_KAGOME_ABELIAN wavefunction. In particular

  • energy contributions from up and down triangle

  • average nearest-neighbour pairing on up and down triangles

  • chiralities on up and down triangles

  • vector of spontaneous magnetization \(\langle \vec{S} \rangle\) for each site and its length \(m=|\langle \vec{S} \rangle|\)

The observables on both down triangle and up triangle are evaluated on 2x2 subsystem.