High-performance Pauli operators, Clifford unitaries, and stabilizer simulation for quantum computing.
pip install paulimerimport paulimer
# Pauli operators
p = paulimer.DensePauli("XYZ")
q = paulimer.SparsePauli("X0 Z100")
print(q * q) # Identity
# Clifford gates
h = paulimer.CliffordUnitary.from_name("Hadamard", [0], qubit_count=1)
print(h.image_of(paulimer.DensePauli("X"))) # Z
# Stabilizer simulation
sim = paulimer.OutcomeCompleteSimulation(2)
sim.apply_unitary(paulimer.UnitaryOpcode.Hadamard, [0])
sim.apply_unitary(paulimer.UnitaryOpcode.ControlledX, [0, 1])
sim.measure(paulimer.SparsePauli("Z0"))- DensePauli / SparsePauli - Pauli operators with phase tracking and multiplication
- CliffordUnitary - Clifford gates with conjugation and composition
- PauliGroup - Group operations including membership testing and factorization
- Stabilizer Simulation - Noiseless (OutcomeComplete, OutcomeFree, OutcomeSpecific) and noisy (Faulty) modes
Designed for quantum error correction research, including stabilizer circuit analysis and Clifford circuit verification.
Built on binar for SIMD-accelerated binary linear algebra.
See paulimer.pyi for complete type hints and documentation.
MIT License - See LICENSE file for details.
Contributions welcome! See github.com/microsoft/qdk-ec for guidelines.