https://github.com/tensorbfs/u1cmpo
https://github.com/tensorbfs/u1cmpo
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/tensorbfs/u1cmpo
- Owner: TensorBFS
- Created: 2021-08-28T09:51:54.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-01-04T15:20:40.000Z (over 4 years ago)
- Last Synced: 2025-03-03T13:24:54.048Z (about 1 year ago)
- Language: Julia
- Size: 147 KB
- Stars: 8
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# U1cMPO
[](https://github.com/TensorBFS/U1cMPO/actions/workflows/ci.yml) [](https://codecov.io/gh/TensorBFS/U1cMPO)
Performing a tensor network simulation of the nonlinear sigma model (NLSM) with $\theta=\pi$ topological term with Julia.
This repository includes
- a package that implements $U(1)$ symmetry in the [continuous matrix product operator (cMPO)](https://arxiv.org/abs/2004.12928) method (see [repo for cMPO](https://github.com/TensorBFS/cMPO))
- Simulation and measurements for the NLSM with $\theta=\pi$.
## Installation
- Download the repository by
```bash
git clone https://github.com/TensorBFS/U1cMPO.git
```
- Enter the repository, and open Julia's interactive session (known as REPL). Press `]` to enter the pkg mode, and then type the following command
```julia
pkg> activate .
pkg> instantiate
```
then exit the REPL.
## Usage
To simulate the NLSM with $\theta=\pi$ term with the cMPO method, we map it to a modified quantum rotor model
$$
a \hat{H} = \sum_j \frac{(\hat{\boldsymbol{L}}'_j)^2}{2 K} + K \sum_{\langle i, j \rangle} \hat{\boldsymbol{n}}_i \cdot \hat{\boldsymbol{n}}_j \,.
$$
where $\hat{\boldsymbol{L}}'_j$ is the angular momentum operator decorated by a magnetic monopole, $\hat{\boldsymbol{n}}$ is the rotor operator, $a$ is the lattice spacing, and $K>0$ is a constant. In the low-energy and long-wavelength limit, the field theoretical description of this rotor model is the $O(3)$ NLSM with $\theta=\pi$ and $1/g^2=K$. The tensor network representation of this modified quantum rotor model is derived using the monopole harmonics basis. More details can be found in [this manuscript](https://arxiv.org/abs/2109.11324).
To run the simulation, enter the repository and type the following command
```bash
julia --project=. o3nlsm/o3nlsm_u1cmps.jl --beta 8 --K 2 --doublelmax 3 --chi 8
```
which will perform the simulation for $K=2.0$ and inverse temperature $\beta=8$. Moreover, the monopole harmonics basis will be truncated at $l_{\mathrm{max}}=3/2$, and the bond dimension of the boundary cMPS is $\chi=8$. The results (including the optimized cMPS, the free energy, and the bipartite entanglement entropy of the boundary cMPS) will be saved in a hdf5-format file named as `rawdata_o3pi_K=2.0_beta=8.00_lmax=1.5_chi=8.jld`. With this file, we can either perform further measurements like
```bash
julia --project=. o3nlsm/o3nlsm_measurement.jl --dataname rawdata_o3pi_K=2.0_beta=8.00_lmax=1.5_chi=8.jld
```
or use this datafile to provide the initial guess for the simulations with larger bond dimensions, such as
```bash
julia --project=. o3nlsm/o3nlsm_u1cmps.jl --beta 8 --K 2 --doublelmax 3 --chi 12 --init rawdata_o3pi_K=2.0_beta=8.00_lmax=1.5_chi=8.jld
```
Alternatively, the U1cMPO package can also be used to calculate the finite-temperature properties of other models with $U(1)$ symmetry.
## To cite
```latex
@article{PhysRevD.104.114513,
title = {Tensor network simulation of the ($1+1$)-dimensional $O(3)$ nonlinear $\ensuremath{\sigma}$-model with $\ensuremath{\theta}=\ensuremath{\pi}$ term},
author = {Tang, Wei and Xie, X. C. and Wang, Lei and Tu, Hong-Hao},
journal = {Phys. Rev. D},
volume = {104},
issue = {11},
pages = {114513},
numpages = {13},
year = {2021},
month = {Dec},
publisher = {American Physical Society},
doi = {10.1103/PhysRevD.104.114513},
url = {https://link.aps.org/doi/10.1103/PhysRevD.104.114513}
}
```