Simple quantum computing simulation library
Project description
AriQuantum ๐
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.
๐ Installation
Requires Python 3.9+ and numpy:
pip install ariquantum
๐งช Quick Start
1. Working with individual qubits
from 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โฉ
2. Quantum circuits and visualization
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 โโ :
# โโโโโ
3. Measurements
qr.measure(qubits=[0, 1]) # Deferred measurement
print(qr.get_counts(shots=100))
# Example output: {'11': 53, '00': 47}
โจ Key Features
- 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.
๐ Project Structure
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
โ๏ธ License
Distributed under the MIT License.
โ Support
For questions or feedback:
- ๐ GitHub Issues
- โ๏ธ Email: arimshcherbakov@gmail.com
- ๐ฌ Telegram: @ArimShcherbakov
๐ท๐บ ะ ัััะบะฐั ะฒะตััะธั: README_RU.md
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ariquantum-0.1.1.tar.gz.
File metadata
- Download URL: ariquantum-0.1.1.tar.gz
- Upload date:
- Size: 21.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a572ef8f60754bda84c59e8f4d2f80ec35a75cfb8b6cfcb39f517eaaea023a2c
|
|
| MD5 |
cd3d209b7339db6748787097875cad48
|
|
| BLAKE2b-256 |
e29bd7c86d71fb35bf80317bcb3ea473b7eeb3c95d58b4f590454cd6f7eb13ad
|
File details
Details for the file ariquantum-0.1.1-py3-none-any.whl.
File metadata
- Download URL: ariquantum-0.1.1-py3-none-any.whl
- Upload date:
- Size: 23.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e8eab39cae41921c6f15b8c1ee0fe02146d584602d09ae404d0e2989ca062b5
|
|
| MD5 |
084a4662cc2e791a7b5cbc5a4431bbf0
|
|
| BLAKE2b-256 |
228fd348c8d2926522e50c440d9a15f73b7e8cf7459b23a14be43d4b3fa4d070
|