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

Zero-ancilla partial equivalence checking #532

Merged
merged 6 commits into from
Jan 15, 2024

Conversation

reb-ddm
Copy link
Contributor

@reb-ddm reb-ddm commented Jan 15, 2024

Description

Changed isCloseToIdentityRecursive such that it supports garbage qubits and a flag can be added to only check if it's close to a diagonal matrix, without checking that the diagonal entries are close to one.
With this function, zero-ancilla partial equivalence can be checked as described in the paper "Partial Equivalence Checking of Quantum Circuits" by Chen et al.

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.

Copy link

codecov bot commented Jan 15, 2024

Codecov Report

Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (b043e28) 91.3% compared to head (91f06b6) 91.3%.

Additional details and impacted files

Impacted file tree graph

@@          Coverage Diff          @@
##            main    #532   +/-   ##
=====================================
  Coverage   91.3%   91.3%           
=====================================
  Files        130     130           
  Lines      13851   13857    +6     
  Branches    2151    2153    +2     
=====================================
+ Hits       12655   12665   +10     
+ Misses      1196    1192    -4     
Flag Coverage Δ
cpp 91.0% <96.2%> (+<0.1%) ⬆️
python 99.7% <ø> (ø)
Files Coverage Δ
include/dd/Package.hpp 97.0% <96.2%> (+0.3%) ⬆️

Copy link
Member

@burgholzer burgholzer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Many thanks for the pull request! Overall this is looking really good already. Just a couple of very minor comments that would be nice to address. After that, this is good to go ✅

include/dd/Package.hpp Outdated Show resolved Hide resolved
include/dd/Package.hpp Outdated Show resolved Hide resolved
test/dd/test_package.cpp Outdated Show resolved Hide resolved
@reb-ddm reb-ddm marked this pull request as ready for review January 15, 2024 15:57
Copy link
Member

@burgholzer burgholzer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Many thanks for the additional changes. Looking all good now! 😌

@burgholzer burgholzer added enhancement New feature or request DD Anything related to the DD package c++ Anything related to C++ code labels Jan 15, 2024
@burgholzer burgholzer added this to the DD Package Improvements milestone Jan 15, 2024
@burgholzer burgholzer merged commit f8daa7f into cda-tum:main Jan 15, 2024
34 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c++ Anything related to C++ code DD Anything related to the DD package enhancement New feature or request
Projects
Status: Done
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants