Grover's algorithm is a well-known contribution to quantum computing. It searches one value within an unordered sequence faster than any classical algorithm. A fundamental part of this algorithm is the so-called oracle, a quantum circuit that marks the quantum state corresponding to the desired value. A generalization of it is the oracle for Amplitude Amplification, that marks multiple desired states. In this work we present a classical algorithm that builds a phase-marking oracle for Amplitude Amplification. This oracle performs a less-than operation, marking states representing natural numbers smaller than a given one. Results of both simulations and experiments are shown to prove its functionality. This less-than oracle implementation works on any number of qubits and does not require any ancilla qubits. Regarding depth, the proposed implementation is compared with the one generated by Qiskit automatic method, UnitaryGate. We show that the depth of our less-than oracle implementation is always lower. This difference is significant enough for our method to outperform UnitaryGate on real quantum hardware.
翻译:Grover算法是量子计算领域的一项著名贡献。它能在无序序列中比任何经典算法更快地搜索一个目标值。该算法的核心组成部分是所谓的“算子”(oracle),即一个用于标记对应目标值的量子态的量子电路。其推广形式是用于幅度放大的算子,可标记多个目标态。本文提出了一种经典算法,用于构建幅度放大中的相位标记算子。该算子执行小于比较操作,标记代表小于给定自然数的自然数状态。通过仿真与实验验证了其功能性。该小于比较算子的实现适用于任意数量的量子比特,且无需任何辅助量子比特。在电路深度方面,我们将所提实现与Qiskit自动方法UnitaryGate生成的实现进行了比较。结果表明,我们提出的小于比较算子实现的深度始终更低。这一显著差异使得我们的方法在真实量子硬件上优于UnitaryGate。