选择作

完全限定名称:Std.TableLookup.Select

operation Select(data : Bool[][], address : Qubit[], target : Qubit[]) : Unit is Adj + Ctl

摘要

使用 SELECT 网络执行表查找

说明

假设 target 寄存器为零初始化,此作将根据 data 寄存器的计算值,使用索引 address 中的位字符串初始化它。

输入

数据

target 中针对 address状态准备的经典表查找数据。 数据的长度必须小于 2ⁿ,其中 n 是 address的长度。 数据中的每个条目必须具有相同的长度,该长度必须等于 target的长度。

地址

地址注册

目标

零初始化的目标寄存器

注解

SELECT 网络的实现基于 [1] 中显示的一元编码。 该算法的递归实现显示在 [3]。 相邻变体是使用基于度量的取消检查作 [3] 进行优化的。 使用此技术未优化受控相邻变体。

参考

  1. arXiv:1805.03662“使用线性 T 复杂性在量子线路中编码电子光谱”
  2. arXiv:1905.07682“开窗算术”
  3. arXiv:2211.01133“空间优化表查找”