atlas_q.stabilizer_backend.StabilizerSimulator#
- class atlas_q.stabilizer_backend.StabilizerSimulator(n_qubits)[source]#
Bases:
objectEfficient simulator for Clifford circuits using stabilizer formalism
Complexity: - Space: O(n²) vs O(2ⁿ) for state-vector - Time per gate: O(n²) vs O(2ⁿ)
- Usage:
sim = StabilizerSimulator(n_qubits=100) sim.h(0) sim.cnot(0, 1) outcome = sim.measure(0)
Methods
cnot(control, target)CNOT gate
copy()Fast copy using numpy array copy (much faster than deepcopy)
cz(qubit1, qubit2)CZ gate (symmetric)
h(qubit)Hadamard gate: X ↔ Z
measure(qubit[, rng])Measure qubit in computational basis
s(qubit)Phase gate: X → Y, Z → Z
s_dag(qubit)Inverse phase gate: X → -Y, Z → Z
swap(qubit1, qubit2)SWAP gate
to_mps([device])Convert stabilizer state to MPS representation
Convert stabilizer state to full statevector (SLOW! Only for small n)
x(qubit)Pauli-X gate
y(qubit)Pauli-Y gate
z(qubit)Pauli-Z gate
Methods
__init__(n_qubits)cnot(control, target)CNOT gate
copy()Fast copy using numpy array copy (much faster than deepcopy)
cz(qubit1, qubit2)CZ gate (symmetric)
h(qubit)Hadamard gate: X ↔ Z
measure(qubit[, rng])Measure qubit in computational basis
s(qubit)Phase gate: X → Y, Z → Z
s_dag(qubit)Inverse phase gate: X → -Y, Z → Z
swap(qubit1, qubit2)SWAP gate
to_mps([device])Convert stabilizer state to MPS representation
Convert stabilizer state to full statevector (SLOW! Only for small n)
x(qubit)Pauli-X gate
y(qubit)Pauli-Y gate
z(qubit)Pauli-Z gate
- measure(qubit, rng=None)[source]#
Measure qubit in computational basis
- Returns:
0 or 1 (measurement outcome)