ekera / quaspy

The Quaspy library for Python for simulating and post-processing various quantum algorithms, including Shor's algorithms and Ekerå–Håstad's variations of Shor's algorithms.
MIT License
1 stars 0 forks source link
discrete-logarithms factoring-integers quantum-computer-simulator quantum-computing shors-algorithm

Quaspy

The Quaspy library for Python

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

All modules, classes, methods and functions in Quaspy are documented using Python 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.

Prerequisites

To install Python under Ubuntu 22.04 LTS, along with required dependencies, execute:

$ sudo apt install python3 python3-pip python3-venv
$ sudo apt install libgmp-dev libmpfr-dev libmpc-dev

For other Linux and Unix distributions, or operating systems, you may need to download Python and install it manually along with the required dependencies.

Installing the library

To install the Quaspy library, execute:

$ pip3 install dist/quaspy-0.9.3-py3-none-any.whl

You may also install Quaspy via Pip3 by executing:

$ pip3 install quaspy

Examples

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

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.