Skip to content
View AriQuantum's full-sized avatar

Block or report AriQuantum

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ariquantum/README.md

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.

PyPI version PyPI Downloads License: MIT Python 3.9+


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:

πŸ‡·πŸ‡Ί Русская вСрсия: README_RU.md

Popular repositories Loading

  1. ariquantum ariquantum Public

    A simple quantum computing simulation library with an intuitive interface.

    Python