Skip to content
This repository has been archived by the owner on Jan 12, 2024. It is now read-only.

Move Exp into libraries instead of intrinsics #579

Open
swernli opened this issue Apr 26, 2022 · 0 comments
Open

Move Exp into libraries instead of intrinsics #579

swernli opened this issue Apr 26, 2022 · 0 comments
Labels
Kind-Enhancement New feature or request tracking This label will trigger gh-sync to create or update a mirror internal ADO issue.

Comments

@swernli
Copy link
Contributor

swernli commented Apr 26, 2022

Move Exp into libraries instead of intrinsics

Conceptual overview

Right now, Exp lives in the Microsoft.Quantum.Intrinsic namespace in part because of built-in decompositions for it in the native simulators. However, it is an advanced operation that does not map well to hardware intrinsics and requires advanced decomposition. Keeping it in the Intrinsic namespace is a little misleading, especially considering full support for it on hardware targets is challenging. We should deprecate the version in Microsoft.Quantum.Intrinsic in favor of a reasonable decomposition that lives in the libraries.

Child issues

Proposal

New and modified functions, operations, and UDTs

Exp would be written in terms of decomposition of intrinsics and hosted in the libraries in an appropriate namespace. Exp in the Intrinsic namespace would be deprecated. The new decomposition could make use of explicit two-qubit rotation gates that would be introduced in the Intrinsic namespace (see child issues).

Open design questions and considerations

  • Should there still be a way for the native simulator to override the decomposition in favor of it's built-in support or should it always use the common decomposition?
  • Should the Exp use two qubit rotation or decompose all the way into single qubit rotation gates? If two-qubit rotation is added to Intrinsics (possible itself decomposed), does it matter?
  • Should it be added to an exiting namespace or be the first member of some new namespace?
@swernli swernli added Kind-Enhancement New feature or request Status-NeedsApiReview This PR requires an API review before merging in. labels Apr 26, 2022
@swernli swernli added the tracking This label will trigger gh-sync to create or update a mirror internal ADO issue. label Apr 26, 2022
@msoeken msoeken added this to Ready to be reviewed in API Review Scheduling May 5, 2022
@msoeken msoeken moved this from Ready to be reviewed to Reviewed: approved in API Review Scheduling Jun 3, 2022
@msoeken msoeken removed the Status-NeedsApiReview This PR requires an API review before merging in. label Jun 8, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Kind-Enhancement New feature or request tracking This label will trigger gh-sync to create or update a mirror internal ADO issue.
Projects
API Review Scheduling
Reviewed: approved
Development

No branches or pull requests

2 participants