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()
andctm.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()
andctm.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:
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 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:
state (IPEPS_KAGOME_ABELIAN) – wavefunction
env (ENV_ABELIAN) – 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_abelian.rdm_kagome.rdm2x2_dn_triangle_with_operator()
andctm.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:
state (IPEPS_KAGOME_ABELIAN) – wavefunction
env (ENV_ABELIAN) – 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|\)
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:
state (IPEPS_KAGOME_ABELIAN) – wavefunction
env (ENV_ABELIAN) – 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_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.