Computing Library › Quantum Logic Gates
Quantum Logic Gates

The Pauli Group

The group generated by the Pauli matrices with phases, the algebraic backbone of stabilizer codes and error correction.

Definition

The single-qubit Pauli group P1 consists of the identity I and the three Pauli matrices X, Y, Z, each multiplied by one of the phases ±1, ±i — sixteen elements in all. The n-qubit Pauli group P_n is all tensor products of these with an overall phase. Elements either commute or anticommute, never anything in between.

Multiplication and phases

Kronos motion — error correction

The core relations are X² = Y² = Z² = I and XY = iZ, YZ = iX, ZX = iY, with the anticommuting reverse products carrying -i. The phases ±i are essential to make the set closed under multiplication — this is why they are included in the group.

Pauli Y (as reference)
0-ii0

Commutation of tensor products

Two n-qubit Pauli strings commute if and only if they disagree (one is X-type, the other Z-type on that slot, roughly) on an even number of qubits; otherwise they anticommute. This binary rule is the entire arithmetic behind stabilizer-code parity checks.

Role in error correction

Stabilizer codes define a codespace as the simultaneous +1 eigenspace of a commuting subgroup of Pauli operators. Detectable errors are themselves Pauli operators, and whether an error is detected reduces to whether it commutes with each stabilizer generator. The Pauli group is thus the language of the entire stabilizer formalism.

python
import numpy as np
I=np.eye(2); X=np.array([[0,1],[1,0]])
Y=np.array([[0,-1j],[1j,0]]); Z=np.array([[1,0],[0,-1]])
# check anticommutation: XZ = -ZX
print(np.allclose(X@Z, -Z@X))

Connection to the Clifford group

The Clifford group is defined as the normalizer of the Pauli group: Clifford gates map Pauli strings to Pauli strings under conjugation. That property makes Clifford circuits classically simulable and is why adding a single non-Clifford gate (like T) is needed for universality. See Clifford+T synthesis.