Subsystem Information Capacity in Random Circuits and Hamiltonian Dynamics

June 25, 2025 · View on GitHub

arXiv

This repository contains the numerical simulation code for the research paper "Subsystem Information Capacity in Random Circuits and Hamiltonian Dynamics" by Yu-Qin Chen, Shuo Liu, and Shi-Xin Zhang.

workflow

Repository Structure

The simulation code is organized into three main directories within src/, corresponding to the different physical models and computational libraries used in the paper.

src/
├── circuit_cliffordjl/
│   ├── mipt_floquet.jl         # Random Clifford Floquet circuits (Localization)
│   ├── mipt.jl                 # Random Clifford circuits with measurements (MIPT)
│   └── ruc_global_encoding.jl  # Random Clifford circuits with global encoding

├── freefermion_tc/
│   └── ssh_model.py            # Free-fermion SSH model

└── intfermion_quspin/
    └── aa_model.py             # Interacting Aubry-André model (MBL)

Setup and Dependencies

You will need to install dependencies for both Python and Julia to run all simulations.

Python Dependencies

Th free fermion part is supported by TensorCircuit-NG.

Install the required Python packages using pip:

pip install numpy scipy tensorcircuit-ng quspin

Julia Dependencies

  1. Start a Julia REPL by typing julia in your terminal.

  2. Enter the package manager by pressing ].

  3. Add the necessary package:

    pkg> add QuantumClifford
    pkg> add NPZ
    

Running the Simulations

Each script is designed to be run from the command line. The parameters for each simulation are defined within the scripts themselves which can be further customized.

Example: Simulating the SSH Model

  1. Navigate to the directory:
    cd src/freefermion_tc/
    
  2. Run the Python script:
    python ssh_model.py
    
  3. The script will perform the simulation and save the resulting subsystem entropy data to a .npy file.

Example: Simulating Random Clifford Circuits

  1. Navigate to the directory:
    cd src/circuit_cliffordjl/
    
  2. Run the Julia script:
    julia mipt.jl
    
  3. This will execute the simulation for random circuits with measurements.

Citation

If you use this code in your research, please cite the original paper:

@article{chen2024subsystem,
   author = {Yu-Qin Chen and Shuo Liu and Shi-Xin Zhang},
   doi = {10.22331/q-2025-06-24-1783},
   issn = {2521-327X},
   journal = {Quantum},
   month = {6},
   pages = {1783},
   title = {Subsystem Information Capacity in Random Circuits and Hamiltonian Dynamics},
   volume = {9},
   year = {2025}
}