Skip to main content

Compiler for quantum algorithms

Project description

License

VulQano

The VulQano library enables the compilation of quantum circuits to produce equivalent circuits — implementing the same quantum algorithm — that can be executed on a noisy target machine with minimal expected infidelity.

This compilation process is hardware-aware: any gate set can be implemented, and the expected infidelity accounts for specific sources of error on the target machine, including gate infidelity and crosstalk.

Equivalent circuits are generated by replacing sub-circuits with equivalents listed in customizable set of equivalences.

The compilation is approached as a many-body problem: circuits are mapped to many-body states, and the expected infidelity is represented as a Hamiltonian. Techniques such as simulated annealing are then applied to optimize the circuits. Additionally, quantum optimization techniques like quantum annealing can be utilized. The corresponding quantum dynamics are simulated through the Python library qtealeaves.

Version 0.1.0 of Vulqano has been developed in the context of the European Project EuRyQa at the University of Padova.

Environment variables

The discrete rotation gates involved in the compilation include all the unitaries RZ(4pi/2^n) with n up to the environment variable R_MAX_VULQANO. Default is 16.

Documentation

Here is the documentation. The documentation can also be built locally via sphinx.

License

The project vulqano is hosted at the repository https://baltig.infn.it/qpd/vulqano, and is licensed under the following license:

Apache License 2.0

The license applies to the files of this project as indicated in the header of each file, but not its dependencies.

Examples

Examples for how to use the python module can be found in the repository at https://baltig.infn.it/qpd/vulqano.

Installation

Installation via pip

The package is available via PyPi and pip install vulqano. After cloning the repository, an local installation via pip is also possible via pip install ..

Dependencies

The python dependencies can be found in the requirements.txt and are required independently of the use-cases. qmatchatea is an optional dependency and is required to run the circuit_tester module.

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

vulqano-0.1.2.tar.gz (60.8 kB view hashes)

Uploaded Source

Built Distribution

vulqano-0.1.2-py3-none-any.whl (78.6 kB view hashes)

Uploaded Python 3

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