mutli_grovers 0.1.1

High-performance classical simulator of Grover's algorithm with support for multiple marked states.
Documentation
# 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.

---

[![Crates.io](https://img.shields.io/crates/v/mutli_grovers)](https://crates.io/crates/mutli_grovers)
[![Docs.rs](https://docs.rs/mutli_grovers/badge.svg)](https://docs.rs/mutli_grovers)
[![License](https://img.shields.io/crates/l/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