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

Completing the non-Clifford capabilities [$800] #309

Open
Krastanov opened this issue Jul 9, 2024 · 3 comments
Open

Completing the non-Clifford capabilities [$800] #309

Krastanov opened this issue Jul 9, 2024 · 3 comments
Assignees
Labels
bounty:reserved bounty:800 bug bounty There is an award for solving this issue.

Comments

@Krastanov
Copy link
Member

Krastanov commented Jul 9, 2024

Bug bounty logistic details (click to expand)

To claim exclusive time to work on this bounty either post a comment here or message skrastanov@umass.edu with:

  • your name
  • github username
  • (optional) a brief list of previous pertinent projects you have engaged in

If you want to, you can work on this project without making a claim, however claims are encouraged to give you and other contributors peace of mind. Whoever has made a claim takes precedence when solutions are considered.

You can always propose your own funded project, if you would like to contribute something of value that is not yet covered by an official bounty.

The project is claimed by @Fe-r-oz until Sep 10th 2024.

Project: Completing the non-Clifford capabilities [$800]

This library already has some nascent capabilities to represent non-Clifford states as a weighted sum of tableaux states. Such a representation is useful in settings where there is a small number of non-Clifford gates in a mostly Clifford circuit. The cost is still exponential in the number of non-Clifford gates, but manageable. We have simple state representation and gate application already done, expect is nearly implemented in this PR, and project! still needs to be implemented. To obtain this bounty, the aforementioned features need to be completed, well tested, and well documented.

Required skills: Understanding of the Stabilizer formalism and decompositions of arbitrary states in terms of Pauli channels

Reviewer: Stefan Krastanov

Duration: 2 months

Publication: In the next 2 years we plan to release a paper in a selective journal about this software. Contributing to this issue would deserve a co-authorship status on such a paper (if the contributor so desires)

Payout procedure:

The Funding for these bounties comes from the National Science Foundation and from the NSF Center for Quantum Networks. The payouts are managed by the NumFOCUS foundation and processed in bulk once every two months. If you live in a country in which NumFOCUS can make payments, you can participate in this bounty program.

Click here for more details about the bug bounty program.

@Krastanov Krastanov added bug bounty There is an award for solving this issue. bounty:800 labels Jul 9, 2024
@Fe-r-oz
Copy link
Contributor

Fe-r-oz commented Jul 10, 2024

I checked out Ted's paper some time ago, which seems very exciting. Your initial work on non-Clifford is also quite cool about generalized stabilizer.

Therefore, I will be delighted to work on this as that will teach me more about non-Clifford functionalities.

Also, there is a question I wanted to ask you: is non-Clifford the same as non-stabilizer/non-stabilizerness? In some papers, they use the term non-stabilizerness (when they refer to magic, they call it a non-stabilizerness)

@Krastanov
Copy link
Member Author

Sounds good! Happy to reserve this bounty for you for the next two months.

Yes, the terms you mentioned are frequently used interchangeably.

Fe-r-oz added a commit to Fe-r-oz/QuantumClifford.jl that referenced this issue Aug 22, 2024
Fe-r-oz added a commit to Fe-r-oz/QuantumClifford.jl that referenced this issue Aug 22, 2024
@Fe-r-oz
Copy link
Contributor

Fe-r-oz commented Sep 4, 2024

Overall progress on Non-Clifford functionalities are divided into the following parts: 1) implementing the basic TODOs, 2) fixing bug in expect, 3) implement project 4) providing user rich experience by having implemented most APIs from #260
to push them asap after this issue 5) Overall documentation 6) scaffolding for future non-cliff functionality/APIs.

  1. noncliff: improvements to apply! and dictvaltype #346
  2. noncliff: fixes expect #348
  3. Only project! is left. I am working on it locally, while waiting for the above PRs to be reviewed.
  4. Documentation: Improved the documentation in 1). Future work will be to have a dedicated section in (stabilizer manual) stab_.md just like we have a detailed section for MixedDestablzier.
  5. Opened an issue about md ⊗ S"X" in StackOverflowError in tensor products involving some AbstractStabilizer types #339.
  6. To fully utilize non-clifford functionality, there are important API that are necessary to work with sm which are in PR improvements to GeneralizedStabilizer API #260. Atm, I have also completed 5 of them. So, they can the easily added to provide rich non-clifford functionality as soon as possible. Thus, PR implement sm⊗sm, tHadamard*sm, pcT⊗P"X" , pcT*tId1 , P"-Y"*sm and copy(sm) from #260  #345 implements sm⊗sm, tHadamard*sm, pcT⊗P"X" , pcT*tId1 , P"-Y"*sm and copy(sm). Outputs of these tasks: implement sm⊗sm, tHadamard*sm, pcT⊗P"X" , pcT*tId1 , P"-Y"*sm and copy(sm) from #260 #316 (comment)
  7. To realize embed for sm, Adding embed for AbstractStabilizer and Tableau #342 that provided embedding for Tableau and Stabilizer
  8. Experimental Work on conj_destabs: Experimental Work: Conjugate destabs #347
  9. Also, we need for base.zero operators for MixedDeStabilizer , Destabilizer, MixedStabilizer, they will be helpful for later use. Even size(md)[1], or size(md)[2] gives error atm. I have fixed them, but didn't push the PR yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bounty:reserved bounty:800 bug bounty There is an award for solving this issue.
Projects
None yet
2 participants