Qurry π - The python package for measuring quantum entanglement entropy and wave function overlap.
The major function includes the measurement of quantum Renyi Entropy and Wave Function Overlap based on the randomized measurement protocol.
When interfaced with IBM Qiskit, the package automates the workflow from creating experiment objects, job submission and recall and postprocessing.
There are several additional features, such as measurement of magnetization and error mitigation. Please check them out!
- The package can be found in
pip list
asqurrium-x.y.z
- Pip downloads the most stable release, but not necessarily the latest version.
pip install qurrium
- This package can be found in
pip list
asqurry-x.y.z.devW
- This version includes new features and minor bug fixes, but may not be stable.
pip install qiskit tqdm requests
# the installation from testPyPI can' t find these dependencies
pip install -i https://test.pypi.org/simple/ qurry
Qurry can be installed from source. Since this package relies on Cython and Rust, it requires "C complier" and "Rust complier" which you need to install first.
To install rust, run the following command:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Then install qurry
by the following command:
git clone https://github.com/harui2019/qurry-preview.git --recursive
cd qurry
pip install -e .
pytest
is used for testing. Simply run the following command after the installation:
pytest
Qurry currently SUPPORT qiskit 0.46.0+ and qiskit 1.0.0+, other lower versions are no longer available. The package has been tested on the following systems.
-
Ubuntu 18.04+ LTS (All ManyLinux 2014 compatible distro)
- on
x86_64
(recommended) - on
x86_64
Windows 10/11 WSL2 (recommended) - on
aarch64
- We strongly recommend to use Linux based systems because Python multiprocessing may exist issues on Windows and the NVIDIA CUDA acceleration of
Qiskit
,qiskit-aer-gpu
are supported only on Linux.
- on
-
Windows 10/11
- on
x86_64
- on
-
MacOS 11+
- on
aarch64 (Apple Silicon, M1/M2/M3/M4 chips)
- on
x86_64 (Intel chips)
- The depedent modules are as follows.
- on
-
with required modules:
-
with optional modules:
qiskit-aer
: The complete simulator package ofqiskit
qiskit-aer-gpu
: The gpu acceleration ofqiskit-aer
on Linux with Nvidia GPUqiskit-aer-gpu-cu11
: A package for CUDA 11
qiskit-ibm-runtime
: The API to access IBM Quantum Deviceqiskit-ibm-provider
: The API to access IBM Quantum Device, but will be deprecated soon.qiskit-ibmq-provider
: The API to access IBM Quantum Device, which has been deprecated.
The major function of this module is to measure the quantum Renyi entropy to quantify entanglement.
This module evaluates the overlap between any two given quantum states.
In each of the modules, two methods are implemented to perform the measurements:
-
Hadamard Test
- Ref: Entanglement spectroscopy on a quantum computer - Sonika Johri, Damian S. Steiger, and Matthias Troyer, PhysRevB.96.195136
-
Haar Randomized Measure
- Ref: Statistical correlations between locally randomized measurements: A toolbox for probing entanglement in many-body quantum states - A. Elben, B. Vermersch, C. F. Roos, and P. Zoller, PhysRevA.99.052323
If you use this tool in your research, please cite the following paper in your publication:
@misc{chang2024probing,
title = {Probing entanglement dynamics and topological transitions on noisy intermediate-scale quantum computers},
author = {Huai-Chun Chang and Hsiu-Chuan Hsu and Yu-Cheng Lin},
year = {2024},
eprint = {2406.10159},
archiveprefix = {arXiv},
primaryclass = {quant-ph},
url = {https://arxiv.org/abs/2406.10159}
}
The authors acknowledge the support from National Chengchi University, NSTC-Quantum Virtual Machine project, National Center for Theoretical Sciences (NCTS). and IBM Quantum Hub at National Taiwan University (NTU).
Special thank to IBM Quantum Hub at NTU for providing the access right of IBM Quantum that allows us to fully test the tool and execute our experiments.
The author @harui2019 is grateful to the NTU hub of NCTS that supported him as a Research Assistiant in the early stage of the development.