Source code for the paper Quantum Imaginary-Time Evolution with Polynomial Resources in Time.
Preparing the normalized imaginary-time evolution state (ITE state) is a useful tool for problems in quantum many-body system, while current methods that suffer from exponentially growing classical resources or deteriorating success probabilities in long evolution time. This repository gives the simulation code for a quantum algorithm that introduces a normalization scheme that ensures state preparation for large imaginary-time durations with stable success probability, and a quantum algorithm using the idea of ITE to solve ground-state-related problems:
- Prepare ITE states for large imaginary-time durations with stable success probability
- Apply ITE to ground-state-related problems with reduced circuit depth
- Simulate open quantum systems (Lindbladian dynamics) with improved resource scaling
| Figure/Protocol in Paper | Location in Repository | Hardware Requirements |
|---|---|---|
| Tutorial for ITE circuit | tutorial.ipynb |
\ |
| Figure 1 | ./code/normalization.ipynb |
\ |
| Figure 2(a) | ./code/long evolution.ipynb |
\ |
| Figure 2(b,c) | ./code/ground state.ipynb |
\ |
| Figure 3(a,b) | ./code/Lindbladian evaluation.ipynb |
\ |
| Figure 3(c) | ./code/Lindbladian tradeoff.ipynb |
\ |
QITE-CODES/
├── code/ # code for reproducible experiment for the paper
│ ├── data # QSP angles and Fourier coefficients
├── qite/ # source code for the ITE algorithm in the paper
└── qsp/ # source code for the QSP-related functional
We recommend running these files by creating a virtual environment using conda and install Jupyter Notebook. We recommend using Python 3.10 for compatibility.
conda create -n qite python=3.10
conda activate qite
conda install jupyter notebookThese codes are highly dependent on the QuAIRKit package no lower than v0.4.0. This package is featured for batch and qudit computations in quantum information science and quantum machine learning. The minimum Python version required for QuAIRKit is 3.8.
To install QuAIRKit, run the following commands:
pip install quairkitIt is recommended to run these files on a server with high performance. Below are our environment settings:
Package Versions:
- quairkit: 0.4.3
- torch: 2.9.1+cu128
- torch cuda: 12.8
- numpy: 2.3.5
- scipy: 1.16.3
- matplotlib: 3.10.7
System Information:
- Python version: 3.10.0
- OS: Linux, Ubuntu (version: #88-Ubuntu SMP PREEMPT_DYNAMIC Sat Oct 11 09:28:41 UTC 2025)
- CPU: AMD EPYC 9554 64-Core Processor
- GPU: NVIDIA GeForce RTX 3090
These settings ensure compatibility and optimal performance when running the codes.