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

Solovay-Kitaev Decomposition Algorithm #4801

Merged
merged 31 commits into from
Nov 24, 2023

Conversation

obliviateandsurrender
Copy link
Contributor

Context: Implements the Solovay-Kitaev decomposition algorithm using the description mentioned in arXiv:0505030

Description of the Change: This adds a Solovay-Kitaev decomposition for the Clifford+T workflow in the solovay_kitaev.py file.

  1. sk_decomposition technique is the parent method, which takes in any single-qubit operator and uses its SU(2) representation for finding its decomposition in the specified basis up to a global phase via recursive implementation contained in _solovay_kitaev function.
  2. _approximate_set method allows us to build an approximate set of Clifford sequences that are used in the base case return for the above _solovay_kitaev recursive call.
  3. _group_commutator_decompose allows us to perform the group commutation decomposition and uses the recipe mentioned in Sec 4.1 arXiv:0505030.

Benefits: Should allow one to do the Clifford+T decomposition.

Possible Drawbacks: Better algorithms exist in the literature, specifically for decomposing rotation gates.

Related GitHub Issues:

Copy link

codecov bot commented Nov 7, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (d13cf3d) 99.65% compared to head (ba18503) 99.64%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4801      +/-   ##
==========================================
- Coverage   99.65%   99.64%   -0.02%     
==========================================
  Files         383      385       +2     
  Lines       34600    34460     -140     
==========================================
- Hits        34480    34337     -143     
- Misses        120      123       +3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Contributor

@timmysilv timmysilv left a comment

Choose a reason for hiding this comment

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

🎉

Copy link
Contributor

@trbromley trbromley left a comment

Choose a reason for hiding this comment

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

Thanks @obliviateandsurrender @timmysilv! My only remaining comments are related to the docs.

Copy link
Contributor

@timmysilv timmysilv left a comment

Choose a reason for hiding this comment

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

:')

@obliviateandsurrender obliviateandsurrender merged commit 370d9d4 into master Nov 24, 2023
35 checks passed
@obliviateandsurrender obliviateandsurrender deleted the solovay_kitaev_decompose branch November 24, 2023 17:02
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.

4 participants