CliffordUtils

class CliffordUtils[source]

Utilities for generating one- and two-qubit Clifford circuits and elements.

Attributes

CLIFFORD_1_QUBIT_SIG = (2, 3, 4)
CLIFFORD_2_QUBIT_SIGS = [(2, 2, 3, 3, 4, 4), (2, 2, 3, 3, 3, 3, 4, 4), (2, 2, 3, 3, 3, 3, 4, 4), (2, 2, 3, 3, 4, 4)]
NUM_CLIFFORD_1_QUBIT = 24
NUM_CLIFFORD_2_QUBIT = 11520

Methods

classmethod clifford_1_qubit(num)[source]

Return the 1-qubit clifford element corresponding to num where num is between 0 and 23.

classmethod clifford_1_qubit_circuit(num, basis_gates=None, synthesis_method='rb_default')[source]

Return the 1-qubit clifford circuit corresponding to num, where num is between 0 and 23.

classmethod clifford_2_qubit(num)[source]

Return the 2-qubit clifford element corresponding to num, where num is between 0 and 11519.

classmethod clifford_2_qubit_circuit(num, basis_gates=None, coupling_tuple=None, synthesis_method='rb_default')[source]

Return the 2-qubit clifford circuit corresponding to num where num is between 0 and 11519.