mirror of
https://github.com/kristoferssolo/grovers-visualizer.git
synced 2025-10-21 20:10:35 +00:00
docs: add readme
This commit is contained in:
parent
eafab73c6a
commit
18899dc163
87
README.md
87
README.md
@ -0,0 +1,87 @@
|
|||||||
|
# Grover’s Search Visualizer
|
||||||
|
|
||||||
|
A tiny Python package that steps through Grover’s Search algorithm and shows you, after each iteration:
|
||||||
|
|
||||||
|
- A bar‐chart of amplitudes (or probabilities)
|
||||||
|
- A sine‐curve of success‐probability vs. iteration
|
||||||
|
- A geometric "rotation" on the unit circle
|
||||||
|
|
||||||
|
Choose between a Matplotlib-based CLI or an optional DearPyGui GUI (WIP).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### Via [pipx](https://pipx.pypa.io/stable/installation/)
|
||||||
|
|
||||||
|
Basic (CLI only):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pipx install grovers-visualizer
|
||||||
|
grovers-visualizer 1111
|
||||||
|
```
|
||||||
|
|
||||||
|
With the optional DearPyGui UI (WIP):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pipx "grovers-visualizer[ui]"
|
||||||
|
grovers-visualizer --ui
|
||||||
|
```
|
||||||
|
|
||||||
|
### Via [uvx](https://docs.astral.sh/uv/guides/tools/)
|
||||||
|
|
||||||
|
Basic (CLI only):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
uvx grovers-visualizer 1111
|
||||||
|
```
|
||||||
|
|
||||||
|
With the optional UI extra:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
uvx "grovers-visualizer[ui]" --ui
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
### CLI Mode
|
||||||
|
|
||||||
|
Flags:
|
||||||
|
|
||||||
|
• `-t, --target`
|
||||||
|
Target bit‐string (e.g. `010`). Length determines number of qubits.
|
||||||
|
• `-s, --speed`
|
||||||
|
Delay between iterations (seconds). Default `0.5`.
|
||||||
|
• `-i, --iterations`
|
||||||
|
Max iterations; `0` means use the optimal $\lfloor\frac\pi4\sqrt{2^n}\rfloor$.
|
||||||
|
• `--ui`
|
||||||
|
Launch the optional DearPyGui GUI (requires the `[ui]` extra) (WIP).
|
||||||
|
|
||||||
|
### GUI Mode (WIP)
|
||||||
|
|
||||||
|
If you installed with `"[ui]"`, launch the DearPyGui window:
|
||||||
|
|
||||||
|
```
|
||||||
|
grovers-visualizer --ui
|
||||||
|
```
|
||||||
|
|
||||||
|
In the UI you can:
|
||||||
|
|
||||||
|
- Set number of qubits
|
||||||
|
- Enter the target bit‐string
|
||||||
|
- Choose max iterations or leave at 0 for optimal
|
||||||
|
- Control the animation speed
|
||||||
|
|
||||||
|
Hit **Start** to watch the bar chart, sine plot, and rotation‐circle update in real time.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
||||||
Loading…
Reference in New Issue
Block a user