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

Add quantum phase estimation to the libraries #1856

Open
tcNickolas opened this issue Aug 19, 2024 · 3 comments
Open

Add quantum phase estimation to the libraries #1856

tcNickolas opened this issue Aug 19, 2024 · 3 comments
Labels
enhancement New feature or request library related to Q# library code rather than the compiler implementation or language design

Comments

@tcNickolas
Copy link
Contributor

Is your feature request related to a problem? Please describe.
Classic QDK used to have quantum phase estimation as a primitive, but now it looks like our libraries don't offer anything beyond QFT rotations. It is a well-established primitive, and I'd really like to be able to use it "out of the box" instead of reimplementing it every time.

Describe the solution you'd like
Add quantum phase estimation to the library. The QFT-based algorithm is the best, since iterative/adaptive variants can have varying definitions and require mid-circuit measurements, but the QFT-based one is unambiguous.

Describe alternatives you've considered
I can reimplement it by hand for every use, but it is error-prone: I've needed to implement it twice in the past month, and I had to work out what I need to do each time.

@tcNickolas tcNickolas added enhancement New feature or request needs triage labels Aug 19, 2024
@ggridin
Copy link
Contributor

ggridin commented Aug 21, 2024

@tcNickolas
Am I correct that the scope of this work includes:

  1. Copy the CDK Quantum.qs to QDK library folder. Refactor/adjust the code. Bring dependencies if needed.
  2. Re-implement CDK QuantumPhaseEstimationTests.qs in Rust and place tests into QDK library test folder. Add new tests if needed.
  3. Change qsharp.json and other build files to include the changes above.
  4. Optional follow-up work:
    a. Do the same for iterative and robust phase estimations
    b. Update existing katas to reflect library changes

@devikamehra
Copy link
Contributor

@tcNickolas Would love to work on this one. Can you confirm if there is anything more than what is mentioned above, that needs to be done? Also, since this is long standing here, just wanted to check if it is still available for grab?

@tcNickolas
Copy link
Contributor Author

@ggridin @devikamehra Unfortunately, I do not work on Q# libraries at the moment, and this question is really best triaged by the libraries owner. I think @sezna is the right person to answer this.

@sezna sezna added library related to Q# library code rather than the compiler implementation or language design and removed needs triage labels Nov 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request library related to Q# library code rather than the compiler implementation or language design
Projects
None yet
Development

No branches or pull requests

4 participants