Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ Gate Extensions and better QASM parser #268

Merged
merged 10 commits into from
Mar 19, 2023
Merged

✨ Gate Extensions and better QASM parser #268

merged 10 commits into from
Mar 19, 2023

Conversation

burgholzer
Copy link
Member

@burgholzer burgholzer commented Mar 18, 2023

Description

This PR updates the internal QFR library and brings along support for many new (two-qubit) gates. Until #235 is in, the mapper in QMAP can't really take advantage of that, but it's good to be prepared for that. Some breaking changes in the QFR required changes here to make the project compile again.

The Clifford Tableau simulation algorithm now also supports iSWAP, DCX, and ECR gates.

Finally, the internal QASM parser has been improved by quite a bit; adding support for all new gates and direct parsing for natively supported gates without requiring definitions. The version specifier (OPENQASM 2.0) is now optional and the parser supports all standard quantum gates and controlled versions without requiring the qelib1.inc include.

Checklist:

  • The pull request only contains commits that are related to it.
  • I have added appropriate tests and documentation.
  • I have made sure that all CI jobs on GitHub pass.
  • The pull request introduces no new warnings and follows the project's style guidelines.

@burgholzer burgholzer added the feature New feature or request label Mar 18, 2023
@burgholzer burgholzer self-assigned this Mar 18, 2023
Signed-off-by: Lukas Burgholzer <[email protected]>
Signed-off-by: Lukas Burgholzer <[email protected]>
adds new gate support and better QASM parser

Signed-off-by: Lukas Burgholzer <[email protected]>
@burgholzer
Copy link
Member Author

Failures here are fixed by cda-tum/mqt-core#284.

@codecov
Copy link

codecov bot commented Mar 19, 2023

Codecov Report

Merging #268 (27bb1c8) into main (0f9cbc6) will increase coverage by 0.1%.
The diff coverage is 100.0%.

@@           Coverage Diff           @@
##            main    #268     +/-   ##
=======================================
+ Coverage   91.9%   92.1%   +0.1%     
=======================================
  Files         45      45             
  Lines       3745    3773     +28     
  Branches     622     627      +5     
=======================================
+ Hits        3445    3475     +30     
+ Misses       300     298      -2     
Flag Coverage Δ
cpp 91.5% <100.0%> (+0.1%) ⬆️
python 95.9% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
include/cliffordsynthesis/Tableau.hpp 83.3% <ø> (ø)
src/exact/ExactMapper.cpp 98.3% <ø> (-0.1%) ⬇️
src/heuristic/HeuristicMapper.cpp 93.0% <ø> (-0.1%) ⬇️
include/configuration/CommanderGrouping.hpp 56.5% <100.0%> (+8.9%) ⬆️
include/configuration/Encoding.hpp 57.8% <100.0%> (+10.8%) ⬆️
src/cliffordsynthesis/Tableau.cpp 98.2% <100.0%> (+0.2%) ⬆️

... and 1 file with indirect coverage changes

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@burgholzer burgholzer merged commit 6e8ab7a into main Mar 19, 2023
@burgholzer burgholzer deleted the gate-extensions branch March 19, 2023 14:44
@burgholzer burgholzer mentioned this pull request Mar 22, 2023
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant