SU(2) model on Kagome lattice¶
Dense¶
This implementation of SU(2)-symmetric model on Kagome lattice does not assume any symmetry and hence works with dense tensors.
- class models.spin_half_kagome.S_HALF_KAGOME(j1=1.0, JD=0, j1sq=0, j2=0, j2sq=0, jtrip=0.0, jperm=0j, h=0, phys_dim=2, global_args=<config.GLOBALARGS object>)[source]¶
- Parameters:
j1 (float) – nearest-neighbour spin-spin interaction
JD (float) – Dzyaloshinskii-Moriya interaction
jtrip (float) – scalar chirality
jperm (complex) – triangle exchange
global_args (GLOBALARGS) – global configuration
Build spin-1/2 Hamiltonian on Kagome lattice
\[\begin{split}H &= J_1 \sum_{<ij>} S_i.S_j + J_2 \sum_{<<ij>>} S_i.S_j - J_{trip} \sum_t (S_{t_1} \times S_{t_2}).S_{t_3} \\ &+ J_{perm} \sum_t P_t + J^*_{perm} \sum_t P^{-1}_t\end{split}\]where the first sum runs over the pairs of sites i,j which are nearest-neighbours (denoted as <.,.>), the second sum runs over pairs of sites i,j which are next nearest-neighbours (denoted as <<.,.>>). The \(J_{trip}\) and \(J_{perm}\) terms represent scalar chirality and triangle exchange respectively. The \(\sum_t\) runs over all triangles. The sites \(t_1,t_2,t_3\) on the triangles are always ordered anti-clockwise.
- energy_triangle_dn(state, env, force_cpu=False, **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 contribution from down triangle within 2x2 subsystem embedded in environment, see
ctm.pess_kagome.rdm_kagome.rdm2x2_dn_triangle_with_operator()
.
- energy_triangle_dn_1x1(state, env, force_cpu=False, **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 contribution from down triangle within 1x1 subsystem embedded in environment, see
ctm.pess_kagome.rdm_kagome.rdm1x1_kagome()
.
- energy_triangle_up(state, env, force_cpu=False, **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 contribution from up triangle within 2x2 subsystem embedded in environment, see
ctm.pess_kagome.rdm_kagome.rdm2x2_up_triangle_open()
.
- eval_corrf_SS(coord, direction, state, env, dist, site=0)[source]¶
- Parameters:
coord (tuple(int,int)) – reference site
direction (tuple(int,int)) –
state (IPEPS_KAGOME) – wavefunction
env (ENV) – CTM environment
dist (int) – maximal distance of correlator
site (int) – selects one of the non-equivalent physical degrees of freedom within the unit cell
- 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. Seectm.generic.corrf.corrf_1sO1sO()
.The on-site tensor of the underlying IPEPS_KAGOME contains all three DoFs of the down triangle. Choosing
site
selects one of them to be used for evaluating correlation function:a | b--\ \ s0--s2--d | / |/ <- down triangle s1 | c
- eval_obs(state, env, force_cpu=True, cast_real=False, disp_corre_len=False, **kwargs)[source]¶
- Parameters:
state (IPEPS_KAGOME) – wavefunction
env (ENV) – CTM environment
force_cpu (bool) – perform computation on CPU
cast_real (bool) – if
False
keep imaginary part of energy contributions from up and down trianglesdisp_corre_len (bool) – compute correlation lengths from transfer matrices
- 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 triangles
vector of spontaneous magnetization \(\langle \vec{S} \rangle\) for each site and its length \(m=|\langle \vec{S} \rangle|\)
nearest-neighbour spin-spin correlations for all bonds in the unit cell
(optionally) correlation lengths
With explict U(1) symmetry¶
This implementation of SU(2)-symmetric model on Kagome lattice assumes explicit U(1) abelian symmetry (subgroup) of iPEPS tensors.
- class models.abelian.kagome_u1.KAGOME_U1(settings, j1=1.0, JD=0, j1sq=0.0, j2=0.0, j2sq=0.0, jtrip=0, jperm=0j, h=0, phys_dim=2, global_args=<config.GLOBALARGS object>)[source]¶
- Parameters:
settings (NamedTuple or SimpleNamespace (TODO link to definition)) – YAST configuration
j1 (float) – nearest-neighbour spin-spin interaction
JD (float) – Dzyaloshinskii-Moriya interaction
jtrip (float) – scalar chirality
jperm (complex) – triangle exchange
global_args (GLOBALARGS) – global configuration
Build spin-1/2 Hamiltonian on Kagome lattice
\[\begin{split}H &= J_1 \sum_{<ij>} S_i.S_j + J_2 \sum_{<<ij>>} S_i.S_j - J_{trip} \sum_t (S_{t_1} \times S_{t_2}).S_{t_3} \\ &+ J_{perm} \sum_t P_t + J^*_{perm} \sum_t P^{-1}_t\end{split}\]where the first sum runs over the pairs of sites i,j which are nearest-neighbours (denoted as <.,.>), the second sum runs over pairs of sites i,j which are next nearest-neighbours (denoted as <<.,.>>). The \(J_{trip}\) and \(J_{perm}\) terms represent scalar chirality and triangle exchange respectively. The \(\sum_t\) runs over all triangles. The sites \(t_1,t_2,t_3\) on the triangles are always ordered anti-clockwise.
- 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_down_t_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 contribution from down triangle within 2x2 subsystem embedded in environment, see
ctm.pess_kagome_abelian.rdm_kagome.rdm2x2_dn_triangle_with_operator()
.
- energy_up_t_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 contribution from up triangle within 2x2 subsystem embedded in environment, see
ctm.pess_kagome_abelian.rdm_kagome.rdm2x2_up_triangle_open()
.
- eval_obs(state, env, force_cpu=True, cast_real=False, disp_corre_len=False)[source]¶
- Parameters:
state (IPEPS_KAGOME_ABELIAN) – wavefunction
env (ENV_ABELIAN) – CTM environment
force_cpu (bool) – perform computation on CPU
cast_real (bool) – if
False
keep imaginary part of energy contributions from up and down trianglesdisp_corre_len (bool) – compute correlation lengths from transfer matrices
- 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 triangles
vector of spontaneous magnetization \(\langle \vec{S} \rangle\) for each site and its length \(m=|\langle \vec{S} \rangle|\)
nearest-neighbour spin-spin correlations for all bonds in the unit cell
(optionally) correlation lengths