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

Added simplify circuit functionality and tests #241

Merged
merged 1 commit into from
May 3, 2024

Conversation

imagoulas
Copy link
Contributor

Description

Added new functionality to simplify quantum circuits in place. The implemented simplifications include:

  • removal of adjacent involutory gates
  • combining rotational gates
  • replacing adjacent square root quantum gates with their square
    The simplification algorithm also accounts for symmetrical control two-qubit gates.

To facilitate the process, a new function has been added that takes as input two Gate instances and returns a tuple of types bool and int. The boolean denotes whether the two gates commute and the int the possible simplification scheme.

User Notes

  • [x ] Features added
  • Changes to compilation (if any)

Checklist

  • [x ] Added/updated tests of new features
  • Removed comments in input files
  • [x ] Documented source code
  • Checked for redundant headers/imports
  • Checked for consistency in the formatting of the output file
  • [x ] Ready to go!

@imagoulas imagoulas requested a review from muhan-zhang May 2, 2024 20:44
@muhan-zhang muhan-zhang merged commit d022964 into evangelistalab:master May 3, 2024
1 check passed
@imagoulas imagoulas deleted the circuit_simplify branch May 14, 2024 17:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants