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

✨ Approximate Equivalence Checking #442

Open
TeWas opened this issue Aug 13, 2024 · 0 comments Β· May be fixed by #443
Open

✨ Approximate Equivalence Checking #442

TeWas opened this issue Aug 13, 2024 · 0 comments Β· May be fixed by #443
Assignees
Labels
c++ Anything related to C++ code feature New feature or request

Comments

@TeWas
Copy link
Contributor

TeWas commented Aug 13, 2024

What's the problem this feature will solve?

Currently, the equivalence of two quantum circuits, π‘ˆ and 𝑉, is checked by comparing π‘ˆπ‘‰β€  to the identity DD in isCloseToIdentity. However, this approach does not account for approximate equivalence, which can be sufficient in practice.

Describe the solution you'd like

To address this, the Frobenius inner product between π‘ˆ and 𝑉 can be computed and compared to a predefined threshold to determine approximate equivalence.

  1. AlternatingChecker:

    • Compute the trace of π‘ˆπ‘‰β€  and compare it with the threshold.
  2. ConstructionChecker:

    • Invert circuit 𝑉
    • Compute π‘ˆπ‘‰β€ 
    • Compute the trace of π‘ˆπ‘‰β€  and compare it with the threshold.
  3. SimulationChecker:

    • Configure fidelityThreshold accordingly
@github-project-automation github-project-automation bot moved this to In Progress in MQT Verification Aug 13, 2024
@TeWas TeWas linked a pull request Aug 13, 2024 that will close this issue
4 tasks
@burgholzer burgholzer added this to MQT Aug 13, 2024
@github-project-automation github-project-automation bot moved this to In Progress in MQT Aug 13, 2024
@burgholzer burgholzer added feature New feature or request c++ Anything related to C++ code labels Aug 13, 2024
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 feature New feature or request
Projects
Status: In Progress
Status: In Progress
Development

Successfully merging a pull request may close this issue.

2 participants