PySparQ.pysparq.algorithms.grover

Grover’s Quantum Search Algorithm Implementation

Classes

DiffusionOperator

HPH (Hadamard-Phase-Hadamard) diffusion operator.

GroverOperator

Combined Grover operator: Oracle followed by Diffusion.

GroverOracle

Oracle for Grover's search that marks target values.

Functions

create_grover_demo(→ str)

Generate a demo script for Grover's algorithm.

grover_count(→ tuple[int, float])

Quantum counting variant of Grover's algorithm.

grover_search(→ tuple[int, float])

Execute Grover's search to find target in memory.

Module Contents

class PySparQ.pysparq.algorithms.grover.DiffusionOperator(addr_reg: str | int)[source]

HPH (Hadamard-Phase-Hadamard) diffusion operator.

clear_conditions() → None[source]
conditioned_by_all_ones(conds: str | int | list[str | int]) → DiffusionOperator[source]
conditioned_by_bit(reg: str | int, pos: int) → DiffusionOperator[source]
conditioned_by_nonzeros(cond: str | int | list[str | int]) → DiffusionOperator[source]
dag(state: pysparq.SparseState) → None[source]
addr_reg: str | int[source]
class PySparQ.pysparq.algorithms.grover.GroverOperator(qram: pysparq.QRAMCircuit_qutrit, addr_reg: str | int, data_reg: str | int, search_reg: str | int)[source]

Combined Grover operator: Oracle followed by Diffusion.

clear_conditions() → None[source]
conditioned_by_all_ones(conds: str | int | list[str | int]) → GroverOperator[source]
conditioned_by_bit(reg: str | int, pos: int) → GroverOperator[source]
conditioned_by_nonzeros(cond: str | int | list[str | int]) → GroverOperator[source]
dag(state: pysparq.SparseState) → None[source]
diffusion: DiffusionOperator[source]
oracle: GroverOracle[source]
class PySparQ.pysparq.algorithms.grover.GroverOracle(qram: pysparq.QRAMCircuit_qutrit, addr_reg: str | int, data_reg: str | int, search_reg: str | int)[source]

Oracle for Grover’s search that marks target values.

clear_conditions() → None[source]
conditioned_by_all_ones(conds: str | int | list[str | int]) → GroverOracle[source]
conditioned_by_bit(reg: str | int, pos: int) → GroverOracle[source]
conditioned_by_nonzeros(cond: str | int | list[str | int]) → GroverOracle[source]
dag(state: pysparq.SparseState) → None[source]
addr_reg: str | int[source]
data_reg: str | int[source]
qram: pysparq.QRAMCircuit_qutrit[source]
search_reg: str | int[source]
PySparQ.pysparq.algorithms.grover.create_grover_demo() → str[source]

Generate a demo script for Grover’s algorithm.

PySparQ.pysparq.algorithms.grover.grover_count(memory: list[int], target: int, precision_bits: int = ..., data_size: int = ...) → tuple[int, float][source]

Quantum counting variant of Grover’s algorithm.

Execute Grover’s search to find target in memory.