量子闸
2020-03-29 19:17:08
在量子计算和特别是量子线路的计算模型里面,一个量子门(或量子逻辑门)是一个基本的,操作一个小数量量子比特的量子线路。它是量子线路的基础,就像传统逻辑门跟一般数字线路之间的关系。与多数传统逻辑门不同,量子逻辑门是可逆的。然而,传统的计算可以只使用可逆的门表示。举例来说,可逆的Toffoli门可以实做所有的布尔函数。这个门有一个直接等同的量子门,也因此代表量子线路可以模拟所有传统线路的操作。量子逻辑门使用酉矩阵表示。就像常见的逻辑门一般是针对一个或两个比特进行操作,常见的量子门也是针对一个或两个量子比特进行操作。这也代表这一些量子门可以以2 × 2或者4 × 4的酉矩阵表示。量子门常使用矩阵表示,操作K个量子比特的门可以用2k × 2k的酉矩阵表示。一个门输入跟输出的量子比特数量必须要相等。量子门的操作可以用代表量子门的矩阵与代表量子比特状态的向量作相乘来表示。在下文中,单个量子比特的矢量表示为:而两个量子比特的矢量表示为:其中
|
a
b
⟩
{displaystyle |abrangle }
是代表第一个量子比特处于
|
a
⟩
{displaystyle |arangle }
态,第二个量子比特处于
|
b
⟩
{displaystyle |brangle }
态所构成的(两个量子比特的)量子态的基矢。阿达马门是只对一个一个量子比特进行操作的门。这个门将基本状态
|
0
⟩
{displaystyle |0rangle }
变成
|
0
⟩
+
|
1
⟩
2
{displaystyle {frac {|0rangle +|1rangle }{sqrt {2}}}}
,并且将
|
1
⟩
{displaystyle |1rangle }
变成
|
0
⟩
−
|
1
⟩
2
{displaystyle {frac {|0rangle -|1rangle }{sqrt {2}}}}
。这个门可以以阿达马矩阵表示:因为矩阵的每一列正交,
H
H
∗
=
I
{displaystyle HH^{*}=I}
,其中I表示单位矩阵,因此H是一个酉矩阵。泡利-X门操作一个量子比特。这个门相当于经典的逻辑非门。它将
|
0
⟩
{displaystyle |0rangle }
换成
|
1
⟩
{displaystyle |1rangle }
并且
|
1
⟩
{displaystyle |1rangle }
换成
|
0
⟩
{displaystyle |0rangle }
。这个门可以以一个泡利X矩阵表示:泡利-Y门操作单一个量子比特。这个门可以以一个泡利Y矩阵表示:泡利-Z门操作单一个量子比特。这个门保留基本状态
|
0
⟩
{displaystyle |0rangle }
不变并且将
|
1
⟩
{displaystyle |1rangle }
换成
−
|
1
⟩
{displaystyle -|1rangle }
。这个门可以以一个泡利Z矩阵表示:这是一系列操作单一量子比特的门,它保留基本状态
|
0
⟩
{displaystyle |0rangle }
并且将
|
1
⟩
{displaystyle |1rangle }
换成
e
i
θ
|
1
⟩
{displaystyle e^{itheta }|1rangle }
。这里的
θ
{displaystyle theta }
代表相位位移。一些常见的例子像是
π
8
{displaystyle {frac {pi }{8}}}
门的
θ
=
π
4
{displaystyle theta ={frac {pi }{4}}}
,相位门的的
θ
{displaystyle theta }
则等于
π
2
{displaystyle {frac {pi }{2}}}
而泡利-Z门的
θ
=
π
{displaystyle theta =pi }
。互换门操作两个量子比特,可以用以下这个矩阵表示:受控门操作两个以上的量子比特,其中一个或多个量子比特视为某一些操作的控制比特。举例来说,受控非门(CNOT)操作两个量子比特,第二个量子比特只有在第一个量子比特为
|
1
⟩
{displaystyle |1rangle }
的时候进行NOT操作,否则就保持不变。这个门可以以以下的矩阵表示:更普遍地说,如果U是一个操作单一量子比特的门,以以下这个矩阵表示:则受控-U门就是操作两个量子比特的量子门,以第一个量子比特作为控制。操作基本状态如下:受控-U门可以以矩阵代表如下:Toffoli门是一个操作三个量子比特的,对传统运算是完备的门。量子的Toffoli门是类同的门,以三个量子比特定义。如果前两个量子比特是
|
1
⟩
{displaystyle |1rangle }
,则对第三个量子比特进行泡利-X运算,反之则不做操作。这是一个受控门的范例。既然这个门是一个传统逻辑门的量子模拟,因此它可以用一个真值表来完整表示如下:也可以将这个门以像是
|
a
,
b
,
c
⟩
{displaystyle |a,b,crangle }
to
|
a
,
b
,
c
⊕
a
b
⟩
{displaystyle |a,b,coplus abrangle }
的操作形容。较不正式地说,一个万能量子门的集合,是一个任何量子线路均可以用这一些门实做出来的集合。也就是说,任何其他的单位操作均可以从这个集合组合出一个有限长度的序列来表示。技术上来说,因为可能的量子门数目是不可数的,而从有限大的集合取出的有限长度的序列则是可数的,所以不可能达成。为了解决这个问题,我们只要求这一个有限大小的集合可以组合出近似任何量子运算的序列。Solovay–Kitaev theorem保证这一件事情可以有效达成。一个简单的,操作两个量子比特的门,的万能量子门集合是一个阿达马门(
H
{displaystyle H}
),一个相位偏移门
R
(
π
/
4
)
{displaystyle R(pi /4)}
,和一个受控非门.只有单一个量子门的万能量子门集合可以用一个操作三个量子比特的Deutsch门
D
(
θ
)
{displaystyle D(theta )}
建构出来,Deutsch门它的操作如下:|
a
,
b
,
c
⟩
↦
{
i
cos
(
θ
)
|
a
,
b
,
c
⟩
+
sin
(
θ
)
|
a
,
b
,
1
−
c
⟩
for
a
=
b
=
1
|
a
,
b
,
c
⟩
otherwise
{displaystyle |a,b,crangle mapsto {begin{cases}icos(theta )|a,b,crangle +sin(theta )|a,b,1-crangle &{mbox{for }}a=b=1\|a,b,crangle &{mbox{otherwise}}end{cases}}}在传统逻辑线路里面的万用算子Toffoli门可以被简化成一个Deutsch门,
D
(
π
2
)
{displaystyle D({begin{matrix}{frac {pi }{2}}end{matrix}})}
,因此代表着所有传统逻辑线路的操作均可以由量子电脑模拟。现有量子门的记号是Barenco et al.以费曼所提出的记号为基础发明的。