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

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:

@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}
}

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.9.1-cp39-abi3-win_arm64.whl (285.9 kB view details)

Uploaded CPython 3.9+Windows ARM64

qurrium-0.9.1-cp39-abi3-win_amd64.whl (714.8 kB view details)

Uploaded CPython 3.9+Windows x86-64

qurrium-0.9.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (694.0 kB view details)

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

qurrium-0.9.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (714.9 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ i686

qurrium-0.9.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (684.9 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

qurrium-0.9.1-cp39-abi3-macosx_11_0_arm64.whl (635.0 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

qurrium-0.9.1-cp39-abi3-macosx_10_9_x86_64.whl (648.1 kB view details)

Uploaded CPython 3.9+macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: qurrium-0.9.1-cp39-abi3-win_arm64.whl
  • Upload date:
  • Size: 285.9 kB
  • Tags: CPython 3.9+, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for qurrium-0.9.1-cp39-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 ba92e5a8746638e06ed8aa44d7fd2dcbca8d78c7df28518430f040203289210f
MD5 19ce668f72d8c2b826707a593951abd3
BLAKE2b-256 7ccd64233aaf7a11678016921856ad3b8d2dc28a291e1d2af49e535f4e09e4ac

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for qurrium-0.9.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 5fe50de96482540fdeba2da57ed85f767354d31ab0047d7585bfd5909d50d597
MD5 686563b2a7d98f0bdbab0be9f3baf96a
BLAKE2b-256 8513fafe88cb492b231f26c58c164df2b9c9194a7e253d422f242bb09081d65c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qurrium-0.9.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6dd34527798315361d5ae6e7859011fa75b9ad55d9d44bd9e982fe53f669d3f9
MD5 cafb5234d7426d2a5459fefcf645185e
BLAKE2b-256 b51615acd0570a26d71f07b4a793b707517f883c3098ddc3941377118bb88ae1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qurrium-0.9.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 50a51a69dd2eb4b1c6bc6ac4f55d31c698b8ef25f0eaa95caa62ab98a9c54979
MD5 40023381f81316c674b3ad7fa2c57c7c
BLAKE2b-256 97fbf0f05a300bd56108c5373043fd799b2b886bf18eaffa523954409a442dc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qurrium-0.9.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3c0966a790cd42748518f91e9702d9d0956c4b00fb758c2a62d0cfbc33a11210
MD5 aa45986f2af49f36599a86cb704489b2
BLAKE2b-256 981186e0255c8ecf09996b4fc93835988c82dcf51074b3c4d47d60fc37b6ef13

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qurrium-0.9.1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c87ba0fc6203ef2822125f28249375b7e0cc44fdc8972f5f84c5c0246d86e388
MD5 7b2619ec4a5dc79b9192ebf12e0a62aa
BLAKE2b-256 997e211f22f42023d885030af376a0e6f4be1ca493bf3a54f5588282335dc625

See more details on using hashes here.

File details

Details for the file qurrium-0.9.1-cp39-abi3-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for qurrium-0.9.1-cp39-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3615fecee08e832356f553c41bec0acb9d5078de7ea3f7c5bc755664a1481130
MD5 e92f87b6f26ac88a59abc10db98f3a50
BLAKE2b-256 fd68b14d6db829ca850967d1cffb03b874d1b3700c4c7e7c72d9eb30dd41f681

See more details on using hashes here.

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