Skip to content

Quantum simulations of matrix quantum mechanics. Based on qutip.

Notifications You must be signed in to change notification settings

erinaldi/bmn2-qutip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Matrix Quantum Mechanics with Qutip

The quantum mechanics of matrix models is solved using the Quantum Toolbox in Python (qutip). Results are reported in the publication Rinaldi et al. (2021). Consider the citation in Cite.

We select two matrix models to study:

  • a bosonic 2-matrix model with gauge group SU(2)
  • a supersymmetric 2-matrix model with gauge group SU(2)

Models with larger SU(N) groups can also be studied, but they require larger computational resources.

The Hilbert space of the bosonic 2-matrix model with SU(2) gauge group truncated to cutoff Λ (maximum number of modes for each boson) has dimension Λ⁶ because there are 6 bosonic degrees of freedom. With a regular desktop (64GB of RAM) it is possible to reach cutoffs Λ=14 or slightly larger.

Code

Installation

There is a environment.yml file that can be used to build a conda python environment with all the dependencies needed to run the scripts and notebooks in this repository.

If you have conda installed (see this link if you need help), you can run

conda env create -f environment.yml

and then check that the environement has been created

conda env list

If the environment appears in the output of the command above, you can activate it with

conda activate qutip-env

and then run the scripts and notebooks in this repository.

Scripts

To generate the spectrum of the bosonic matrix model with a specific list of cutoffs and for a specific list of 't Hooft coupling constants you can run the scripts/bmn2_bos_su2.py script from the command line

For a list of options to pass on the command line, run

python scripts/bmn2_bos_su2.py --help

An example, you can run

python scripts/bmn2_bos_su2.py --num_eigs=20 --L_range=[3,5,7] --l_range=[0.2] --penalty=False

to get the first 20 eigenstates of the truncated Hamiltonian with cutoff Λ equal to 3, 5, and 7 at coupling constant 0.2 and without introducing a penalty term for the gauge non-singlet states.

Similarly, you can study the spectrum of the supersymmetric matrix model with the script scripts/bmn2_su2.py, which takes a similar list of arguments from the command line.

The rest of the scripts are just utilities for making plots.

Note: you can take advantage of multi-threading on a single node by changing the OMP_NUM_THREAD environment variable before calling python. For example:

export OMP_NUM_THREADS=12 ; python scripts/bmn2_bos_su2.py --num_eigs=20 --L_range=[3,5,7] --l_range=[0.2] --penalty=False

will run the script using 12 cores.

Notebooks

The Jupyter notebooks QUTIP_bosonic_matrices and QUTIP_susy_matrices give an interactive explanation on how to build the regularized Hamiltonians of the matrix models using qutip.

If you do not want to build the python environment to run them (see Installation) you can use Google Colaboratory to run them in your web browser. Use the two links below to open the notebooks in a new tab:

  • Bosonic model: Bosonic model in Colab

  • Supersymmetric model: Susy model in Colab

Cite

If you use this code (or parts of it), please consider citing our paper:

@article{Rinaldi:2021jbg,
    author = "Rinaldi, Enrico and Han, Xizhi and Hassan, Mohammad and Feng, Yuan and Nori, Franco and McGuigan, Michael and Hanada, Masanori",
    title = "{Matrix-Model Simulations Using Quantum Computing, Deep Learning, and Lattice Monte Carlo}",
    eprint = "2108.02942",
    archivePrefix = "arXiv",
    primaryClass = "quant-ph",
    reportNumber = "RIKEN-iTHEMS-Report-21, DMUS-MP-21/10",
    doi = "10.1103/PRXQuantum.3.010324",
    journal = "PRX Quantum",
    volume = "3",
    number = "1",
    pages = "010324",
    year = "2022"
}

About

Quantum simulations of matrix quantum mechanics. Based on qutip.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published