This repository contains two datasets
- single-site_pg-C4v-A1
- single-site_pg-C4v-A1_internal_U1, basis for SciPost Phys. 10, 012 (2021)
representing translationary invariant infinite PEPS states defined by a single rank-5 tensor Asuldr. The index s runs over two states of spin-1/2 degree of freedom and the virtual indices u,l,d,r, for up, left, down and right directions on square lattice, run over values from 0 to D-1 with D being the bond dimension.
This tensor transforms as A1 irreducible representation of C4v point group (symmetry group of square lattice) under 90° rotations and reflections represented by permutations of virtual indices
Asuldr=Asldru=Asruld=Asurdl=Asdlur.
These single-site translationally invariant PEPS are endowed with antiferromagnetic correlations by applying a unitary rotation -iσy to spins1 on every sublattice-B site of a square lattice under bipartite tiling
Bsuldr=-iσyskAkuldr.
The tensors in the dataset single-site_pg-C4v-A1_internal_U1 also possess U(1) symmetry [see SciPost Phys. 10, 012 (2021)]. The states are stored in plain text format (JSON).
Each state is accompanied by corresponding *.dat file containing the value of selected observables
as evaluated by corner transfer matrix algorithm implemented in peps-torch
library.
For a set of environment bond dimensions χ, those are
- energy per site of J1-J2 model2
- on-site magnetization m=|⟨S⟩|, with S=(Sz,Sx,Sy) the vector of spin-1/2 operators
- leading eigenvalues λ0, λ1,... of (width-1) transfer matrix. The spectrum is normalized (λ0=1) and the leading correlation length can be obtained as ξ = -1/ln(λ1)
To parse the states use the Python script ipeps_io.py
which can export
the dense tensor Asuldr to either NumPy's *.npz format or MATLAB's *.mat format (requires SciPy)
python ipeps_io.py --instate path/to/json/file --format mat [--out optional/name/for/exported/file]
python ipeps_io.py --instate path/to/json/file --format npz [--out optional/name/for/exported/file]
Or access the (NumPy) tensor directly in the interactive mode
>>> from ipeps_io import load_from_pepstorch_json_dense
>>> A=load_from_pepstorch_json_dense("single-site_pg-C4v-A1/j20.0/state_1s_A1_j20.0_D3_chi_opt108.json")
>>> type(A)
<class 'numpy.ndarray'>
>>> A.shape
(2, 3, 3, 3, 3)
>>> A[0,0,0,:,:]
array([[-0.49333601, 0.1460243 , 0.03569442],
[ 0.1460243 , -0.26334648, -0.01241685],
[ 0.03569442, -0.01241685, 0.40762404]])
It is also possible to use ipeps_io.py
script to export U(1)-symmetric states of single-site_pg-C4v-A1_internal_U1 dataset to commonly adopted
block-sparse form. See single-site_pg-C4v-A1_internal_U1/README.md
.