Skip to main contentIBM Quantum Documentation Mirror

Permutation

class qiskit.circuit.library.Permutation(num_qubits, pattern=None, seed=None)

GitHub

Bases: QuantumCircuit

An n_qubit circuit that permutes qubits.

Return an n_qubit permutation circuit implemented using SWAPs.

Deprecated since version 2.1

The class qiskit.circuit.library.generalized_gates.permutation.Permutation is deprecated as of Qiskit 2.1. It will be removed in Qiskit 3.0. Use PermutationGate instead.

Parameters

  • num_qubits (int) – circuit width.
  • pattern (list[int] | np.ndarray | None) – 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 the position 1, etc. The pattern can also be None, in which case a random permutation over num_qubits is created.
  • seed (int | None) – random seed in case a random permutation is requested.

Raises

CircuitError – if permutation pattern is malformed.

Reference Circuit:

Diagram illustrating the previously described circuit.

Expanded Circuit:

Diagram illustrating the previously described circuit.

Attributes

name

Type: str

A human-readable name for the circuit.

Example

from qiskit import QuantumCircuit
 
qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit