Sitelet https://github.com/microsoft/QuantumLibraries/issues/579
Skip to content
This repository was archived by the owner on Jan 12, 2024. It is now read-only.
This repository was archived by the owner on Jan 12, 2024. It is now read-only.

Move Exp into libraries instead of intrinsics #579

Description

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?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Kind-EnhancementNew feature or requesttrackingThis label will trigger gh-sync to create or update a mirror internal ADO issue.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions