PySparQ.pysparq.algorithms.qram_utils 源代码

"""QRAM 电路构建的经典辅助函数。"""

from __future__ import annotations

from typing import Union

import numpy as np

[文档] PI: float
"""与 C++ ``constexpr double pi`` 匹配的 Pi 常量。"""
[文档] def pow2(n: int) -> int: """通过左移返回 ``2**n``,匹配 ``basic.h`` 语义。""" ...
[文档] def make_complement(data: int, data_sz: int) -> int: """将有符号整数转换为其二进制补码表示。""" ...
[文档] def get_complement(data: int, data_sz: int) -> int: """反向二进制补码:将无符号值符号扩展为有符号整数。""" ...
[文档] def column_flatten(row_vec: list[float]) -> list[float]: """将行优先方阵转置为列优先表示。""" ...
[文档] def scale_and_convert_vector( input_vec: Union[list[float], np.ndarray], exponent: int, data_size: int, from_matrix: bool = ..., ) -> list[int]: """缩放浮点值并转换为二进制补码整数。""" ...
[文档] def make_vector_tree(dist: list[int], data_size: int) -> list[int]: """从叶分布数据构建用于 QRAM 电路的二叉树。""" ...
[文档] def make_func(value: int, n_digit: int) -> list[complex]: """从有理寄存器值计算 2x2 旋转矩阵。""" ...
[文档] def make_func_inv(value: int, n_digit: int) -> list[complex]: """从有理寄存器值计算逆 2x2 旋转矩阵。""" ...
[文档] def create_qram_utils_demo() -> str: """返回展示本模块典型用法的演示脚本字符串。""" ...