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

(AE/MC) Controlled Circuits in Braket #10

Open
probvar opened this issue Oct 28, 2021 · 0 comments
Open

(AE/MC) Controlled Circuits in Braket #10

probvar opened this issue Oct 28, 2021 · 0 comments

Comments

@probvar
Copy link
Collaborator

probvar commented Oct 28, 2021

To implement AE/MC, we need to implement a controlled-A operation, where A is a potentially complicated quantum circuit. Currently, I am unaware of a circ.controlled() operation like there is in qiskit and cirq. If it exists, it is quite hidden and wasn't used by the braket grover's or qpe braket example notebooks.

There are two potential paths I've thought of to implement this:

  1. Following the method outlined in the braket qpe notebook, which creates the general controlled operation by transforming the sequence of gates to be controlled into a unitary matrix. Tom suggested that may not work on hardware, and likely believes that this would not work.
  2. Duplicating in braket the qiskit or cirq functions used to for creating general controlled gates/circuits. This function is primarily defined in qiskit here

After discussing this with Tom, we are putting this issue on the back burner, and will hope to be able to address it either with Braket's continued development or with more time to be able to implement these complicated methods. We found out from Sashwat, who is interning with QSecure, that Braket will be potentially adding this feature "soon," so we might be able to address this once Braket adds this feature. (We talked with Sashwat around July 21st, 2021)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant