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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file vulqano-0.1.2.tar.gz.

File metadata

  • Download URL: vulqano-0.1.2.tar.gz
  • Upload date:
  • Size: 60.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for vulqano-0.1.2.tar.gz
Algorithm Hash digest
SHA256 8a4ff33eea23a092f98b15fced37ec86864a9ead011294878a49b94dce1fc1e8
MD5 6de6e02ee4615388992741aba871e06a
BLAKE2b-256 0ff7546630e10183d43c808bc70fd8c89dbb63bd6bfb445461d0d643c661c566

See more details on using hashes here.

File details

Details for the file vulqano-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: vulqano-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 78.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for vulqano-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d69735f62f89882f470de34f11d8898c80ee70a684c6069feb8ad5f98164d6ee
MD5 528d0a578bf126bbe9b5c4e78f36737d
BLAKE2b-256 6235d1bb5c4979dfe46ab3205bf398c8ab22afe5ca29f0a51dcbc71dbaad1590

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