论文标题
验证IBM Qiskit量子电路汇编的结果
Verifying Results of the IBM Qiskit Quantum Circuit Compilation Flow
论文作者
论文摘要
在实际的物理设备上实现概念量子算法,必须使该算法的量子电路描述进行某些转换,以遵守硬件施加的所有约束。在这方面,在映射到目标架构之前,首先将单个高级电路组件合成到量子计算机的受支持的低级栅极集合之前 - 使用多个优化来改善汇编结果。存在该复杂任务的专用工具,例如IBM的Qiskit,Google的CIRQ,Microsoft的QDK或Rigetti的森林。但是,迄今为止,这些工具产生的电路几乎没有得到验证,这主要是由于检查两个量子电路是否确实实现了相同的功能的巨大复杂性。在本文中,我们提出了一个有效的量子电路等效检查的方案---专门用于验证IBM Qiskit量子电路汇编的结果。为此,我们结合了量子计算独有的特征,例如,其固有的可逆性以及对汇编流的某些知识与专用的等价检查策略。实验评估证实,所提出的方案允许在几秒钟甚至更少的情况下使用数以万计的操作来验证大型电路实例,而最新的技术经常超时或需要更多的运行时。提出方法的相应开源实现可在https://github.com/iic-jku/qcec上公开获得。
Realizing a conceptual quantum algorithm on an actual physical device necessitates the algorithm's quantum circuit description to undergo certain transformations in order to adhere to all constraints imposed by the hardware. In this regard, the individual high-level circuit components are first synthesized to the supported low-level gate-set of the quantum computer, before being mapped to the target's architecture---utilizing several optimizations in order to improve the compilation result. Specialized tools for this complex task exist, e.g., IBM's Qiskit, Google's Cirq, Microsoft's QDK, or Rigetti's Forest. However, to date, the circuits resulting from these tools are hardly verified, which is mainly due to the immense complexity of checking if two quantum circuits indeed realize the same functionality. In this paper, we propose an efficient scheme for quantum circuit equivalence checking---specialized for verifying results of the IBM Qiskit quantum circuit compilation flow. To this end, we combine characteristics unique to quantum computing, e.g., its inherent reversibility, and certain knowledge about the compilation flow into a dedicated equivalence checking strategy. Experimental evaluations confirm that the proposed scheme allows to verify even large circuit instances with tens of thousands of operations within seconds or even less, whereas state-of-the-art techniques frequently time-out or require substantially more runtime. A corresponding open source implementation of the proposed method is publicly available at https://github.com/iic-jku/qcec.