A quantum implementation of Grover's search using a structured, reversible hash-based oracle, demonstrating amplitude amplification beyond trivial state-marking examples.
This project explores the integration of a reversible hash function into Grover’s algorithm. Instead of directly marking a known target state, the oracle computes a hash-like condition and uses ancilla-based phase kickback to mark valid preimages.
The implementation is fully reversible and designed for clarity, correctness, and extensibility.
src/- Core implementationsv1_6_qubits/- Grover search over 64 statesv2_8_qubits/- Extension to 256 states
experiments/- Isolated tests (adder, diffuser, oracle components)docs/- Technical write-up and explanations
- Python 3.10+ (tested with Python 3.12.7)
- See
requirements.txtfor dependencies
Run the 6-qubit Grover example:
python src/v1_6_qubits/grover.py