# Multi-Grovers Simulator
A fast and faithful simulation of Grover's quantum search algorithm, supporting multiple target indices and large qubit registers — implemented in pure Rust.
---
[](https://crates.io/crates/mutli_grovers)
[](https://docs.rs/mutli_grovers)
[](https://opensource.org/licenses/MIT)
---
## Features
- Simulation of Grover's Algorithm
- Multi-target oracle support
- Tracks amplitude growth per iteration
- Measurement histogram after repeated trials
- Benchmarks runtime and memory usage
- Exports results to `.csv`
---
## Usage
### Build & Run
```bash
cargo run --release
```
### Configuration (via CLI)
```bash
cargo run --release -- \
--qubits 10000 \
--targets 777 888 999 \
--iterations 50 \
--trials 100
```
---
## Output
- `grover_summary.csv`: amplitude data, performance stats, and measurement frequencies.
---
## Example Output
```
Grover finished in 0.006s with final amp 0.4016
Saved: grover_summary.csv
```
---
## Project Structure
```text
src/
├── main.rs # CLI + entry point
├── runner.rs # Core simulation logic
└── utils.rs # CSV export and helper utilities
```
---
## Requirements
- Rust 1.70+
- `rand` crate for measurement simulation
- `clap` crate for CLI parsing (to be added)
---
## TODO
- [x] Core Grover simulation
- [x] Multi-target support
- [x] Add CLI via `clap`
- [ ] Visual output (plotting)
- [ ] Optional: Export binary state
---
## Related
If you like this project, check out:
- [`trotter_qsim`](https://crates.io/crates/trotter_qsim) — for Trotterized quantum simulations
---
## ⚖License
MIT