量子闸

量子闸（或量子逻辑闸）在量子计算和特别是量子线路的计算模型里面是一个基本的，操作一个小数量量子位元的量子线路。它是量子线路的基础，就像传统逻辑闸跟一般数位线路之间的关系。

与多数传统逻辑闸不同，量子逻辑闸是可逆的。然而，传统的计算可以只使用可逆的闸表示。举例来说，可逆的Toffoli闸可以实做所有的布尔函数。这个闸有一个直接等同的量子闸，也因此代表量子线路可以模拟所有传统线路的操作。

量子逻辑闸使用幺正矩阵表示。就像传统的逻辑闸一样，它们是针对一个或两个位元进行操作，常见的量子逻辑闸也是针对一个或两个量子位元进行操作。这也代表这一些量子闸可以使用 2 × 2 或者 4 × 4 的幺正矩阵表示。

## 常使用的闸

量子闸常使用矩阵表示，操作K个量子位元的闸可以用2k × 2k的幺正矩阵表示。一个闸输入跟输出的量子位元数量必须要相等。量子闸的操作可以用代表量子闸的矩阵与代表量子位元状态的向量作相乘来表示。

在下文中，单个量子位元的向量表示为：

$$v_0 | 0 \rangle + v_1 | 1 \rangle \rightarrow \begin{bmatrix} v_0 \\ v_1 \end{bmatrix}$$

而两个量子位元的向量表示为：

$$v_{00} | 00 \rangle + v_{01} | 0 1 \rangle + v_{10} | 1 0 \rangle + v_{11} | 1 1 \rangle\rightarrow \begin{bmatrix} v_{00} \\ v_{01} \\ v_{10} \\ v_{11} \end{bmatrix}$$

其中$| a b \rangle$是代表第一个量子位元处于$|a\rangle$态，第二个量子位元处于$|b\rangle$态所构成的（两个量子位元的）量子态的基矢。

### 阿达马闸（Hadamard gate）

阿达马闸是只对一个一个量子位元进行操作的闸。这个闸将基本状态$|0\rangle$变成$\frac{|0\rangle + |1\rangle}{\sqrt{2}}$，并且将$|1\rangle$变成$\frac{|0\rangle - |1\rangle}{\sqrt{2}}$。这个闸可以以阿达马矩阵表示：

<image>

$$H = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}$$

因为矩阵的每一列正交，$HH^{*}=I$，其中I表示单位矩阵，因此H是一个幺正矩阵。

### 泡利-X闸（Pauli-X gate）

泡利-X闸操作一个量子位元。这个闸相当于经典的逻辑反闸。它将$|0\rangle$换成$|1\rangle$并且$|1\rangle$换成$|0\rangle$。这个闸可以以一个泡利X矩阵表示：

$$X = \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix}$$

### 泡利-Y闸（Pauli-Y gate）

泡利-Y闸操作单一个量子位元。这个闸可以以一个泡利Y矩阵表示：

$$Y = \begin{bmatrix} 0 & -i \\ i & 0 \end{bmatrix}$$

### 泡利-Z闸（Pauli-Z gate）

泡利-Z闸操作单一个量子位元。这个闸保留基本状态$|0\rangle$不变并且将$|1\rangle$换成$-|1\rangle$。这个闸可以以一个泡利Z矩阵表示：

$$Z = \begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix}$$

### 相位偏移闸（Phase shift gates）

这是一系列操作单一量子位元的闸，它保留基本状态$|0\rangle$并且将$|1\rangle$换成$e^{i\theta}|1\rangle$。

$$R(\theta) = \begin{bmatrix} 1 & 0 \\ 0 & e^{i \theta} \end{bmatrix}$$

这里的$\theta$代表相位位移。一些常见的例子像是$\frac{\pi}{8}$闸的$\theta = \frac{\pi}{4}$，相位闸的的$\theta$则等于$\frac{\pi}{2}$而泡利-Z闸的$\theta = \pi$。

### 互换闸（Swap gate）

互换闸操作两个量子位元，可以用以下这个矩阵表示：

$$\mbox{SWAP} = \begin{bmatrix} 1&0&0&0\\0&0&1&0\\0&1&0&0\\0&0&0&1\end{bmatrix}$$

### 受控闸（Controlled gates）

<image>

受控闸操作两个以上的量子位元，其中一个或多个量子位元视为某一些操作的控制位元。举例来说，受控反闸（CNOT）操作两个量子位元，第二个量子位元只有在第一个量子位元为$|1\rangle$的时候进行NOT操作，否则就保持不变。这个闸可以采以下的矩阵表示：

$$\mbox{CNOT} = \begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&0&1\\0&0&1&0\end{bmatrix}$$

更普遍地说，如果$U$是一个操作单一量子位元的闸，采以下这个矩阵表示：

$$U = \begin{bmatrix} x_{00} & x_{01} \\ x_{10} & x_{11} \end{bmatrix}$$

则受控-$U$闸就是操作两个量子位元的量子闸，以第一个量子位元作为控制。操作基本状态如下：

<image>

$$| 0 0 \rangle \mapsto | 0 0 \rangle$$

$$| 0 1 \rangle \mapsto | 0 1 \rangle$$

$$| 1 0 \rangle \mapsto | 1 \rangle U |0 \rangle = | 1 \rangle \left(x_{00} |0 \rangle + x_{10} |1 \rangle\right)$$

$$| 1 1 \rangle \mapsto | 1 \rangle U |1 \rangle = | 1 \rangle \left(x_{01} |0 \rangle + x_{11} |1 \rangle\right)$$

受控-$U$闸可以以矩阵代表如下：

$$\mbox{C}(U) = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & x_{00} & x_{01} \\ 0 & 0 & x_{10} & x_{11} \end{bmatrix}$$

### Toffoli闸（Toffoli gate）

<image>

Toffoli闸是一个操作三个量子位元的，对传统运算是完备的闸。量子的Toffoli闸是类同的闸，以三个量子位元定义。如果前两个量子位元是$|1\rangle$，则对第三个量子位元进行泡利-X运算，反之则不做操作。这是一个受控闸的范例。既然这个闸是一个传统逻辑闸的量子类比，因此它可以用一个真值表来完整表示如下：

INPUT｜OUTPUT

0｜0｜0｜0｜0｜0

0｜0｜1｜0｜0｜1

0｜1｜0｜0｜1｜0

0｜1｜1｜0｜1｜1

1｜0｜0｜1｜0｜0

1｜0｜1｜1｜0｜1

1｜1｜0｜1｜1｜1

1｜1｜1｜1｜1｜0

也可以将这个闸以像是$|a, b, c\rangle$ to $|a, b, c\oplus ab\rangle$的操作形容。

## 万能量子闸

较不正式地说，一个万能量子闸的集合，是一个任何量子线路均可以用这一些闸实做出来的集合。也就是说，任何其他的单位操作均可以从这个集合组合出一个有限长度的序列来表示。技术上来说，因为可能的量子闸数目是不可数的，而从有限大的集合取出的有限长度的序列则是可数的，所以不可能达成。为了解决这个问题，我们只要求这一个有限大小的集合可以组合出近似任何量子运算的序列。Solovay–Kitaev theorem保证这一件事情可以有效达成。

一个简单的，操作两个量子位元的闸，的万能量子闸集合是一个阿达马闸($H$)，一个相位偏移闸$R(\pi / 4)$，和一个受控反闸.

只有单一个量子闸的万能量子闸集合可以用一个操作三个量子位元的Deutsch闸$D(\theta)$建构出来，Deutsch闸它的操作如下：

$$|a,b,c\rangle \mapsto \begin{cases} i \cos(\theta) |a,b,c\rangle + \sin(\theta) |a,b,1-c\rangle & \mbox{for }a=b=1 \\ |a,b,c\rangle & \mbox{otherwise}\end{cases}$$

在传统逻辑线路里面的万用算子Toffoli闸可以被简化成一个Deutsch闸，$D(\begin{matrix} \frac{\pi}{2} \end{matrix})$，因此代表着所有传统逻辑线路的操作均可以由量子电脑模拟。

## 历史

现有量子闸的记号是Barenco et al.以费曼所提出的记号为基础发明的。

## 参阅

- 泡利矩阵
- 盖尔曼矩阵

## 外部链接

- List of QC simulators
- Chapter 2 Quantum Gates из C.P. Williams, «Explorations in Quantum Computing», Texts in Computer Science // Springer-Verlag, 2011, ISBN 978-1-84628-887-6, doi:10.1007/978-1-84628-887-6_2 стр 51-122
- Yoshihisa Yamamoto, Chapter 3 Quantum gates of «AP 226: Physics of Quantum Information», Lecture Notes // Stanford, Winter 2009
- Dieter Suter, Joachim Stolze, Chapter 5: Complete set of quantum gates (слайды) из Quantum Computing WS // Technischen Universität Dortmund 2009—2010
- Markus Schmassmann, // QSIT-Course, ETH Zürich, 17. Oktober 2007