Quantum computing circuit toolkit. Python interface of roqoqo
Project description
qoqo
Quantum Operation Quantum Operation
Yes we use reduplication
qoqo/roqoqo is a toolkit to represent quantum circuits by HQS Quantum Simulations.
For a detailed introduction see the user documentation and the qoqo examples repository
What roqoqo/qoqo is:
- A toolkit to represent quantum programs including circuits and measurement information
- A thin runtime to run quantum measurements
- A way to serialize quantum circuits and measurement information
- A set of optional interfaces to devices, simulators and toolkits (e.g. qoqo_qest, qoqo_mock, qoqo_qasm)
What roqoqo/qoqo is not:
- A decomposer translating circuits to a specific set of gates
- A quantum circuit optimizer
- A collection of quantum algorithms
qoqo provides a full python interface to the underlying roqoqo library, including:
- A circuit class to represent quantum programs
- Single-Qubit, Two-Qubit and Multi-Qubit Operations that can be executed (decomposed) on any universal quantum computer
- PRAGMA Operations that only apply to certain hardware, simulators or annotate circuits with additional information
- Classical Register and Measurement operations to use with a quantum program
- Measurement structs for evaluating observable measurements based on projective measurements from quantum hardware or simulator readouts
- A QuantumProgram class combining circuits and measurement information in complete quantum programms with a simple interface
- Serialization to json and deserialization from json for circuits and measurement information. Serialization support can easily be expanded to other targets with the help of the serde crate.
Installation
On Linux and macOS on x86 precompiled packages can be found on PyPi and installed via
pip install qoqo
For other platforms we recommend using the source distribution from PyPi to build a python package for qoqo locally via pip. The install requires the maturin tool (also available via pip) and a working rust toolchain.
pip install qoqo
Alternatively one can check out the latest tagged version from github and use the maturin tool to build a python package for qoqo locally and install it via pip.
Please note that the package should be built from the top level directory of the workspace selecting the qoqo package with the -m qoqo/Cargo.toml
option.
Specifically for macOS on Apple Silicon the following build command should be used.
maturin build -m qoqo/Cargo.toml --release
pip install target/wheels/$NAME_OF_WHEEL
When using qoqo in a rust project providing a python interface add
qoqo = {version="1.0.0", default-features=false}
to the [dependencies]
section of the project Cargo.toml.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for qoqo-1.0.0_beta.1-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ff0e55d710a629d486004635968067f17aef542d70f83ba502a485585ab26d4 |
|
MD5 | e1d2d7c8b13e69e8b8d15932e1df410c |
|
BLAKE2b-256 | 99baf94a402e126ebba37fb640d40db516865bc3a6ee64247c8b0acb5bb5cb08 |
Hashes for qoqo-1.0.0_beta.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 172b0b34f1e0279e96f0db6e209fdfdd4b7db9959a35c285b014a02fa9570d3b |
|
MD5 | 98e1d245fbfdcd83a13a570df56842af |
|
BLAKE2b-256 | 739aa262eec25e7dc9a32230baae11abcdabc58f844c5bb132a1d2e50fd9d2a5 |
Hashes for qoqo-1.0.0_beta.1-cp310-cp310-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b5accaca955cb60f09fbbdfb43a2dc5da00a66c115c2a9b96ba693a7adfd95f |
|
MD5 | f6ac89b318e70c1dd0ca555561c1c251 |
|
BLAKE2b-256 | da74d8b47c446216bbdc42a6cd423aab4ae7879ddd78a537c8cf4ae6e80ec0a0 |
Hashes for qoqo-1.0.0_beta.1-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a425f37d25a681ecedb708d8227e76129d64859d3f014808e8b00038646383b6 |
|
MD5 | f93a067504df001a9766d3910f55204f |
|
BLAKE2b-256 | e035ab832a87bc7091b66e09f9612bc940cb96212752fbade440afa53013b95c |
Hashes for qoqo-1.0.0_beta.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7bca123a4617bcf78984d9ce4ee62f29682c083ce0f928047628c6b0584ab3db |
|
MD5 | d3b826d05bf5c0a4875c16e1d80049fb |
|
BLAKE2b-256 | 2ad9a2fa31fa7b815ffa463716778b671d2f0f8c026e8e75a9e77d42298cf830 |
Hashes for qoqo-1.0.0_beta.1-cp39-cp39-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fcfab3f2ae8c3d6100d312df5daa4d202f616973be15ed678c400c7543b55f7 |
|
MD5 | 29695e4fe315bc9aaad50e87e4857034 |
|
BLAKE2b-256 | 0f9b029326737bb09cb74f2e5c442db2a7f9d05c625206e0b6bedc4a5f276b87 |
Hashes for qoqo-1.0.0_beta.1-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4881ca2c8f81d93a3925a71ba678893b0b8796230f6f80d33d2cc36b79e0242d |
|
MD5 | 8e7d1224ac5f5486e989ab6bd1381c64 |
|
BLAKE2b-256 | 164f46e35621dae81347057b20e34d5c9b2a9262e22ec7ab8976cd7362d78412 |
Hashes for qoqo-1.0.0_beta.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 632e7dd1fc1699d445b859da536c2c9f893bdf73ac300137b51ea57052c27586 |
|
MD5 | e2c41f1bde2204d5c8bb4fa5eb95bdef |
|
BLAKE2b-256 | 51d67dfc6fb834a8dde55ffa0ff77bb1040205e689f7880e1aae759026f44bf9 |
Hashes for qoqo-1.0.0_beta.1-cp38-cp38-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a702600d8b739ef3f65fa5d77c4a69185787e9be86a3f42639752307ddeb54e0 |
|
MD5 | 65068cc0d8f4159393ee808d20b0aa3f |
|
BLAKE2b-256 | 0889aa454de6870162b079dc37a8333f067ef5d9e5b3597bf47a434e33b482c1 |
Hashes for qoqo-1.0.0_beta.1-cp37-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffb30a7b7b84226f959981bc6d2560ca32463e8f1cb01564e717e098df23a797 |
|
MD5 | f7af13b5dae4f3fd3b7573f6482ad99e |
|
BLAKE2b-256 | 0e84a7d357f0b20f42f13cf0aec4d29340a70cc9191ce6e0e33192c5dacff115 |
Hashes for qoqo-1.0.0_beta.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb6a7317227cafe9d61a180d83657ae2ab98c35038af11410e0f750477a4b01a |
|
MD5 | 973e9f4499c4a621224e4d265b7ef1af |
|
BLAKE2b-256 | 5956f53cd5c37e91418659f72deb3f3f633f323d8f31d618860096781e768010 |
Hashes for qoqo-1.0.0_beta.1-cp37-cp37m-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c3ed0684df9eb5815d482c77fbb58079ce2387c7ada918875cba96d5ac043d9 |
|
MD5 | d1d6562702a0556a16f736fedbd2ce90 |
|
BLAKE2b-256 | 634fb1fd6d46412f31d51fc2babe60ac12ac90a5a118da0188793e32b6aa3478 |