Cirq
Cirq copied to clipboard
[Routing] Add support for directed device graphs.
Summarize the task Currently, if a user wants to route their circuit on a device that has asymmetric coupling (i.e. you can execute a CNOT(q1, q2) but not CNOT(q2, q1)) then the transformer raises an error.
Acceptance criteria - when is the task considered done? As an improvement, we can support directed device graphs using the swap decomposition: SWAP(0,1) <=> CNOT(0,1), H(0), H(1), CNOT(0,1), H(0), H(1), CNOT(0,1)
Related issues: #5838
I'm interested in taking this one on.
Thank you for taking this on!