You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jan 12, 2024. It is now read-only.
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.
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?
Move
Expinto libraries instead of intrinsicsConceptual overview
Right now,
Explives in theMicrosoft.Quantum.Intrinsicnamespace 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 inMicrosoft.Quantum.Intrinsicin favor of a reasonable decomposition that lives in the libraries.Child issues
Expin qsharp-runtime: DeprecateExpin favor of libraries implementation qsharp-runtime#999Microsoft.Quantum.Intrinsicas fully supported APIs qsharp-runtime#1000Proposal
New and modified functions, operations, and UDTs
Expwould be written in terms of decomposition of intrinsics and hosted in the libraries in an appropriate namespace.Expin 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
Expuse 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?