Clifford

class Clifford(num_qubits=None, table=None, phases=None)[source]

Clifford Operator Class.

Attributes

Clifford.num_qubits

Return the number of qubits for the Clifford.

Clifford.phases

Return the Clifford phases.

Clifford.table

Return the Clifford table.

Methods

Clifford.__getitem__(index)

Get element from internal symplectic table.

Clifford.as_dict()

Return dictionary (JSON) represenation of Clifford object

Clifford.cx(qubit_ctrl, qubit_trgt)

Apply a Controlled-NOT “cx” gate.

Clifford.cz(qubit_ctrl, qubit_trgt)

Apply a Controlled-z “cz” gate.

Clifford.destabilizer(row)

Return the destabilizer as a Pauli object.

Clifford.from_dict(clifford_dict)

Load a Clifford from a dictionary.

Clifford.h(qubit)

Apply an Hadamard “h” gate to qubit.

Clifford.index()

Returns a unique index for the Clifford.

Clifford.s(qubit)

Apply a phase “s” gate to qubit.

Clifford.sdg(qubit)

Apply an adjoint phase “sdg” gate to qubit.

Clifford.stabilizer(qubit)

Return the qubit stabilizer as a Pauli object.

Clifford.swap(qubit0, qubit1)

Apply SWAP gate between two qubits.

Clifford.update_destabilizer(qubit, pauli)

Update the qubit destabilizer row from a Pauli object.

Clifford.update_stabilizer(qubit, pauli)

Update the qubit stabilizer row from a Pauli object.

Clifford.v(qubit)

Apply v gate v = sdg.h .

Clifford.w(qubit)

Apply w gate w = v.v .

Clifford.x(qubit)

Apply a Pauli “x” gate to a qubit.

Clifford.y(qubit)

Apply an Pauli “y” gate to a qubit.

Clifford.z(qubit)

Apply an Pauli “z” gate to qubit.