qiskit.synthesis.synth_permutation_acg
synth_permutation_acg(pattern)
Synthesize a permutation circuit for a fully-connected architecture using the Alon, Chung, Graham method.
This produces a quantum circuit of depth 2 (measured in the number of SWAPs).
This implementation is based on the Theorem 2 in the paper “Routing Permutations on Graphs Via Matchings” (1993), available at https://www.cs.tau.ac.il/~nogaa/PDFS/r.pdf.
Parameters
pattern (Union[list[int], np.ndarray]) – permutation pattern, describing which qubits occupy the positions 0, 1, 2, etc. after applying the permutation. That is, pattern[k] = m
when the permutation maps qubit m
to position k
. As an example, the pattern [2, 4, 3, 0, 1]
means that qubit 2
goes to position 0
, qubit 4
goes to position 1
, etc.
Returns
the synthesized quantum circuit.
Return type