在量子计算,特别是量子线路的计算模型里面,一个量子门 (Quantum gate,或量子逻辑门)是一个基本的,操作一个小数量量子比特的量子线路 。它是量子线路的基础,就像传统逻辑门跟一般数字线路之间的关系。1
与多数传统逻辑门不同,量子逻辑门是可逆的。 然而,传统的计算可以只使用可逆的门表示· 举例来说,可逆的Toffoli门 可以实做所有的布尔函数。 这个门有一个直接等同的量子门,也因此代表量子线路可以模拟所有传统线路的操作。
量子逻辑门使用酉矩阵表示。 就像常见的逻辑门一般是针对一个或两个比特进行操作,常见的量子门也是针对一个或两个量子比特进行操作。 这也代表这一些量子门可以以2 × 2或者4 × 4的酉矩阵表示。
历史现现有量子门的记号是Barenco et al.发明的,建立在费曼所提出的记号上。2
基本的量子门量子门常使用矩阵表示,操作K个量子比特的门可以用2k x 2k 的酉矩阵表示。 一个门输入跟输出的量子比特数量必须要相等。 量子门的操作可以用代表量子门的矩阵与代表量子比特状态的向量作相乘来表示。3
阿达马门阿达马门是只对一个一个量子比特进行操作的门。 这个门将基本状态 |0> 变成,并且将 |1> 变成
。这个门可以以阿达马矩阵表示:
因因为矩阵的每一列正交,因此H 是一个酉矩阵。
泡利-X 门泡利-X 门操作一个量子比特。 这个门相当于经典的逻辑非门。 它将 |0>换成 |1>并且 |1>换成 |0>。这个门可以用一个 泡利 X 矩阵表示:
泡利-Y 门泡利-Y 门操作一个量子比特。这个门可以用一个 泡利 Y 矩阵表示:
泡利-Z 门泡利-Z 操作一个量子比特。 这个门保留基本状态 |0>不变,并且将 |1>换成 |-1>。 这个门可以用一个 泡利 Z 矩阵表示:
相位偏移门相位偏移门是一系列操作单一量子比特的门,它保留基本状态 |0>并且将 |1>换成 eiθ|1>。
这里的 θ 代表相位位移。若 θ 则等于π,则此门特殊化为泡利-Z门。
互换门互换门操作两个量子比特,可以用以下这个矩阵表示:
Toffoli门Toffoli门是一个操作三个量子比特的,对传统运算比较完备的门。量子的Toffoli门是类同的门,以三个量子比特定义。如果前两个量子比特是 |1>,则对第三个量子比特进行泡利-X运算,反之则不做操作。这是一个受控门的范例。由于这个门是一个传统逻辑门的量子模拟,因此它可以用一个真值表来完整表示如下:
|| ||
这个门也可以这么形容:它的功能相当于将 |a,b,c> 转化成了 |a,b,c⊕ab>。(注:⊕为异或运算)
万能量子门一个万能量子门的集合,是一个任何量子线路均可以用这一些门实做出来的集合。也就是说,任何其他的单位操作均可以从这个集合组合出一个有限长度的序列来表示。 技术上来说,因为可能的量子门数目是不可数的,而从有限大的集合取出的有限长度的序列则是可数的,所以不可能达成。为了解决这个问题,我们只要求这一个有限大小的集合可以组合出近似任何量子运算的序列。Solovay–Kitaev theorem保证这一件事情可以有效达成。
一个简单的,操作两个量子比特的门,的万能量子门集合是一个阿达马门H,一个相位偏移门,和一个受控非门。
只有单一个量子门的万能量子门集合可以用一个操作三个量子比特的Deutsch门建构出来,Deutsch门它的操作如下:
在传统逻辑线路里面的万用算子Toffoli门可以被简化成一个Deutsch门,
,因此代表着所有传统逻辑线路的操作均可以由量子电脑模拟。
本词条内容贡献者为:
杜强 - 高级工程师 - 中国科学院工程热物理研究所