PySparQ.pysparq.algorithms.block_encoding¶
矩阵块编码算法(三对角和基于 QRAM)。
Classes¶
三对角矩阵 alpha*I + beta*T 的块编码。 |
|
通过 QRAM 对任意矩阵进行块编码。 |
|
将寄存器加 1 并跟踪溢出。 |
|
基于 QRAM 块编码的左乘算子。 |
|
基于 QRAM 块编码的右乘算子。 |
Functions¶
|
返回块编码用法的演示脚本字符串。 |
|
返回 dim x dim 的三对角矩阵 alpha*I + beta*T。 |
|
返回 size x size 的上移(超对角线)矩阵。 |
|
返回 size x size 的下移(次对角线)矩阵。 |
Module Contents¶
- class PySparQ.pysparq.algorithms.block_encoding.BlockEncodingTridiagonal(main_reg: str, anc_UA: str, alpha: float, beta: float)[源代码]¶
三对角矩阵 alpha*I + beta*T 的块编码。
- dag(state: SparseState) None[源代码]¶
- class PySparQ.pysparq.algorithms.block_encoding.BlockEncodingViaQRAM(qram: QRAMCircuit_qutrit, column_index: str, row_index: str, data_size: int, rational_size: int)[源代码]¶
通过 QRAM 对任意矩阵进行块编码。
- dag(state: SparseState) None[源代码]¶
- class PySparQ.pysparq.algorithms.block_encoding.PlusOneAndOverflow(main_reg: str, overflow: str)[源代码]¶
将寄存器加 1 并跟踪溢出。
- dag(state: SparseState) None[源代码]¶
- class PySparQ.pysparq.algorithms.block_encoding.UL(qram: QRAMCircuit_qutrit, row_index: str, column_index: str, data_size: int, rational_size: int)[源代码]¶
基于 QRAM 块编码的左乘算子。
- dag(state: SparseState) None[源代码]¶
- class PySparQ.pysparq.algorithms.block_encoding.UR(qram: QRAMCircuit_qutrit, column_index: str, data_size: int, rational_size: int)[源代码]¶
基于 QRAM 块编码的右乘算子。
- dag(state: SparseState) None[源代码]¶
- PySparQ.pysparq.algorithms.block_encoding.get_tridiagonal_matrix(alpha: float, beta: float, dim: int) numpy.ndarray[源代码]¶
返回 dim x dim 的三对角矩阵 alpha*I + beta*T。
- PySparQ.pysparq.algorithms.block_encoding.get_u_minus(size: int) numpy.ndarray[源代码]¶
返回 size x size 的上移(超对角线)矩阵。
- PySparQ.pysparq.algorithms.block_encoding.get_u_plus(size: int) numpy.ndarray[源代码]¶
返回 size x size 的下移(次对角线)矩阵。