PySparQ.pysparq.algorithms.qda_solver

QDA (Quantum Discrete Adiabatic) Linear System Solver Implementation

Classes

BlockEncoding

Placeholder for block encoding implementation.

BlockEncodingHs

Block encoding of the interpolating Hamiltonian H(s).

BlockEncodingHsPD

Positive-definite version of block encoding H(s).

Filtering

Dolph-Chebyshev filtering for QDA.

LCU

Linear Combination of Unitaries for QDA.

StatePreparation

Placeholder for state preparation implementation.

WalkS

Quantum walk operator at parameter s.

Functions

calculate_angles(→ list[float])

Calculate rotation angles from coefficients for state preparation.

chebyshev_T(→ float)

Compute Chebyshev polynomial T_n(x).

classical_to_quantum(→ tuple[numpy.ndarray, ...)

Convert classical linear system to quantum-compatible form.

compute_fourier_coeffs(→ list[float])

Compute Fourier coefficients for Dolph-Chebyshev filter.

compute_fs(→ float)

Compute the interpolation parameter f(s).

compute_rotation_matrix(→ list[complex])

Compute the rotation matrix R_s for block encoding.

create_qda_demo(→ str)

Generate a demo script for QDA solver.

dolph_chebyshev(→ float)

Compute Dolph-Chebyshev window function.

qda_solve(→ numpy.ndarray)

Solve Ax = b using QDA algorithm.

Module Contents

class PySparQ.pysparq.algorithms.qda_solver.BlockEncoding(A: numpy.ndarray, data_size: int = ...)[源代码]

Placeholder for block encoding implementation.

conditioned_by_all_ones(conds: str | list[str]) BlockEncoding[源代码]
dag(state: pysparq.SparseState) None[源代码]
A: numpy.ndarray[源代码]
data_size: int[源代码]
class PySparQ.pysparq.algorithms.qda_solver.BlockEncodingHs(enc_A: BlockEncoding, enc_b: StatePreparation, main_reg: str, anc_UA: str, anc_1: str, anc_2: str, anc_3: str, anc_4: str, fs: float)[源代码]

Block encoding of the interpolating Hamiltonian H(s).

conditioned_by_all_ones(conds: str | list[str]) BlockEncodingHs[源代码]
dag(state: pysparq.SparseState) None[源代码]
R_s: list[complex][源代码]
anc_1: str[源代码]
anc_2: str[源代码]
anc_3: str[源代码]
anc_4: str[源代码]
anc_UA: str[源代码]
enc_A: BlockEncoding[源代码]
enc_b: StatePreparation[源代码]
fs: float[源代码]
main_reg: str[源代码]
class PySparQ.pysparq.algorithms.qda_solver.BlockEncodingHsPD(enc_A: BlockEncoding, enc_b: StatePreparation, main_reg: str, anc_UA: str, anc_1: str, anc_2: str, anc_3: str, anc_4: str, fs: float)[源代码]

Positive-definite version of block encoding H(s).

R_s: list[complex][源代码]
anc_1: str[源代码]
anc_2: str[源代码]
anc_3: str[源代码]
anc_4: str[源代码]
anc_UA: str[源代码]
enc_A: BlockEncoding[源代码]
enc_b: StatePreparation[源代码]
fs: float[源代码]
main_reg: str[源代码]
class PySparQ.pysparq.algorithms.qda_solver.Filtering(walk: WalkS, index_reg: str, anc_h: str, epsilon: float = ..., l: int = ...)[源代码]

Dolph-Chebyshev filtering for QDA.

anc_h: str[源代码]
coeffs: list[float][源代码]
epsilon: float[源代码]
index_reg: str[源代码]
l: int[源代码]
walk: WalkS[源代码]
class PySparQ.pysparq.algorithms.qda_solver.LCU(walk: WalkS, index_reg: str, log_file: str = ...)[源代码]

Linear Combination of Unitaries for QDA.

dag(state: pysparq.SparseState) None[源代码]
index_reg: str[源代码]
index_size: int[源代码]
log_file: str[源代码]
walk: WalkS[源代码]
class PySparQ.pysparq.algorithms.qda_solver.StatePreparation(b: numpy.ndarray)[源代码]

Placeholder for state preparation implementation.

conditioned_by_all_ones(conds: str | list[str]) StatePreparation[源代码]
dag(state: pysparq.SparseState) None[源代码]
b: numpy.ndarray[源代码]
class PySparQ.pysparq.algorithms.qda_solver.WalkS(enc_A: BlockEncoding, enc_b: StatePreparation, main_reg: str, anc_UA: str, anc_1: str, anc_2: str, anc_3: str, anc_4: str, s: float, kappa: float, p: float, is_positive_definite: bool = ...)[源代码]

Quantum walk operator at parameter s.

clear_conditions() None[源代码]
conditioned_by_all_ones(conds: str | list[str]) WalkS[源代码]
conditioned_by_bit(reg: str, pos: int) WalkS[源代码]
dag(state: pysparq.SparseState) None[源代码]
anc_1: str[源代码]
anc_2: str[源代码]
anc_3: str[源代码]
anc_4: str[源代码]
anc_UA: str[源代码]
enc_Hs: BlockEncodingHs | BlockEncodingHsPD[源代码]
fs: float[源代码]
is_positive_definite: bool[源代码]
kappa: float[源代码]
main_reg: str[源代码]
p: float[源代码]
phase: complex[源代码]
s: float[源代码]
PySparQ.pysparq.algorithms.qda_solver.calculate_angles(coeffs: list[float]) list[float][源代码]

Calculate rotation angles from coefficients for state preparation.

PySparQ.pysparq.algorithms.qda_solver.chebyshev_T(n: int, x: float) float[源代码]

Compute Chebyshev polynomial T_n(x).

PySparQ.pysparq.algorithms.qda_solver.classical_to_quantum(A: numpy.ndarray, b: numpy.ndarray) tuple[numpy.ndarray, numpy.ndarray, Callable[[numpy.ndarray], numpy.ndarray]][源代码]

Convert classical linear system to quantum-compatible form.

PySparQ.pysparq.algorithms.qda_solver.compute_fourier_coeffs(epsilon: float, l: int) list[float][源代码]

Compute Fourier coefficients for Dolph-Chebyshev filter.

PySparQ.pysparq.algorithms.qda_solver.compute_fs(s: float, kappa: float, p: float) float[源代码]

Compute the interpolation parameter f(s).

PySparQ.pysparq.algorithms.qda_solver.compute_rotation_matrix(fs: float) list[complex][源代码]

Compute the rotation matrix R_s for block encoding.

PySparQ.pysparq.algorithms.qda_solver.create_qda_demo() str[源代码]

Generate a demo script for QDA solver.

PySparQ.pysparq.algorithms.qda_solver.dolph_chebyshev(epsilon: float, l: int, phi: float) float[源代码]

Compute Dolph-Chebyshev window function.

PySparQ.pysparq.algorithms.qda_solver.qda_solve(A: numpy.ndarray, b: numpy.ndarray, kappa: float | None = ..., p: float = ..., eps: float = ..., step_rate: float = ...) numpy.ndarray[源代码]

Solve Ax = b using QDA algorithm.