Quantum computing 如何将经典迭代嵌入到Grover的oracle中';Qiskit中的s算法?

Quantum computing 如何将经典迭代嵌入到Grover的oracle中';Qiskit中的s算法?,quantum-computing,qiskit,Quantum Computing,Qiskit,我最近使用Qiskit学习量子计算。现在我想知道是否有办法做到这一点: 例如,我得到一个数组X,其中每个元素都是其他元素的和,比如说X[0]=y[0][0]+y[0][1]+…+y[0][m],X[1]=y[1][0]+y[1][1]+,,,直到X[n],X中的每个元素都在一次迭代中获得。任务是找到某个X[i]==k 那么我应该在Grover迭代之前完成所有迭代吗?我读过一些教科书和论文,其中神谕是由一些二元函数构造的,这些二元函数将目标状态标记为1,并带有条件。据我所知,我现在可以在Qiski

我最近使用Qiskit学习量子计算。现在我想知道是否有办法做到这一点:

例如,我得到一个数组X,其中每个元素都是其他元素的和,比如说
X[0]=y[0][0]+y[0][1]+…+y[0][m]
X[1]=y[1][0]+y[1][1]+,,
,直到
X[n]
,X中的每个元素都在一次迭代中获得。任务是找到某个
X[i]==k

那么我应该在Grover迭代之前完成所有迭代吗?我读过一些教科书和论文,其中神谕是由一些二元函数构造的,这些二元函数将目标状态标记为1,并带有条件。据我所知,我现在可以在Qiskit中做的是标记指示目标元素位置的索引,如

来自qiskit.circuit.library的

从qiskit.quantum\u信息导入状态向量
mark_state=Statevector.from_标签('100'))
mark_电路=对角线(-1)**mark_状态.data)#在mark_状态上产生-1相位的电路
那是在地球上。Qiskit Aqua中的另一种方法是调用Oracles和Grover的API,但Oracles只接受逻辑表达式、真值表和自定义电路:任何人的构造都需要知道确切的X和X[i]的位置

我所要做的就是说明Grover算法的二次优势。如果可能的话,至少在oracle之外,不应该遍历迭代,但是如何在代码中实现它呢