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)
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