用于分解,搜索和仿真等任务的量子算法取决于控制流,例如分支和迭代,取决于叠加中数据的价值。用于控制流的高级编程抽象,例如开关,循环,高阶功能和连续性,在古典语言中无处不在。相比之下,许多量子语言不提供叠加中控制流的高级抽象,而需要使用硬件级逻辑门来实现此类控制流。此差距的原因是,尽管经典计算机使用可以取决于数据的程序计数器支持控制流摘要,但量子计算机的典型体系结构并不能类似地提供可以取决于叠加数据的程序计数器。结果,尚未在量子计算机上正确实现的完整控制流抽象集。在这项工作中,我们提供了控制流摘要的属性的完整表征,这些属性在量子计算机上正确实现。首先,我们证明,即使在量子计数器中存在的量子计算机上,也无法通过将经典的条件跳跃指令提升到叠加工作中的量子算法中的控制流。该定理否认能够直接提起控制流的一般抽象,例如𝜆钙从经典到量子编程。为了响应,我们提供了在量子计算机上正确实现的控制流的必要条件。我们介绍了量子控制机,这是一种指令集体系结构,其有条件跳跃的限制是满足这些条件的。我们展示了该设计如何使开发人员使用程序计数器代替逻辑门正确表达量子算法中的控制流。
主要关键词