论文部分内容阅读
当晶体管尺寸接近纳米级别时,量子力学现象在信息处理中起到越来越重要的作用。若这些量子现象包含有限的基态,可以将其抽象为量子电路,一种对常规或“经典”逻辑电路的量子模拟。量子电路仿真可以作为评价量子信息处理器中问题的工具。但表示量子算子的矩阵和建模量子状态的向量随量子比特数的增加呈指数级增长使得有效地仿真量子电路非常困难,本文针对Grover提出的量子搜索算法和量子傅里叶变换电路的特点,设计不同的仿真算法分别对二者进行仿真。
Grover算法的量子电路中仅包含Hadarmad门、X门和N-CNOT门,采用二项决策图(Binary Decsion Diagram,BDD)表示矩阵算子和状态向量仿真该算法。BDD利用矩阵算子在量子计算过程中呈现出的结构化特性,可以高效地压缩存储空间并实现在压缩数据结构上直接进行矩阵的各种运算。文中利用改进的BDD实现了仿真过程需要的各种矩阵运算,用C++编写的程序对Grover惯算法的实例进行仿真,最后从多个角度对违反直观的实验结果进行了分析,阐释了量子算法的内在并行性。
由于电路中出现旋转门,上述算法无法有效地仿真量子傅里叶变换,为此提出一种通用量子电路仿真算法。根据控制线和门电路之间的关系,将通用量子电路分为两类,给出了每类中两种电路的酉算子表达式;根据矩阵张量积转置相似定理,实现了两类电路酉算子间的转换。引入矩阵和向量的“张量和”运算,以简洁的形式直观地表示出量子电路对输入向量的作用。在将量子电路抽象为受控酉运算嵌套的基础上,提出了在经典计算机上仿真量子电路的分治算法,通过递归解析量子电路来确定对状态向量的作用。相较于其他基于状态向量的仿真算法,该算法避免了通过张量积运算生成酉矩阵,从而节省了存储空间;并且在仿真非平凡的量子电路时具有更好的时间复杂度。