1-site C4v iPEPS¶
Specialized class for iPEPS with single 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_c4v.IPEPS_C4V(site=None, peps_args=<config.PEPSARGS object>, global_args=<config.GLOBALARGS object>)[source]¶
Bases:
IPEPS
- Parameters:
site (torch.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:
u s |/ l--A--r <=> a[s,u,l,d,r] | 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.
- add_noise(noise, symmetrize=False)[source]¶
- Parameters:
noise (float) – magnitude of the noise
Take IPEPS and add random uniform noise with magnitude
noise
to on-site tensor
- site(coord=None)[source]¶
- Parameters:
coord (tuple(int,int)) – vertex (x,y). Can be ignored, since the ansatz is single-site.
- Returns:
on-site tensor
- Return type:
torch.tensor
- write_to_file(outputfile, symmetrize=True, **kwargs)[source]¶
- Parameters:
symmetrize (bool) – symmetrize state before writing out
Writes state into file. See
ipeps.ipeps.write_ipeps()
.
- ipeps.ipeps_c4v.read_ipeps_c4v(jsonfile, 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_C4V in json format
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:
Parameter
aux_seq
defines the expected order of auxiliary indices in input file relative to the convention fixed in tn-torch:0 1A3 <=> [up, left, down, right]: aux_seq=[0,1,2,3] 2 for alternative order, eg. 1 0A2 <=> [left, up, right, down]: aux_seq=[1,0,3,2] 3
- ipeps.ipeps_c4v.to_ipeps_c4v(state, normalize=False)[source]¶
- Parameters:
state (IPEPS) – single-site IPEPS
normalize (bool) – normalize tensor
- Returns:
symmetrized state
- Return type:
Symmetrize single-site IPEPS by projecting its on-site tensor to \(A_1\) point-group irrep if the on-site tensor is real, or \(A_1 + iA_2\) if it is complex.