Abelian-symmetric 1-site C4v iPEPS¶
Specialized class for iPEPS with single abelian-symmetric on-site tensor possesing a (C4v) symmetry with respect to the permutation of its auxilliary indices
where \(\textrm{p}\) is a permutation associated to the symmetries of square lattice: rotations by \(\pi/2\) and reflections. This property in turn implies (\(A_1\)) symmetry for the double-layer tensor \(A_{(uu')(ll')(dd')(rr')}=a_{suldr}a_{su'l'd'r'}\).
- class ipeps.ipeps_abelian_c4v.IPEPS_ABELIAN_C4V(settings, site=None, peps_args=<config.PEPSARGS object>, global_args=<config.GLOBALARGS object>)[source]¶
Bases:
IPEPS_ABELIAN
- Parameters:
settings (TODO) – YAST configuration
site (yast.Tensor) – on-site tensor
peps_args (PEPSARGS) – ipeps configuration
global_args (GLOBALARGS) – global configuration
The index-position convetion for on-site tensor is defined as follows:
(+1)u (+1)s |/ (+1)l--a--(+1)r <=> a[s,u,l,d,r] with reference symmetry signature [1,1,1,1,1] | (+1)d
where s denotes physical index, and u,l,d,r label four principal directions up, left, down, right in anti-clockwise order starting from up.
Note
This signature convention leads to the bra interpretation of physical space. The on-site tensor is to be understood as \(a=\sum_{suldr} a_{suldr} \langle s|\langle u|\langle l|\langle d|\langle r|\)
- add_noise(noise=0)[source]¶
- Parameters:
noise (float) – magnitude of the noise
- Returns:
a copy of state with noisy on-site tensors. For default value of
noise
being zeroself
is returned.- Return type:
Create a new state by adding random uniform noise with magnitude
noise
to all copies of on-site tensors. The noise is added to all blocks making up the individual on-site tensors.
- site(coord=(0, 0))[source]¶
- Parameters:
coord (tuple(int,int)) – tuple (x,y) specifying vertex on a square lattice
- Returns:
on-site tensor corresponding to the vertex (x,y)
- Return type:
yast.Tensor
- symmetrize()[source]¶
- Returns:
symmetrize on-site tensor by projecting to \(A_1\) irrep of C4v point group.
- Return type:
- to(device)[source]¶
- Parameters:
device (str) – device identifier
- Returns:
returns a copy of the state on
device
. If the state already resides onthe device returnsself
.- Return type:
Move the entire state to
device
.
- to_dense()[source]¶
- Returns:
returns a copy of the state with all on-site tensors in their dense representation. If the state already has just dense on-site tensors returns
self
.- Return type:
Create a copy of state with all on-site tensors as dense possesing no explicit block structure (symmetry).
Note
This operations preserves gradients on returned dense state.
- write_to_file(outputfile, tol=None, symmetrize=True, normalize=False)[source]¶
Writes state to file. See
ipeps.ipeps_abelian.write_ipeps()
.
- ipeps.ipeps_abelian_c4v.read_ipeps_c4v(jsonfile, settings, peps_args=<config.PEPSARGS object>, global_args=<config.GLOBALARGS object>)[source]¶
- Parameters:
jsonfile (str or Path object) – input file describing IPEPS_ABELIAN_C4V in json format
settings (NamedTuple or SimpleNamespace (TODO link to definition)) – YAST configuration
peps_args (PEPSARGS) – ipeps configuration
global_args (GLOBALARGS) – global configuration
- Returns:
wavefunction
- Return type:
Read state in JSON format from file.