Skip to main content

Qurry 🍛 - The Measuring Tool for Renyi Entropy, Loschmidt Echo, and Magnetization Squared, The Library of Some Common Cases

Project description

Qurry 🍛 - The python package for measuring quantum entanglement entropy and wave function overlap.

The python package that makes the randomized measurement easy.

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!

Available Python Version Downloads Available System Available System Available System Available System

Documentation

More infomation can be found in the documentation of Qurry 🍛.

Installation

By PyPI - Stable Release

  • The package can be found in pip list as qurrium-x.y.z
  • Pip downloads the most stable release, but not necessarily the latest version.
pip install qurrium

By TestPyPI - Nightly Release

  • This package can be found in pip list as qurry-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

Maually by Git

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 .

Test Installation

pytest is used for testing. Simply run the following command after the installation:

pytest

Environment

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.
  • Windows 10/11

    • on x86_64
  • MacOS 11+

    • on aarch64 (Apple Silicon, M1/M2/M3/M4 chips)
    • on x86_64 (Intel chips)
    • The depedent modules are as follows.
  • with required modules:

  • with optional modules:

    • qiskit-aer: The complete simulator package of qiskit
    • qiskit-aer-gpu: The gpu acceleration of qiskit-aer on Linux with Nvidia GPU
      • qiskit-aer-gpu-cu11: A package for CUDA 11
    • qiskit-ibm-runtime: The API to access IBM Quantum Device
    • qiskit-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.

Measurement -- made randomized measurement easy.

qurrent - The Quantum Renyi Entropy Measurement

The major function of this module is to measure the quantum Renyi entropy to quantify entanglement.

qurrech - The Wave Function Overlap Measurement

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

Citation

If you use this tool in your research, please cite the following paper in your publication:

@article{PhysRevResearch.7.013043,
  title     = {Probing entanglement dynamics and topological transitions on noisy intermediate-scale quantum computers},
  author    = {Chang, Huai-Chun and Hsu, Hsiu-Chuan and Lin, Yu-Cheng},
  journal   = {Phys. Rev. Res.},
  volume    = {7},
  issue     = {1},
  pages     = {013043},
  numpages  = {12},
  year      = {2025},
  month     = {Jan},
  publisher = {American Physical Society},
  doi       = {10.1103/PhysRevResearch.7.013043},
  url       = {https://link.aps.org/doi/10.1103/PhysRevResearch.7.013043}
}
@mastersthesis{Chang2024,
  title      = {Probing Entanglement Entropy on Near-term Quantum Computers},
  author     = {Huai-Chun Chang},
  year       = {2024},
  school     = {National Chengchi University},
  department = {Graduate Institute of Applied Physics},
  advisor    = {Hsiu-Chuan Hsu},
  committee  = {Yu-Cheng Lin, Ying-Jer Kao, Chiao-Hsuan Wang},
  degree     = {Master's},
  abstract   = {In this thesis, we explore the quench dynamics of the Su–Schrieffer–Heeger (SSH) model and quantum entanglement using Noisy Intermediate-Scale Quantum (NISQ) computers, specifically on the IBM Quantum platform. We investigate the second-order Renyi entropy through randomized measurements to characterize the entanglement of quantum states. To simulate partial-dimerized quench Hamiltonians, we employ Trotter decomposition with an adaptive step size to reduce circuit depth. In the fully dimerized limit, the time evolution operator is exactly mapped to quantum gates, which minimizes noise. After applying error mitigation techniques, we find that the entanglement entropy oscillations align with theoretical predictions. Additionally, we developed a Python package called Qurry to manage workflows and facilitate parallel post-processing. Finally, we analyze the error scaling of Renyi entropy measurements and discuss the challenges encountered when simulating larger systems.},
  keywords   = {Noisy Intermediate-Scale Quantum Device, IBM Quantum, Quench dynamics, Su–Schrieffer–Heeger model, Renyi entropy, Randomized measurement, Error mitigation},
  language   = {zh-TW},
  pages      = {134},
  url        = {https://hdl.handle.net/11296/828e7d}
}

Acknowledgments

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.

National Chengchi University

NSTC

National Center for Theoretical Sciences, Physics Division

IBM Quantum Hub at National Taiwan University


Stay connected. More features coming soon...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

qurrium-0.12.1-cp39-abi3-win_arm64.whl (355.2 kB view details)

Uploaded CPython 3.9+Windows ARM64

qurrium-0.12.1-cp39-abi3-win_amd64.whl (623.7 kB view details)

Uploaded CPython 3.9+Windows x86-64

qurrium-0.12.1-cp39-abi3-win32.whl (356.9 kB view details)

Uploaded CPython 3.9+Windows x86

qurrium-0.12.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (793.9 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

qurrium-0.12.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (828.0 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ i686

qurrium-0.12.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (788.8 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

qurrium-0.12.1-cp39-abi3-macosx_11_0_arm64.whl (759.3 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

qurrium-0.12.1-cp39-abi3-macosx_10_12_universal2.whl (1.2 MB view details)

Uploaded CPython 3.9+macOS 10.12+ universal2 (ARM64, x86-64)

File details

Details for the file qurrium-0.12.1-cp39-abi3-win_arm64.whl.

File metadata

  • Download URL: qurrium-0.12.1-cp39-abi3-win_arm64.whl
  • Upload date:
  • Size: 355.2 kB
  • Tags: CPython 3.9+, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for qurrium-0.12.1-cp39-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 ccacbccaa3632daf3ffcaaf99615992dda4aed6cd120cb29ca6f71f93f7fc78d
MD5 65f99ea551f471d81db10d58373f19ae
BLAKE2b-256 5a9d7370b1029f5a7c3120a42e6bed2725737322f1e14fca2333d61c272c15e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for qurrium-0.12.1-cp39-abi3-win_arm64.whl:

Publisher: upload-wheel.yml on qurrium/qurry

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qurrium-0.12.1-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: qurrium-0.12.1-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 623.7 kB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for qurrium-0.12.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 fc748dedb47cbf0731550edf9f4431c2a88a8c64db4b37061326d8da3da39c42
MD5 97fcca0073578a302fcb88c304330480
BLAKE2b-256 2a7e663020da61bf88fbb13effc40f6889658ea7e1ca2a27c2c0db2f8054ff9c

See more details on using hashes here.

File details

Details for the file qurrium-0.12.1-cp39-abi3-win32.whl.

File metadata

  • Download URL: qurrium-0.12.1-cp39-abi3-win32.whl
  • Upload date:
  • Size: 356.9 kB
  • Tags: CPython 3.9+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for qurrium-0.12.1-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 c513a6c164be0793dd99805ea05982cc24ca89f4c655ad879b893821e3efbf33
MD5 f9f598b80e8c2227afca5363c8a0e6e0
BLAKE2b-256 90df43be2a3596f5e1f58e30efeeff889ac80bd96bc19852ad3e2cab0d1c39c6

See more details on using hashes here.

File details

Details for the file qurrium-0.12.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qurrium-0.12.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9ffff02fe3a74e393670d2a6699d5b72c686158341f3a6f9eabcf2a6b76dbef3
MD5 6a9b2cc3bba90da68f1fe25299ac1435
BLAKE2b-256 efefe690a78d0d7a63d26050e1782a2ff46ce23a1210fb71661ef74231ce2837

See more details on using hashes here.

Provenance

The following attestation bundles were made for qurrium-0.12.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheel-stable.yml on qurrium/qurry

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qurrium-0.12.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for qurrium-0.12.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 294ffdb9418a6845d877139f60091dda805363f03b9d3c3a9ff0ff8ca2f6602d
MD5 d0d7c077058ac7576da7850363efa214
BLAKE2b-256 e89e5265055c0708e09699126fdb2ff1f7b123e112af2b3d0453be441d3347bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for qurrium-0.12.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: wheel-stable.yml on qurrium/qurry

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qurrium-0.12.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for qurrium-0.12.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 56a8793248e261f50cf05b2446a29e476b9ecab54adcb00b74b037e46622c53e
MD5 5701454b6fc880433b5af52ef4a902ef
BLAKE2b-256 6415c94f81df66617c30bfa78231b93c4df7ff19d8a0ed69919e0180656875af

See more details on using hashes here.

Provenance

The following attestation bundles were made for qurrium-0.12.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: upload-wheel.yml on qurrium/qurry

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qurrium-0.12.1-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for qurrium-0.12.1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f77b06cc4650d29c0485fdcc66601084de2b5c0533f90af5498a5d5454b08eca
MD5 b13b0589f7e457e12f77592f84f983ce
BLAKE2b-256 83c304d2207d49cb5567318ed5804926baa0c95833b4956e3267c52c00b07f3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for qurrium-0.12.1-cp39-abi3-macosx_11_0_arm64.whl:

Publisher: upload-wheel.yml on qurrium/qurry

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qurrium-0.12.1-cp39-abi3-macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for qurrium-0.12.1-cp39-abi3-macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 f4ff3302402ffa10230b07f68704b06c196e378d6c6af2efbf9da1fc2c6e6a8e
MD5 2fcb4467b6afdd713b8659338c547955
BLAKE2b-256 73b18342eb2006cedd5b3997add9e3ee7c4fbbacff8a7ce06ec3915d216b1cdc

See more details on using hashes here.

Provenance

The following attestation bundles were made for qurrium-0.12.1-cp39-abi3-macosx_10_12_universal2.whl:

Publisher: upload-wheel.yml on qurrium/qurry

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page