https://github.com/hiibolt/qsharp_rs
Zero-Dependency Quantum Simulator written in Rust with custom Complex, Matrix, and System libraries based on the principles of Q#
https://github.com/hiibolt/qsharp_rs
qsharp quantum-algorithms quantum-computing quantum-information quantum-physics
Last synced: 1 day ago
JSON representation
Zero-Dependency Quantum Simulator written in Rust with custom Complex, Matrix, and System libraries based on the principles of Q#
- Host: GitHub
- URL: https://github.com/hiibolt/qsharp_rs
- Owner: hiibolt
- Created: 2024-10-20T01:15:36.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-01-12T02:35:14.000Z (3 months ago)
- Last Synced: 2026-03-01T19:47:29.977Z (about 1 month ago)
- Topics: qsharp, quantum-algorithms, quantum-computing, quantum-information, quantum-physics
- Language: Rust
- Homepage:
- Size: 22.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Q#-rs: A Quantum Circuit Simulator in Rust
A comprehensive quantum computing simulator written in Rust, implementing the fundamental concepts from Microsoft's Q# documentation and Quantum Katas. This project serves as both a learning tool for quantum computing concepts and a functional quantum circuit simulator with support for multi-qubit systems, entanglement, and various quantum gates.
## Project Overview
This simulator was built as a hands-on approach to understanding quantum computing fundamentals while learning Rust. It implements a complete quantum computing stack from the ground up, including:
- **Complex number arithmetic** with full mathematical operations
- **Matrix operations** optimized for quantum computations
- **Quantum state representation** using state vectors
- **Complete quantum gate library** (Pauli, Hadamard, rotation, phase gates)
- **Multi-qubit systems** with entanglement support
- **Quantum measurement simulation** with probability visualization
## Features
### Core Quantum Operations
- **Single-qubit gates**: X, Y, Z (Pauli gates), H (Hadamard), S, T, rotation gates (Rx, Ry, Rz, R1)
- **Multi-qubit gates**: CNOT, SWAP, and extensible controlled gate framework
- **Quantum state preparation**: Support for basis states (|0⟩, |1⟩), superposition states (|+⟩, |-⟩), and arbitrary states
- **Measurement simulation**: Visual probability bars and phase information
### Mathematical Foundation
- **Complex number operations**: Addition, multiplication, division, conjugation, polar conversion
- **Matrix operations**: Multiplication, inversion, transposition, tensor products, eigenvalue/eigenvector computation
- **Quantum-specific operations**: Inner/outer products, normalization, unitary verification
### System Architecture
- **Modular design**: Separate modules for complex numbers, matrices, qubits, and quantum systems
- **Entanglement handling**: Automatic detection and management of entangled qubit states
- **Memory efficient**: Smart state representation that tracks individual qubits vs. entangled systems
## Implementation Highlights
### Complex Number System
- Full complex arithmetic with optimized operations
- Polar/Cartesian coordinate conversion
- Support for arbitrary complex exponentiation
### Matrix Operations
- Efficient matrix multiplication for quantum gate operations
- Tensor product implementation for multi-qubit operations
- Eigenvalue/eigenvector computation for quantum state analysis
- Inverse tensor product for quantum state decomposition
### Quantum State Management
- Automatic entanglement detection and state consolidation
- Visual measurement output with probability bars and phase information
- Support for arbitrary quantum state preparation
### Gate Implementation
All major quantum gates are implemented with proper mathematical foundations:
- **Pauli Gates**: X (NOT), Y, Z (phase flip)
- **Hadamard Gate**: Creates superposition states
- **Phase Gates**: S (π/2 phase), T (π/4 phase), arbitrary phase rotation
- **Rotation Gates**: Arbitrary rotations around X, Y, Z axes
- **Multi-qubit Gates**: CNOT, SWAP with extensible framework
## Educational Value
This project implements solutions to exercises from:
- **Microsoft Quantum Katas**: Basic quantum operations and multi-qubit systems
- **Quantum State Preparation**: Various superposition and entangled states
- **Gate Composition**: Building complex operations from fundamental gates
- **Quantum Algorithms**: Foundational quantum computing algorithms
Each implementation includes detailed examples showing:
- How quantum gates affect qubit states
- Probability calculations for measurement outcomes
- Phase relationships in quantum superposition
- Entanglement creation and manipulation
## Technical Details
### Performance Considerations
- Efficient complex number operations using f32 precision
- Optimized matrix multiplication for common quantum gate sizes
- Memory-efficient representation of quantum states
- Lazy evaluation for entanglement operations
### Mathematical Accuracy
- Proper normalization of quantum states
- Accurate complex number arithmetic including phase calculations
- Correct implementation of quantum gate matrices
- Verified against known quantum computing results
## Primary Resources
- [Microsoft Quantum Katas](https://github.com/microsoft/QuantumKatas/tree/c15d99e4e505a67ef58c2c60ae50d11b0d09a443) - Home Repository
- [Complex Arithmetic Tutorial](https://github.com/microsoft/QuantumKatas/tree/c15d99e4e505a67ef58c2c60ae50d11b0d09a443/tutorials/ComplexArithmetic)
- [Linear Algebra Tutorial](https://github.com/microsoft/QuantumKatas/tree/c15d99e4e505a67ef58c2c60ae50d11b0d09a443/tutorials/LinearAlgebra)
### Additional Resources
- [Awesome Q#](https://github.com/ebraminio/awesome-qsharp) - Curated list of Q# resources
- [The Hitchhiker's Guide to Quantum Computing and Q#](https://learn.microsoft.com/en-us/archive/blogs/uk_faculty_connection/the-hitchhikers-guide-to-the-quantum-computing-and-q-blog)
- [Quirk - Quantum Circuit Simulator](https://algassert.com/quirk) - Interactive quantum circuit visualization