diff --git a/qiskit/quantum_info/operators/symplectic/clifford.py b/qiskit/quantum_info/operators/symplectic/clifford.py index 9c7217c4894f..4009b6de412e 100644 --- a/qiskit/quantum_info/operators/symplectic/clifford.py +++ b/qiskit/quantum_info/operators/symplectic/clifford.py @@ -38,7 +38,23 @@ class Clifford(BaseOperator, AdjointMixin, Operation): - """An N-qubit unitary operator from the Clifford group. + r""" + An N-qubit unitary operator from the Clifford group. + + An N-qubit Clifford operator takes Paulis to Paulis via conjugation + (up to a global phase). More precisely, the Clifford group :math:`\mathcal{C}_N` + is defined as + + .. math:: + + \mathcal{C}_N = \{ U \in U(2^N) | U \mathcal{P}_N U^{\dagger} = \mathcal{P}_N \} / U(1) + + where :math:`\mathcal{P}_N` is the Pauli group on :math:`N` qubits + that is generated by single-qubit Pauli operators, + and :math:`U` is a unitary operator in the unitary group + :math:`U(2^N)` representing operations on :math:`N` qubits. + :math:`\mathcal{C}_N` is the quotient group by the subgroup of + scalar unitary matrices :math:`U(1)`. **Representation** @@ -92,7 +108,7 @@ class Clifford(BaseOperator, AdjointMixin, Operation): :class:`~qiskit.circuit.library.SGate`, :class:`~qiskit.circuit.library.SdgGate`, :class:`~qiskit.circuit.library.SXGate`, :class:`~qiskit.circuit.library.SXdgGate`, :class:`~qiskit.circuit.library.CXGate`, :class:`~qiskit.circuit.library.CZGate`, - :class:`~qiskit.circuit.library.CYGate`, :class:`~qiskit.circuit.library.DXGate`, + :class:`~qiskit.circuit.library.CYGate`, :class:`~qiskit.circuit.library.DCXGate`, :class:`~qiskit.circuit.library.SwapGate`, :class:`~qiskit.circuit.library.iSwapGate`, :class:`~qiskit.circuit.library.ECRGate`, :class:`~qiskit.circuit.library.LinearFunction`, :class:`~qiskit.circuit.library.PermutationGate`.