Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.0%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: SS961214
  • License: mit
  • Language: Cuda
  • Default Branch: main
  • Size: 158 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 2
Created about 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

BoundsOnEigenstateThermalization DOI

The DOI above is for the most recent version of the release on Zenodo. Earlier versions are available there as well. To cite this code without mentioning the version, please use https://doi.org/10.5281/zenodo.14707989. This will always redirect you to the latest release.

Prerequisites

Instructions

Building the Docker image

This code provides a Dockerfile that can be used to build the environment where the code runs. In the repository root directory (where the Dockerfile is located), execute the following commands: shell docker build . --tag mbodyeth:latest This will create a container image that contains all the necessary dependencies required to compile and run the code.

Running a Docker container

Once you have builded the container image, you will then need to run a container from the image. To access the code from inside the container and the numerical results from outside the container, the repository root directory should be mounted to the container. You can run a container with the root directory mounted by executing the following command in the repository root directory: shell docker run --rm -it --runtime=nvidia --gpus all --mount type=bind,src=./,dst=/root/work -u $(id -u $USER):$(id -g $USER) mbodyeth:latest zsh Once the container is successfully run, you will get inside it.

Compiling and running codes to obtain the numerical data

The commands required to compile and run the code are provided in the shell script named "main.sh", which is located in the repository root directory. shell chmod u+x main.sh && ./main.sh Since the computations for large system sizes require much time, the input parameters are restricted to relativelly small sizes. You can modify the parameters "NMin", "NMax", "mMin", "mMax" to calculate for large system sizes and many-body operators.

Raw numerical data

If you run "main.sh", the code generates the numerical data for the squared seminorm of the difference between energy eigenstates and the mirocanonical ensemble, i.e.,

math \left( \left|\left| |E_{\alpha}\rangle\!\langle E_{\alpha}| - \rho^{(\mathrm{mc})}_{\delta E}(E_{\alpha}) \right|\right|_{2}^{(\mathcal{A}^{[0,m]}) } \right)^2 = \displaystyle\sum_{\mu=1}^{\mathrm{dim}\, \mathcal{A}^{[0,m]}} \left| \mathrm{tr}\, \Lambda_{\mu}^{\dagger} \left( |E_{\alpha}\rangle\!\langle E_{\alpha}| - \rho^{(\mathrm{mc})}_{\delta E}(E_{\alpha}) \right) \right|^2,

where $|E{\alpha}\rangle$ is an energy eigenstate, $\rho{\delta E}^{(\mathrm{mc})}(E)$ is the microcanonical density operator in an energy shell centered at energy $E$ with width $2\delta E$, and ${\Lambda{\mu}}{\mu}$ is an orthonormal basis of the m-body operator space $\mathcal{A}^{[0,m]}$. The bounds $\Lambda{2}^{[0,m]}$ on the (diagonal) ETH measure can be obtained by taking the maximum of the seminorms within an energy window where one tests the ETH. It bounds the ETH measure $\Lambda{1}^{[0,m]}$ as $\Lambda{2}^{[0,m]} \leq \Lambda{1}^{[0,m]} \leq \sqrt{D}\, \Lambda_{2}^{[0,m]}$, where $D$ is the dimension of the Hilbert space.

In spin systems, the $m$-body operator space $\mathcal{A}^{[0,m]}$ can be decomposed into the direct sum of the exactly m-body operator spaces math \mathcal{A}^{(m)} := \mathrm{span}\left\{ \sigma_{x_{1}}^{(p_{1})} \cdots \sigma_{x_{m}}^{(p_{1})} \mid 1\leq x_{1} < x_{2} < \cdots < x_{m} \leq L,\ \forall p_{1} = 1,2,3 \right\}, where $\sigma{x}^{(p)} \ (p=1,2,3)$ is the Pauli operator acting on site $x$. Therefore, the code calculates the squared seminorm for $\mathcal{A}^{(m)}$ instead of $\mathcal{A}^{[0,m]}$, i.e., ```math \left( \left|\left| |E{\alpha}\rangle!\langle E{\alpha}| - \rho^{(\mathrm{mc})}{\delta E}(E{\alpha}) \right|\right|{2}^{(\mathcal{A}^{(m)}) } \right)^2 = \displaystyle\sum{\mu=1}^{\mathrm{dim}\, \mathcal{A}^{(m)}} \left| \mathrm{tr}\, \Lambda{\mu}^{\dagger} \left( |E{\alpha}\rangle!\langle E{\alpha}| - \rho^{(\mathrm{mc})}{\delta E}(E{\alpha}) \right) \right|^2. ```

For generic systems with local and few-body interactions, the resulting files are named like "./results/mBodyETH/PBCTI/<Ensemble>/SampleNo<M>/SystemSizeL<L>N<N>/mBodyquasiETHmeasureSqdE<shellWidthParam>.txt". Here, the parameter values are as follows: - <Ensemble>: ShortRangeSpin, ShortRangeBoson$\ell$local$k$body, ShortRangeFermion$\ell$local$k$body - <M>: The identifier of the sample Hamiltonian - <L>: The number of lattice sites in a 1D chain - <N>: Particle number (This is ommitted for spin systems for which we always have $L=N$.) - <shellWidthParam>: The parameter with which the width of the microcanonical shell is given by $\delta E = (\mathit{shellWidthParam})/L$.

The columns of the output files correspond to the parameter $m$, which ranges from $m=1$ to $m=N$, and the rows correspond to the energy eigenvalue $E_{\alpha}$.

Owner

  • Name: Shoki Sugimoto
  • Login: SS961214
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.1.0
message: "Cite as"
authors:
  - family-names: Sugimoto
    given-names: Shoki
    orcid: https://orcid.org/0000-0002-5874-928X
    affiliation: "Department of Applied Physics, School of Engineering, The University of Tokyo"
    website: https://sites.google.com/view/shokisugimoto/
title: "Code for Bounds on Eigenstate Thermalization"
doi: 10.5281/zenodo.14707989

GitHub Events

Total
  • Release event: 1
  • Push event: 4
  • Public event: 1
  • Create event: 1
Last Year
  • Release event: 1
  • Push event: 4
  • Public event: 1
  • Create event: 1

Dependencies

Dockerfile docker
  • docker.io/intel/oneapi-basekit 2024.2.0-1-devel-ubuntu22.04 build
  • docker.io/nvidia/cuda 12.5.0-devel-ubuntu22.04 build