A simple quantum computing simulation library with an intuitive interface.
Perfect for students and beginners in quantum computing β no complex dependencies or noise models, just core operations and visualization.
Requires Python 3.9+ and numpy:
pip install ariquantumfrom ariquantum.qubit import Qubit
# Create qubits in different initial states
q0 = Qubit('0')
q_plus = Qubit('+')
# Display states in Dirac bra-ket notation
print(q0.as_bracket_string()) # |0β©
print(q_plus.as_bracket_string()) # 0.70711|0β© + 0.70711|1β©from ariquantum.quantum_register import QuantumRegister
qr = QuantumRegister(2) # 2-qubit register
# Apply gates: H on qubit 0, CX between 0 and 1
qr.h(0)
qr.cx(0, 1)
# Display state and circuit diagram
print(qr.as_bracket_string())
# 0.7071|00β© + 0.7071|11β©
qr.draw_circuit()
# βββββ
# q0 : ββ H ββββββββ :
# βββββ β
# βββ΄ββ
# q1 : ββββββββ X ββ :
# βββββqr.measure(qubits=[0, 1]) # Deferred measurement
print(qr.get_counts(shots=100))
# Example output: {'11': 53, '00': 47}- Flexible control: Manage individual qubits or full quantum registers.
- Circuit visualization: Auto-generated ASCII diagrams of quantum circuits.
- Bra-ket notation: Human-readable state representation (e.g.,
0.7|00β© + 0.7|11β©). - Measurements: Support for deferred execution with customizable shot counts.
ariquantum/
βββ __init__.py
βββ build_operator.py # Building operators for multi-qubit systems
βββ exceptions.py # Quantum-specific error handling
βββ helpers.py # Utility functions
βββ quantum_register.py # Core: QuantumRegister class for state management
βββ qubit.py # Single-qubit operations and state handling
βββ visualization.py # State/circuit visualization tools
Distributed under the MIT License.
For questions or feedback:
- GitHub Issues
- Email: arimshcherbakov@gmail.com
- Telegram: @ArimShcherbakov
π·πΊ Π ΡΡΡΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ: README_RU.md