PySparQ.pysparq.algorithms.grover 源代码

"""
Grover's Quantum Search Algorithm Implementation
"""

import pysparq as ps


[文档] class GroverOracle: """Oracle for Grover's search that marks target values."""
[文档] qram: ps.QRAMCircuit_qutrit
[文档] addr_reg: str | int
[文档] data_reg: str | int
[文档] search_reg: str | int
_condition_regs: list[str | int] _condition_bits: list[tuple[str | int, int]] def __init__( self, qram: ps.QRAMCircuit_qutrit, addr_reg: str | int, data_reg: str | int, search_reg: str | int, ) -> None: ...
[文档] def conditioned_by_nonzeros( self, cond: str | int | list[str | int] ) -> "GroverOracle": ...
[文档] def conditioned_by_all_ones(self, conds: str | int | list[str | int]) -> "GroverOracle": ...
[文档] def conditioned_by_bit(self, reg: str | int, pos: int) -> "GroverOracle": ...
[文档] def clear_conditions(self) -> None: ...
[文档] def dag(self, state: ps.SparseState) -> None: ...
def __call__(self, state: ps.SparseState) -> None: ...
[文档] class DiffusionOperator: """HPH (Hadamard-Phase-Hadamard) diffusion operator."""
[文档] addr_reg: str | int
_condition_regs: list[str | int] _condition_bits: list[tuple[str | int, int]] def __init__(self, addr_reg: str | int) -> None: ...
[文档] def conditioned_by_nonzeros( self, cond: str | int | list[str | int] ) -> "DiffusionOperator": ...
[文档] def conditioned_by_all_ones(self, conds: str | int | list[str | int]) -> "DiffusionOperator": ...
[文档] def conditioned_by_bit(self, reg: str | int, pos: int) -> "DiffusionOperator": ...
[文档] def clear_conditions(self) -> None: ...
[文档] def dag(self, state: ps.SparseState) -> None: ...
def __call__(self, state: ps.SparseState) -> None: ...
[文档] class GroverOperator: """Combined Grover operator: Oracle followed by Diffusion."""
[文档] oracle: GroverOracle
[文档] diffusion: DiffusionOperator
_condition_regs: list[str | int] _condition_bits: list[tuple[str | int, int]] def __init__( self, qram: ps.QRAMCircuit_qutrit, addr_reg: str | int, data_reg: str | int, search_reg: str | int, ) -> None: ...
[文档] def conditioned_by_nonzeros( self, cond: str | int | list[str | int] ) -> "GroverOperator": ...
[文档] def conditioned_by_all_ones(self, conds: str | int | list[str | int]) -> "GroverOperator": ...
[文档] def conditioned_by_bit(self, reg: str | int, pos: int) -> "GroverOperator": ...
[文档] def clear_conditions(self) -> None: ...
[文档] def dag(self, state: ps.SparseState) -> None: ...
def __call__(self, state: ps.SparseState) -> None: ...
[文档] def grover_count( memory: list[int], target: int, precision_bits: int = ..., data_size: int = ..., ) -> tuple[int, float]: """Quantum counting variant of Grover's algorithm.""" ...
[文档] def create_grover_demo() -> str: """Generate a demo script for Grover's algorithm.""" ...