-
Notifications
You must be signed in to change notification settings - Fork 26
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
Connectivity constraints for clifford synthesis #506
base: main
Are you sure you want to change the base?
Connectivity constraints for clifford synthesis #506
Conversation
…hub.com:JakobSchaeffeler/mqt-qmap into connectivity_constraints_for_clifford_synthesis
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #506 +/- ##
=======================================
- Coverage 90.4% 90.3% -0.1%
=======================================
Files 87 87
Lines 10052 10199 +147
Branches 1722 1759 +37
=======================================
+ Hits 9093 9217 +124
- Misses 959 982 +23
|
…hub.com:JakobSchaeffeler/mqt-qmap into connectivity_constraints_for_clifford_synthesis
Note #507 just went in and brought some updates from the MQT Core dependency that cause some conflicts here. Could you please resolve these? They should be fairly easy to resolve. Sorry for the inconvenience. |
@burgholzer I tried to resolve the conflicts and everything works locally. However the CI/Change/Check test fails, but all subtasks in there are marked as successful. Do you know what the issue is? |
Thanks for fixing the conflicts so quickly. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice work!
I actually do not have too much to comment on this. The only thing that could be nicer from a maintainability standpoint is to get rid of the offsets in the encodings of every constraint. That might require some more involved rewrites. Unless you have a quick and elegant idea to get rid of this, we can leave it for future refactoring.
One additional feature that would go a long way is to also include a small example for this functionality in the documentation. Extending the Jupyter Notebook for https://mqt.readthedocs.io/projects/qmap/en/latest/Synthesis.html by a small example should be sufficient.
@burgholzer @pehamTom I incorporated the feedback by Tom. However now all Python Test fail with a Deprecation warning and one C test which should be unrelated to my PR. Do you know how to solve that? |
Yeah, that is not your fault. We leave the PR open until the IDP is over anyway. I will take care of it. |
I think if you hit the "Update Branch" button (effectively merging in the main branch), the deprecation warnings should be gone. IIRC, I fixed them for QMAP in one of the latest updates. |
Just merged the main branch in which contains the fixes from #509. |
…hub.com:JakobSchaeffeler/mqt-qmap into connectivity_constraints_for_clifford_synthesis
Description
This PR implements connectivity constraints for the clifford synthesis as requested by #328, by passing optional coupling maps. The passed coupling map used to restrict CNOTs to only connected qubits. Additionally, the clifford synthesizer needs to check if the circuit can be synthesized with any permutation of qubits. If no coupling map is passed all to all connectivity is assumed.
Checklist: