Yet Another Quantum Quantizer - Design Space Exploration of Quantum Gate Sets using Novelty Search
Project description
Copyright © 2023 Quantum Intelligence Research Group
Source code available at: https://github.com/Advanced-Research-Centre/YAQQ
Contact: https://www.linkedin.com/in/sarkararitra/
YAQQ: Yet Another Quantum Quantizer - Design Space Exploration of Quantum Gate Sets using Novelty Search
The YAQQ (Yaqq Another Quantum Quantizer) is an agent that searches for novel quantum gate sets. Given a gate set, it can find a complementary gate that performs better for a particular set of unitary transformations than the original gate set. It is possible theoretically because (a) there are an infinite number of ways of creating universal quantum computing gate sets - the ubiquity of quantum universality, (b) for each discrete gate set, there are certain quantum states that are easy to express, but many other quantum states which are exponentially costly - universal distribution for quantum automata. The cost, or the performance of a gate set, considers the fidelity when the gate set is used to decompose the target set of quantum transformations and the circuit complexity of the decomposition.
The theoretical foundation of this package, higher- and multi-order network models, was developed in the following works:
- RuliadTrotter: meta-modeling Metamathematical observers
- Visualizing Quantum Circuit Probability: Estimating Quantum State Complexity for Quantum Program Synthesis
- Automated Quantum Software Engineering: why? what? how?
- Discovering Quantum Circuit Components with Program Synthesis
- Automated Gadget Discovery in Science
- The YAQQ name is inspired by the YACC - a compiler-compiler, or a compiler-generator. In a similar way YAQQ provides the set of decompositions for the generated gate set.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.
Install:
pip install --upgrade yaqq
Usage:
import yaqq
yaqq.run()
Contributors:
Aritra Sarkar (project lead, development) Akash Kundu (development, test suite integration)
Citation:
If you find the repository useful, please consider citing:
@misc{YAQQ,
author={Sarkar, Aritra and Kundu, Akash},
title={YAQQ: Yet Another Quantum Quantizer},
howpublished={\url{[https://github.com/Advanced-Research-Centre/YAQQ](https://github.com/Advanced-Research-Centre/YAQQ)}},
year={2023}
}
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 Distribution
File details
Details for the file yaqq-0.13.5.tar.gz
.
File metadata
- Download URL: yaqq-0.13.5.tar.gz
- Upload date:
- Size: 25.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1475902c3d46065dfa2827a29d268ef7ea3206e4b47023d0374bf81ed08d6d3 |
|
MD5 | 1dd6ca5dea6958f989cc352993975430 |
|
BLAKE2b-256 | 04d90f4acdc6ea64befa837b135ff0c31e87cdca8af3a8416d4ffde35d287857 |
File details
Details for the file yaqq-0.13.5-py3-none-any.whl
.
File metadata
- Download URL: yaqq-0.13.5-py3-none-any.whl
- Upload date:
- Size: 26.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ddfb88f118707d446d8c141a497a9eba77f528e559d9bc2131979a2272fb9b3f |
|
MD5 | b6d55f89e31a599eaa8b8c8ddf4b9105 |
|
BLAKE2b-256 | eacba03a795cfcecd9f8a50937562eeae21db0aeb045a1913cd83b18c56ef2c8 |