qiskit.synthesis.synth_permutation_depth_lnn_kms¶
- synth_permutation_depth_lnn_kms(pattern)[source]¶
Synthesize a permutation circuit for a linear nearest-neighbor architecture using the Kutin, Moulton, Smithline method.
This is the permutation synthesis algorithm from https://arxiv.org/abs/quant-ph/0701194, Chapter 6. It synthesizes any permutation of n qubits over linear nearest-neighbor architecture using SWAP gates with depth at most n and size at most n(n-1)/2 (where both depth and size are measured with respect to SWAPs).
- 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 qubitm
to positionk
. As an example, the pattern[2, 4, 3, 0, 1]
means that qubit2
goes to position0
, qubit4
goes to position1
, etc.- Returns
the synthesized quantum circuit.
- Return type