atlas_q.grover.GroverSearch#
- class atlas_q.grover.GroverSearch(oracle, config)[source]#
Bases:
objectGrover’s Search Algorithm Implementation
Performs quantum search on an unstructured database with O(√N) queries.
- Algorithm:
Initialize to |+⟩^⊗n (uniform superposition)
- Repeat k times:
Apply oracle O (mark target states)
Apply diffusion operator D (amplify marked states)
Measure to find marked item with high probability
- Example:
>>> config = GroverConfig(n_qubits=4) >>> oracle = FunctionOracle(4, lambda x: x == 7) >>> grover = GroverSearch(oracle, config) >>> result = grover.run() >>> print(f"Found item: {result['measured_state']}") Found item: 7
Methods
plot_convergence([save_path])Plot success probability vs iteration
run([iterations])Run Grover's algorithm
Methods
__init__(oracle, config)plot_convergence([save_path])Plot success probability vs iteration
run([iterations])Run Grover's algorithm
- run(iterations=None)[source]#
Run Grover’s algorithm
- Args:
iterations: Number of iterations (None = auto-calculate optimal)
- Returns:
- Dictionary with results:
measured_state: Most likely measurement outcome
success_probability: Probability of measuring marked item
iterations_used: Number of iterations performed
runtime_ms: Execution time in milliseconds
bond_dims: Final MPS bond dimensions