https://github.com/cda-tum/mqt-qudit-compilation

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

quantum-computing qudits
Last synced: 9 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: cda-tum
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 4.97 MB
Statistics
  • Stars: 18
  • Watchers: 4
  • Forks: 3
  • Open Issues: 6
  • Releases: 0
Topics
quantum-computing qudits
Created over 4 years ago · Last pushed about 2 years ago
Metadata Files
Readme License

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.

License: MIT <!--- Bindings Documentation codecov -->

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

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
enhancement (3) bug (1) documentation (1)
Pull Request Labels

Dependencies

requirements.txt pypi
  • networkx ==2.8
  • numpy ==1.22.3
.github/workflows/test_routine.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite