https://github.com/cda-tum/mqt-qudit-compilation
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
✓DOI references
Found 1 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (17.0%) to scientific vocabulary
Keywords
Repository
Basic Info
Statistics
- Stars: 18
- Watchers: 4
- Forks: 3
- Open Issues: 6
- Releases: 0
Topics
Metadata Files
README.md
[!WARNING] As of May 2024, this repository is no longer actively maintained. All code has been directly integrated into MQT Qudits. Development is expected to continue there. No new contributions will be accepted here.
MQT Qudits - Adaptive Compilation of Multi-Level Quantum Operations
A tool for the compilation of arbitrary d-dimensional single qudit unitaries into error-efficient sequences of two-level operations by Chair for Design Automation.
If you have any questions, feel free to contact us via quantum.cda@xcit.tum.de or by creating an issue on GitHub.
Getting Started
The compiler demands only for the resolution of dependencies, to solve run in terminal.
pip install -r requirements.txt
In order to proceed just import the main class 'QuantumCircuit' in the QuantumCircuit folder.
The following code gives an example on the usage:
```python3 from src.architecturegraph.levelGraph import level_Graph from src.evaluation.Pauli import H from src.circuit.QuantumCircuit import QuantumCircuit
dimension = 3 # select dimension of your single qudit .
declare the edges on the energy level graph between logic states .
edges = [ (1, 0, {"deltam": 0, "sensitivity": 3}), (0, 2, {"deltam": 0, "sensitivity": 3}), ]
name explicitly the logic states .
nodes = [0, 1, 2]
declare physical levels in order of maping of the logic states just declared .
i.e. here we will have Logic 0 -> Phys. 0, have Logic 1 -> Phys. 1, have Logic 2 -> Phys. 2 .
nmap = [0, 1, 2]
Construct the qudit energy level graph, the last field is the list of logic state that are used for the calibrations of the operations.
note: only the first is one counts in our current cost fucntion.
graph = level_Graph(edges, nodes, nmap, [1])
Construct quantum circuit with 1 qudit, 0 classical bit, dimension of the qudit, graph of the qudit, flag for compile with verification .
QC = QuantumCircuit(1, 0, dimension, graph, verify = True)
add custom gate to qudit 0, the matrix field is a nump array .
QC.custom_unitary(0, H(dimension).matrix)
Visualize initial circuit .
QC.draw()
Compile .
QC.DFS_decompose()
alternative : QR_decompose()
Propagate Z gates backwards .
QC.Z_prop(back = True)
Visualize the results
QC.draw()
Save the results to json .
path = "./" QC.to_json(path)
NOTE: for customizing the cost functions access file ./src/utils/cost_functions.py
```
System Requirements and Building
The implementation is compatible with a minimimum version of Python 3.8.
Building (and running) is continuously tested under Linux, macOS, and Windows using the latest available system versions for GitHub Actions.
References
K. Mato, M. Ringbauer, S. Hillmich and R. Wille, "Adaptive Compilation of Multi-Level Quantum Operations," 2022 IEEE International Conference on Quantum Computing and Engineering (QCE), Broomfield, CO, USA, 2022, pp. 484-491, doi: 10.1109/QCE53715.2022.00070.
Owner
- Name: Chair for Design Automation, TU Munich
- Login: cda-tum
- Kind: organization
- Location: Germany
- Website: https://www.cda.cit.tum.de
- Repositories: 22
- Profile: https://github.com/cda-tum
The CDA provides expertise for all main steps in the design and realization of integrated circuits, embedded systems, as well as cyber-physical systems.
GitHub Events
Total
- Watch event: 4
Last Year
- Watch event: 4
Issues and Pull Requests
Last synced: 12 months ago
All Time
- Total issues: 7
- Total pull requests: 2
- Average time to close issues: 4 days
- Average time to close pull requests: 5 months
- Total issue authors: 3
- Total pull request authors: 2
- Average comments per issue: 0.0
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- KevinMTO (5)
- hillmich (1)
- burgholzer (1)
Pull Request Authors
- KevinMTO (3)
- hillmich (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- networkx ==2.8
- numpy ==1.22.3
- actions/checkout v3 composite
- actions/setup-python v4 composite