PySparQ.pysparq.algorithms.shor 源代码

"""
Shor's Quantum Factorization Algorithm Implementation
"""

import pysparq as ps


[文档] class ShorExecutionFailed(Exception): """Exception raised when Shor's algorithm fails to find factors.""" ...
[文档] def general_expmod(a: int, x: int, N: int) -> int: """Compute a^x mod N efficiently using square-and-multiply.""" ...
[文档] def find_best_fraction(y: int, Q: int, N: int) -> tuple[int, int]: """Find the best fraction c/r approximating y/Q using Farey sequence.""" ...
[文档] def compute_period(meas_result: int, size: int, N: int) -> int: """Compute the period from measurement result.""" ...
[文档] def check_period(period: int, a: int, N: int) -> None: """Check if period is valid for factoring.""" ...
[文档] def shor_postprocess(meas: int, size: int, a: int, N: int) -> tuple[int, int]: """Classical post-processing for Shor's algorithm.""" ...
[文档] class ModMul: """Controlled modular multiplication operation."""
[文档] reg: str
[文档] a: int
[文档] x: int
[文档] N: int
[文档] opnum: int
_condition_bits: list[tuple[str | int, int]] _condition_regs: list[str | int] def __init__(self, reg: str, a: int, x: int, N: int) -> None: ...
[文档] def conditioned_by_all_ones(self, cond: str) -> "ModMul": ...
[文档] def conditioned_by_nonzeros(self, cond: str | int) -> "ModMul": ...
[文档] def clear_conditions(self) -> None: ...
[文档] def dag(self, state: ps.SparseState) -> None: ...
def __call__(self, state: ps.SparseState) -> None: ...
[文档] class SemiClassicalShor: """Semi-classical implementation of Shor's algorithm."""
[文档] a: int
[文档] N: int
[文档] n: int
[文档] size: int
[文档] meas_result: int
[文档] period: int
[文档] p: int
[文档] q: int
def __init__(self, a: int, N: int) -> None: ...
[文档] def run(self) -> tuple[int, int]: ...
[文档] class ExpMod: """Modular exponentiation operation."""
[文档] input_reg: str
[文档] output_reg: str
[文档] a: int
[文档] N: int
[文档] period: int
[文档] axmodn: list[int]
def __init__( self, input_reg: str, output_reg: str, a: int, N: int, period: int ) -> None: ... def __call__(self, state: ps.SparseState) -> None: ...
[文档] def dag(self, state: ps.SparseState) -> None: ...
[文档] class Shor: """Full quantum Shor's algorithm."""
[文档] work_reg: str
[文档] ancilla_reg: str
[文档] expmod: ExpMod
def __init__( self, work_reg: str, ancilla_reg: str, a: int, N: int, period: int, ) -> None: ... def __call__(self, state: ps.SparseState) -> None: ...
[文档] def factor(N: int, a: int | None = ...) -> tuple[int, int]: """Factor N using Shor's algorithm.""" ...
[文档] def factor_full_quantum(N: int, a: int | None = ...) -> tuple[int, int]: """Factor N using full quantum Shor's algorithm.""" ...
[文档] def create_shor_demo() -> str: """Generate a demo script for Shor's algorithm.""" ...