Skip to main content

The Quaspy library for Python3 for simulating and post-processing various quantum algorithms, including Shor's algorithms and Ekerå–Håstad's variations of Shor's algorithms.

Project description

Quaspy

Quaspy

The Quaspy (Quantum algorithm simulations in Python) library for Python3 contains modules that implement:

  • Simulators for the quantum part of Shor's order-finding algorithm [Shor94], modified as in [E22p], and the classical post-processing in [E22p] that recovers the order in a single run with very high success probability.

  • Simulators for factoring general integers via order-finding, and the post-processing in [E21b] and [E22p] that factors any integer completely in a single order-finding run with very high success probability.

  • Simulators for the quantum part of Shor's algorithm for computing general discrete logarithms [Shor94], modified as in [E19p], and the post-processing in [E19p] that recovers the logarithm given the order in a single run with very high probability of success.

  • Simulators for the quantum part of Ekerå–Håstad's algorithm for computing short discrete logarithms [EH17], modified as in [E20] and [E23p], and the post-processing in [E23p] that recovers the logarithm in a single run with very high probability of success. This algorithm does not require the order to be known.

  • Simulators for factoring RSA integers via short discrete logarithms, by using the reduction in [EH17], modified as in [E20] and [E23p], and the post-processing in [E23p] that factors random RSA integers in a single run with very high probability of success.

All modules, classes, methods and functions in Quaspy are documented using Python3 docstrings.

Note that Quaspy does not implement support for tradeoffs in the aforementioned algorithms. Support for tradeoffs may potentially be added in the future. For the time being, see instead the Qunundrum repository with its suite of MPI programs. Note furthermore that portions of Quaspy are inherited from the Factoritall repository.

Quaspy is a work in progress, and may be subject to major changes without prior notice. Quaspy was developed for academic research purposes. It grew out of our research project in an organic manner as research questions were posed and answered. It is distributed "as is" without warranty of any kind, either expressed or implied. For further details, see the license.

Examples

For examples that illustrate how to use Quaspy, please see the examples directory in the Quaspy repository.

See also the documentation for Quaspy for help on how to use the library.

About and acknowledgments

The Quaspy library was developed by Martin Ekerå, in part at KTH, the Royal Institute of Technology, in Stockholm, Sweden. Valuable comments and advice were provided by Johan Håstad throughout the development process.

Funding and support was provided by the Swedish NCSA that is a part of the Swedish Armed Forces.

Project details


Download files

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

Source Distribution

quaspy-0.9.3.tar.gz (60.4 kB view details)

Uploaded Source

Built Distribution

quaspy-0.9.3-py3-none-any.whl (78.8 kB view details)

Uploaded Python 3

File details

Details for the file quaspy-0.9.3.tar.gz.

File metadata

  • Download URL: quaspy-0.9.3.tar.gz
  • Upload date:
  • Size: 60.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12

File hashes

Hashes for quaspy-0.9.3.tar.gz
Algorithm Hash digest
SHA256 c8beecea7a290717539d187be8db17ccd5e66ab4365a797244352725045f50bd
MD5 95adfc52128376df0a0e37c8e3216ef3
BLAKE2b-256 14e388afe40ee740be1520732313420fbdffa843bfa9fe75951809aeb379bcff

See more details on using hashes here.

File details

Details for the file quaspy-0.9.3-py3-none-any.whl.

File metadata

  • Download URL: quaspy-0.9.3-py3-none-any.whl
  • Upload date:
  • Size: 78.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12

File hashes

Hashes for quaspy-0.9.3-py3-none-any.whl
Algorithm Hash digest
SHA256 684625ae95b261b0e8ca1f9ae57892629299907a13a4d0f1555b7a91571b567c
MD5 03aeb7f31a485eb6980588a0da182579
BLAKE2b-256 b37cc712fccf5841e52b1d942fee279b2f16d9ec0b2988b118a73349c9b87d68

See more details on using hashes here.

Supported by

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