65.9K
CodeProject 正在变化。 阅读更多。
Home

人人量子计算 - 第二部分:量子门

starIconstarIconstarIconstarIconstarIcon

5.00/5 (2投票s)

2018 年 6 月 16 日

CPOL

27分钟阅读

viewsIcon

23848

量子计算机门是什么,它们如何使用,以及它们对量子比特的影响的介绍。

第一部分:经典计算与量子计算 第三部分:量子电路与OpenQASM

目录

 

引言

在本系列文章的第一部分中,我们了解了量子计算机和经典计算机的区别,学习了什么是量子比特以及如何表示它。如果您还没有阅读第一部分,我强烈建议您在开始阅读本文之前先阅读。以下所有内容都建立在第一部分介绍的概念之上。

在这一部分,我们将了解如何使用各种*量子门*来操作量子比特。这些门是经典计算机中逻辑门的量子计算等价物。量子门改变一个或多个量子比特的状态,从而实现计算。我们将从更简单、更常见的门开始介绍量子门,然后逐步深入到不太常见、更通用的门。初学者最应该学习的门是恒等门、泡利-X/-Y/-Z、哈达玛门、CNOT门、SWAP门、Toffoli门、\(S\)\(S^\dagger\)\(T\)\(T^\dagger\)。我建议您首先掌握这些门,因为它们是最常见的,也是QX服务默认提供的门(不包括SWAP和Toffoli门)。

 

矩阵回顾

在讨论不同的量子门(也称为*操作*)及其功能之前,我们需要先回顾一些矩阵代数。这是必要的,因为要确定一个门操作量子比特后量子比特的状态,需要将表示量子比特初始状态的矩阵乘以门矩阵。

作用于单个量子比特的门由一个\(2 \times 2\)酉矩阵表示。酉矩阵意味着,如果您将矩阵与其(复数)共轭转置相乘,您将得到一个单位矩阵。这是什么意思?让我们一步一步地分解以使其清晰。

让我们从以下形式的矩阵开始:

$\begin{aligned} \begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix} \end{aligned}$

复数的共轭意味着改变虚部的符号。所以,如果您有一个复数\(a + ib\),它的共轭是\(a - ib\)。反之亦然。如果您有一个数\(a - ib\),它的共轭是\(a + ib\)

矩阵的转置是另一个通过交换行和列形成的矩阵。对于我们的矩阵

$\begin{aligned} \begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix} \end{aligned}$

转置将是

$\begin{aligned} \begin{pmatrix} 0 & i \\ -i & 0 \end{pmatrix} \end{aligned}$

现在,如果我们取这个矩阵的共轭(通过改变虚数符号),我们将得到以下矩阵

$\begin{aligned} \begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix} \end{aligned}$

在这种情况下,它恰好与原矩阵相同。

现在,单位矩阵是一个主对角线(从左上到右下)为\(1\),其他所有元素为\(0\)的矩阵。所以一个\(2 \times 2\)的单位矩阵将是

$\begin{aligned} \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} \end{aligned}$

总而言之,如果我们的原矩阵是酉矩阵,那么将其与其共轭转置相乘应该得到上面的单位矩阵。

$\begin{aligned} \begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix} \begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix} \end{aligned}$

结果矩阵是

$\begin{aligned} \begin{pmatrix} 0 * 0 + -i * i & 0 * i + -i * 0 \\ i * 0 + 0 * i & i * -i + 0 * 0 \end{pmatrix} = \begin{pmatrix} -i * i & 0 \\ 0 & i * -i \end{pmatrix} = \begin{pmatrix} -(-1) & 0 \\ 0 & -(-1) \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} \end{aligned}$

矩阵乘法

如果两个方阵,\(A\)\(B\),其中每个矩阵定义为

$\begin{aligned} A = \begin{pmatrix} a & b \\ c & d \end{pmatrix} B = \begin{pmatrix} e & f \\ g & h \end{pmatrix} \end{aligned}$

相乘,则结果矩阵\(C\)(即\(C = AB\))等于

$\begin{aligned} C = AB = \begin{pmatrix} ae + bg & af + bh \\ ce + dg & cf + dh \end{pmatrix} \end{aligned}$

由于结果矩阵是单位矩阵,我们证明了原矩阵确实是酉矩阵。实际上,这是一个特殊的矩阵,称为*泡利-Y门*。我们将在下一节中讨论这个门和其他门,但首先是一些关于符号的快速说明。

  • 如果一个矩阵写成\(U\),那么共轭转置写成\(U^\dagger\)
  • 单位矩阵通常写成\(I\)
  • 为了展示上述酉矩阵的矩阵乘法,我们可以写成\(U^{\dagger}U=I\)
  • 为了展示一个门作用在一个量子比特上,导致量子比特处于新状态,我们可以写成\(|\psi^{\prime}\rangle = U|\psi\rangle\),其中\(|\psi^{\prime}\rangle\)是门完成对量子比特的操作后量子比特的状态。

由于写出矩阵乘法可能很冗长,特别是当您开始使用三量子比特门(如Toffoli门)时,它们由\(8 \times 8\)矩阵表示,我提供了一个在线矩阵计算器的链接。有关此资源的更多信息以及指向该页面的链接,可以在参考资料部分找到。

 

量子门

量子门是量子电路的基本构建块,也是经典计算机中逻辑门的量子模拟。量子门有两个重要的特性需要记住:

  1. 量子门是*可逆的*,而许多经典逻辑门则不是。例如,您无法仅根据经典AND门的输出确定其输入是什么。然而,对于量子门,可以从输出中重构输入。
  2. 大多数量子门一次操作一个或两个量子比特,但*所有*量子门都由酉矩阵表示。如果一个门作用于\(n\)个量子比特,那么该门的矩阵是\(2^n \times 2^n\)的酉矩阵。

在本节中,在描述量子门如何改变量子比特的状态时,除非另有说明,否则假定量子比特初始处于基态(即\(|0\rangle\))。要确定量子比特在被门操作后状态如何变化,需要将量子比特当前状态的矩阵乘以作用于量子比特的门的矩阵。一个具体的例子在泡利-X门描述下给出,但对于所有门都一样,只是相乘的矩阵不同。

 

单量子比特门

恒等门

最简单的门称为恒等门。

$\begin{aligned} I = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} \end{aligned}$

此门不改变量子比特的状态,并输出输入的所有内容。例如,恒等门将\(|0\rangle\)映射到\(|0\rangle\),将\(|1\rangle\)映射到\(|1\rangle\)。它相当于NOP(无操作)。

泡利门

三个最常见的门称为泡利门。包括泡利-X门、泡利-Y门和泡利-Z门。这些门的矩阵如下:

$\begin{aligned} X = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} Y = \begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix} Z = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix} \end{aligned}$

我们稍后会看到,这三个门都是更通用的旋转门的特例。

泡利-X门 (NOT门)

我们将从描述泡利-X门开始。为了了解这个门如何改变量子比特的状态,以及为什么它有时被称为NOT门,我们将把起始量子比特的矩阵乘以泡利-X门矩阵(如上所述)。

$\begin{aligned} X|0\rangle = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}\begin{pmatrix} 1 \\ 0 \end{pmatrix} = \begin{pmatrix} 0 * 1 + 1 * 0 \\ 1 * 1 + 0 * 0 \end{pmatrix} = \begin{pmatrix} 0 \\ 1 \end{pmatrix} \end{aligned}$

应用泡利-X门的结果是将\(|0\rangle\)\(\begin{pmatrix} 1 \\ 0 \end{pmatrix}\))状态的量子比特改变为\(|1\rangle\)\(\begin{pmatrix} 0 \\ 1 \end{pmatrix}\))状态。也就是说,它将基态的量子比特变为激发态的量子比特。如果该门作用于处于激发态\(|1\rangle\)的量子比特,则结果状态将是基态\(|0\rangle\)。这就是为什么该门也称为NOT门(或位翻转门),因为它作用的方式与经典NOT门相同,即改变量子比特到其相反的状态。如果我们回忆一下布洛赫球

Bloch Sphere.svg
Glosser.ca - 原创作品CC BY-SA 3.0链接

X门在球体上绕X轴旋转\(\pi\)弧度,并具有\(X \longrightarrow X\)\(Z \longrightarrow -Z\)的性质。

泡利-Y门

泡利-Y门,顾名思义,在布洛赫球上绕Y轴旋转\(\pi\)弧度,并具有\(X \longrightarrow -X\)\(Z \longrightarrow -Z\)的性质。该门将\(|0\rangle\)映射到\(i|1\rangle\),将\(|1\rangle\)映射到\(-i|0\rangle\)。通过将量子比特矩阵乘以上面给出的泡利-Y门矩阵,可以轻松证明这一点。

 

 

 

泡利-Z门 (相位翻转门)

与泡利-X门和泡利-Y门一样,泡利-Z门作用于单个量子比特,并绕布洛赫球的Z轴旋转\(\pi\)弧度,并具有\(X \longrightarrow -X\)\(Z \longrightarrow Z\)的性质。

该门是相位移门的一个特例,其中\(\theta = \pi\),有时被称为相位翻转门。它不改变\(|0\rangle\)状态(即\(Z|0\rangle = |0\rangle\)),但它将\(|1\rangle\)映射到\(-|1\rangle\)

 

哈达玛门

另一个常见且重要的门是哈达玛门。这个门很重要,因为它用于将量子比特置于叠加态(即\(|0\rangle\)\(|1\rangle\)的混合),正如我们在本系列第一部分中所学到的,这是量子计算机获得强大能力的原因之一。哈达玛门的矩阵是:

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

该门相当于两次旋转:绕X轴旋转\(\pi\)弧度,然后绕Y轴旋转\(\frac{\pi}{2}\)弧度。这两次旋转也等同于绕\((\hat{x} + \hat{z}{)}/\sqrt{2}\)轴旋转\(\pi\)弧度。

为了了解哈达玛门如何改变量子比特的状态,我们可以将\(|0\rangle\)的矩阵乘以上面给出的哈达玛门矩阵。该操作的结果是\(\frac{|0\rangle + |1\rangle}{\sqrt{2}}\)。这也可以写成\(\frac{1}{\sqrt{2}}|0\rangle + \frac{1}{\sqrt{2}}|1\rangle\),其矩阵形式为:

$\begin{aligned} \begin{pmatrix} \frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} \end{pmatrix} \end{aligned}$

这意味着测量到\(|0\rangle\)状态或\(|1\rangle\)状态的概率是\(50%\)。我们在第一部分的**量子比特**部分解释了为什么是\(50/50\)。此外,如果您回顾第一部分中的**量子力学五大定律**侧边栏,您会注意到上述矩阵也称为\(|+\rangle\)状态。

如果哈达玛门作用于\(|1\rangle\)状态的量子比特,结果将是\(\frac{|0\rangle - |1\rangle}{\sqrt{2}}\)。这也称为\(|-\rangle\)状态。符号的差异(\(-\)而不是\(+\))表示相位差。然而,正如我们在第一部分**可视化量子比特**下提到的,相位因子本身没有物理意义。因此,哈达玛门作用于\(|1\rangle\)状态的量子比特,导致量子比特状态有等于\(|0\rangle\)\(|1\rangle\)的概率,与门作用于\(|0\rangle\)状态的量子比特时相同。

\(|0\rangle\)\(|1\rangle\)量子比特应用哈达玛门会将其置于一个测量为\(|0\rangle\)\(|1\rangle\)的概率相等的(即叠加)状态。然而,连续两次应用该门会将量子比特置于一个确定的状态,该状态是量子比特在第一次应用哈达玛门之前的状态。即:

$\begin{aligned} HH|0\rangle = |0\rangle \\ HH|1\rangle = |1\rangle \end{aligned}$

即使在两种情况下,在应用第一个门后,量子比特都处于叠加态。通过将量子比特的矩阵与哈达玛矩阵相乘,然后将结果矩阵与哈达玛矩阵相乘,可以轻松验证这一点。这是因为将量子门矩阵与其自身相乘会得到单位矩阵,而任何矩阵乘以单位矩阵都等于其本身(即,将矩阵乘以单位矩阵类似于将数字乘以一)。该门还具有\(X \longrightarrow Z\)\(Z \longrightarrow X\)的性质。

多量子比特门

仅作用于单个量子比特的门,虽然必要,但不足以执行计算。为此,需要操作多个量子比特的门。本节将介绍三个最常见的*多量子比特门*。

CNOT门

CNOT门是一个*受控*NOT门。该门作用于两个量子比特,并且仅当第一个量子比特为\(|1\rangle\)时,才对第二个量子比特执行NOT操作。控制量子比特由点表示,目标量子比特由带交叉的圆圈表示。左图中的控制量子比特是上面一行,目标量子比特是下面一行。

如本文量子门介绍部分所述,作用于\(n\)个量子比特的门由大小为\(2^n \times 2^n\)的矩阵表示。对于CNOT门,该矩阵是:

$\begin{aligned} CNOT = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{pmatrix} \end{aligned}$

CNOT门的真值表是:

 

以前 操作后
Control 目标 Control 目标
\(|0\rangle\) \(|0\rangle\) \(|0\rangle\) \(|0\rangle\)
\(|0\rangle\) \(|1\rangle\) \(|0\rangle\) \(|1\rangle\)
\(|1\rangle\) \(|0\rangle\) \(|1\rangle\) \(|1\rangle\)
\(|1\rangle\) \(|1\rangle\) \(|1\rangle\) \(|0\rangle\)

 

从这个真值表可以看出,目标量子比特的最终状态是经典XOR门的模拟。当两个输入相同时,目标量子比特为\(|0\rangle\),但当输入不同时,目标量子比特为\(|1\rangle\)。当控制量子比特固定为\(|0\rangle\)\(|1\rangle\)时,目标量子比特的最终状态分别等同于应用恒等门或泡利-X(NOT)门。

正如我们所知,量子比特也可以处于叠加态,而不是确定的\(|0\rangle\)\(|1\rangle\)状态。如果我们有一个处于叠加态的量子状态,表示为\(a|00\rangle + b|01\rangle + c|10\rangle + d|11\rangle\),那么应用CNOT门将得到表示为\(a|00\rangle + b|01\rangle + c|11\rangle + d|10\rangle\)的叠加状态。

SWAP门

SWAP门的作用正如其名称所示。它交换两个量子比特。这意味着当将SWAP门应用于两个量子比特时,结果状态是:

$\begin{aligned} |00\rangle \mapsto |00\rangle \\ |01\rangle \mapsto |10\rangle \\ |10\rangle \mapsto |01\rangle \\ |11\rangle \mapsto |00\rangle \\ \end{aligned}$

SWAP门的矩阵是:

$\begin{aligned} CNOT = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix} \end{aligned}$

要将此门应用于两个量子比特,我们需要扩展量子比特矩阵以容纳两个量子比特。例如,对于处于\(|0\rangle\)状态的单个量子比特,矩阵是\(\begin{pmatrix} 1 \\ 0 \end{pmatrix}\)。然而,两个量子比特都处于基态\(|00\rangle\),矩阵是:

$\begin{aligned} |00\rangle = \begin{pmatrix} 1 \\ 0 \\ 0 \\ 0 \end{pmatrix} \end{aligned}$

两个量子比特的四种可能状态组合也由\(4 \times 1\)矩阵表示。这些矩阵是:

$\begin{aligned} |00\rangle = \begin{pmatrix} 1 \\ 0 \\ 0 \\ 0 \end{pmatrix} |01\rangle = \begin{pmatrix} 0 \\ 1 \\ 0 \\ 0 \end{pmatrix} |10\rangle = \begin{pmatrix} 0 \\ 0 \\ 1 \\ 0 \end{pmatrix} |11\rangle = \begin{pmatrix} 0 \\ 0 \\ 0 \\ 1 \end{pmatrix} \end{aligned}$

使用这些矩阵,我们现在可以进行乘法运算,以查看矩阵(以及因此的量子比特状态)是如何改变的。下面是两个例子,一个是在\(|11\rangle\)状态上操作的SWAP门,另一个是在\(|01\rangle\)状态上操作的SWAP门。

我们将从\(|11\rangle\)状态开始,该状态在SWAP门操作后应该保持不变。

$\begin{aligned} SWAP|11\rangle = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} 0 \\ 0 \\ 0 \\ 1 \end{pmatrix} = \begin{pmatrix} 1*0+0*0+0*0+0*1 \\ 0*0+0*0+1*0+0*1 \\ 0*0+1*0+0*0+0*1 \\ 0*0+0*0+0*0+1*1 \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \\ 0 \\ 1 \end{pmatrix} = |11\rangle \end{aligned}$

如您所见,SWAP门作用于\(|11\rangle\)状态的结果是\(|11\rangle\),这正是我们所期望的。现在让我们看看当SWAP门作用于\(|01\rangle\)状态时会发生什么。最终状态应该是代表\(|10\rangle\)状态的矩阵。

$\begin{aligned} SWAP|01\rangle = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} 0 \\ 1 \\ 0 \\ 0 \end{pmatrix} = \begin{pmatrix} 1*0+0*1+0*0+0*0 \\ 0*0+0*1+1*0+0*0 \\ 0*0+1*1+0*0+0*0 \\ 0*0+0*1+0*0+1*0 \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \\ 1 \\ 0 \end{pmatrix} = |10\rangle \end{aligned}$

同样,我们得到了预期的结果;两个量子比特状态已被交换。

Toffoli门 (CCNOT)

Toffoli门也称为*CCNOT*,它是我们看到的第一个作用于三个量子比特的门。该门类似于CNOT门;当*两个*控制量子比特都处于\(|1\rangle\)状态时,该门对第三个量子比特应用泡利-X(NOT)门。该门的矩阵是:

$\begin{aligned} CNOT = \begin{pmatrix} 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \end{pmatrix} \end{aligned}$

Toffoli(CCNOT)门的真值表是:

 

以前 操作后
控制位 1 控制位 2 目标 控制位 1 控制位 2 目标
\(|0\rangle\) \(|0\rangle\) \(|0\rangle\) \(|0\rangle\) \(|0\rangle\) \(|0\rangle\)
\(|0\rangle\) \(|0\rangle\) \(|1\rangle\) \(|0\rangle\) \(|0\rangle\) \(|1\rangle\)
\(|0\rangle\) \(|1\rangle\) \(|0\rangle\) \(|0\rangle\) \(|1\rangle\) \(|0\rangle\)
\(|0\rangle\) \(|1\rangle\) \(|1\rangle\) \(|0\rangle\) \(|1\rangle\) \(|1\rangle\)
\(|1\rangle\) \(|0\rangle\) \(|0\rangle\) \(|1\rangle\) \(|0\rangle\) \(|0\rangle\)
\(|1\rangle\) \(|0\rangle\) \(|1\rangle\) \(|1\rangle\) \(|0\rangle\) \(|1\rangle\)
\(|1\rangle\) \(|1\rangle\) \(|0\rangle\) \(|1\rangle\) \(|1\rangle\) \(|1\rangle\)
\(|1\rangle\) \(|1\rangle\) \(|1\rangle\) \(|1\rangle\) \(|1\rangle\) \(|0\rangle\)

其他门

本节中的所有门都比前面介绍的门更高级。这是因为这些门执行更复杂的旋转(如在布洛赫球上可视化所示),其中一些门(例如旋转门)执行任意角度的旋转。QX服务仅提供本节中的\(S\)\(S^\dagger\)\(T\)\(T^\dagger\)门。其他门(例如Fredkin门、\(\sqrt{SWAP}\)门等)在此提供作为参考。但是,您不必了解/理解所有这些门就能使用QX服务或构建简单的量子电路。可以使用前面讨论过的门来完成。因此,与我们已经看到的门相比,对这些门的详细介绍会少得多,但如果您想进一步研究这些门,可以在参考资料部分找到链接。

相位门

本节介绍的四种门都是相位门,意味着它们绕Z轴进行旋转。当量子比特处于\(|0\rangle\)\(|1\rangle\)状态时,绕Z轴的旋转效果不大。然而,当量子比特处于\(|+\rangle\)状态时,绕Z轴的旋转会将状态从\(|+\rangle\)翻转到\(|-\rangle\)。我们将通过展示它们各自的矩阵以及每个门执行的绕Z轴的旋转角度来简要介绍这四种门。

\(S\)门 - \(\sqrt{Z}\)

\(S\)门绕Z轴执行\(\frac{\pi}{2}\)的旋转。该门扩展了\(H\)门以创建复数叠加,并具有\(X \longrightarrow Y\)\(Z \longrightarrow Z\)的性质。该门的矩阵是:

$\begin{aligned} S = \begin{pmatrix} 1 & 0 \\ 0 & i \end{pmatrix} \end{aligned}$

从这个矩阵可以看出,为什么该门也称为\(\sqrt{Z}\)。如果我们自己将\(S\)的矩阵与其自身相乘,我们将得到\(Z\)门的矩阵(\(S^2 = Z\))。

$\begin{aligned} S^2 = \begin{pmatrix} 1 & 0 \\ 0 & i \end{pmatrix} \begin{pmatrix} 1 & 0 \\ 0 & i \end{pmatrix} = \begin{pmatrix} 1*1+0*0 & 1*0+0*i \\ 0*1+i*0 & 0*0+i*i \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & \sqrt{-1}^2 \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix} \end{aligned}$
\(S^\dagger\)门 - \(\sqrt{Z}^\dagger\)

该门是\(S\)门的共轭转置,并具有\(X \longrightarrow -Y\)\(Z \longrightarrow Z\)的性质。执行的旋转与\(S\)门相反,绕Z轴旋转\(-\frac{\pi}{2}\)。矩阵与\(S\)门相同,只是复数符号相反(因为它是\(S\)门的复共轭)。

$\begin{aligned} S = \begin{pmatrix} 1 & 0 \\ 0 & i \end{pmatrix} \end{aligned}$

另外,由于这些门是相反的,将它们一个接一个地应用会恢复原始状态。即:

$\begin{aligned} SS^\dagger|0\rangle = |0\rangle \\ SS^\dagger|1\rangle = |1\rangle \\ \end{aligned}$
\(T\)门 - \(\sqrt{S}\)

\(T\)门绕Z轴执行\(\frac{\pi}{4}\)的旋转。该门的矩阵是:

$\begin{aligned} T = \begin{pmatrix} 1 & 0 \\ 0 & \frac{1+i}{\sqrt{2}} \end{pmatrix} \end{aligned}$

\(S\)门类似,\(T\)门相当于\(\sqrt{S}\)。我们可以通过将\(T\)门的矩阵与其自身相乘来验证这一点。

$\begin{aligned} T^2 = \begin{pmatrix} 1 & 0 \\ 0 & \frac{1+i}{\sqrt{2}} \end{pmatrix} \begin{pmatrix} 1 & 0 \\ 0 & \frac{1+i}{\sqrt{2}} \end{pmatrix} = \begin{pmatrix} 1*1+0*0 & 1*0+0*\frac{1+i}{\sqrt{2}} \\ 0*1+\frac{1+i}{\sqrt{2}}*0 & 0*0+\frac{1+i}{\sqrt{2}}*\frac{1+i}{\sqrt{2}} \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & (\frac{1+i}{\sqrt{2}})^2 \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & i \end{pmatrix} \end{aligned}$

代数回顾

$\begin{aligned} (\frac{1+i}{\sqrt{2}})^2 = \frac{(1+i)(1+i)}{\sqrt{2}\sqrt{2}} = \frac{2i}{2} = i \end{aligned}$

可以使用FOIL方法(**F**irst, **O**uter, **I**nner, **L**ast)简化分数的分子。

$\begin{aligned} (1+i)(1+i) = 1*1 + 1*i + i*1 + i*i = 1 + 2i +i^2 = 1 + 2i + \sqrt(-1)^2 = 1 + 2i - 1 = 2i \end{aligned}$
\(T^\dagger\)门 - \(\sqrt{S}^\dagger\)

该门是\(T\)门的共轭转置,并且绕Z轴执行的旋转与\(T\)门相反——\(-\frac{\pi}{4}\)。同样,与\(S^\dagger\)门一样,将\(T\)\(T^\dagger\)门一个接一个地应用,会使被操作的量子比特恢复到其初始状态。

$\begin{aligned} TT^\dagger|0\rangle = |0\rangle \\ TT^\dagger|1\rangle = |1\rangle \\ \end{aligned}$

Fredkin门 (CSWAP)

Fredkin门是一个三量子比特门,类似于CNOT门,但是它不对目标量子比特应用NOT操作(当两个控制量子比特都处于\(|1\rangle\)状态时),而是对目标量子比特应用SWAP操作。这就是为什么您有时会看到该门被称为CSWAP(受控SWAP)门。该门的矩阵是:

$\begin{aligned} Fredkin = \begin{pmatrix} 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \end{pmatrix} \end{aligned}$

Fredkin(CSWAP)门的真值表是:

 

以前 操作后
Control 目标 1 目标 2 Control 目标 1 目标 2
\(|0\rangle\) \(|0\rangle\) \(|0\rangle\) \(|0\rangle\) \(|0\rangle\) \(|0\rangle\)
\(|0\rangle\) \(|0\rangle\) \(|1\rangle\) \(|0\rangle\) \(|0\rangle\) \(|1\rangle\)
\(|0\rangle\) \(|1\rangle\) \(|0\rangle\) \(|0\rangle\) \(|1\rangle\) \(|0\rangle\)
\(|0\rangle\) \(|1\rangle\) \(|1\rangle\) \(|0\rangle\) \(|1\rangle\) \(|1\rangle\)
\(|1\rangle\) \(|0\rangle\) \(|0\rangle\) \(|1\rangle\) \(|0\rangle\) \(|0\rangle\)
\(|1\rangle\) \(|0\rangle\) \(|1\rangle\) \(|1\rangle\) \(|1\rangle\) \(|0\rangle\)
\(|1\rangle\) \(|1\rangle\) \(|0\rangle\) \(|1\rangle\) \(|0\rangle\) \(|1\rangle\)
\(|1\rangle\) \(|1\rangle\) \(|1\rangle\) \(|1\rangle\) \(|1\rangle\) \(|1\rangle\)

\(\sqrt{NOT}\)门

该门作用于单个量子比特,其矩阵表示为:

$\begin{aligned} \sqrt{NOT} = \frac{1}{2}\begin{pmatrix} 1+i & 1-i \\ 1-i & 1+i \end{pmatrix} \end{aligned}$

顾名思义,连续两次应用\(\sqrt{NOT}\)门作用于一个量子比特等同于应用一次\(NOT\)门(即泡利-X)——\(\sqrt{NOT}\sqrt{NOT}=NOT\)

可以通过将\(\sqrt{NOT}\)门矩阵与其自身相乘来证明这一点。

 

$\begin{aligned} \sqrt{NOT}\sqrt{NOT} = \begin{pmatrix} \frac{1+i}{2} & \frac{1-i}{2} \\ \frac{1-i}{2} & \frac{1+i}{2} \end{pmatrix} \begin{pmatrix} \frac{1+i}{2} & \frac{1-i}{2} \\ \frac{1-i}{2} & \frac{1+i}{2} \end{pmatrix} = \begin{pmatrix} \frac{1+i}{2}*\frac{1+i}{2} + \frac{1-i}{2}*\frac{1-i}{2} & \frac{1+i}{2}*\frac{1-i}{2} + \frac{1-i}{2}*\frac{1+i}{2} \\ \frac{1-i}{2}*\frac{1+i}{2} + \frac{1+i}{2}*\frac{1-i}{2} & \frac{1-i}{2}*\frac{1-i}{2} + \frac{1+i}{2}*\frac{1+i}{2} \end{pmatrix} = \begin{pmatrix} \frac{i}{2}-\frac{i}{2} & \frac{1}{2}+\frac{1}{2} \\ \frac{1}{2}+\frac{1}{2} & -\frac{i}{2}+\frac{i}{2} \end{pmatrix} = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} \end{aligned}$

最终矩阵确实与泡利-X(NOT)门相同。

\(\sqrt{SWAP}\)门

该门作用于两个量子比特,其矩阵表示为:

$\begin{aligned} \sqrt{SWAP} = \frac{1}{2}\begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & \frac{1}{2}(1+i) & \frac{1}{2}(1-i) & 0 \\ 0 & \frac{1}{2}(1-i) & \frac{1}{2}(1+i) & 0 \\ 0 & 0 & 0 & 1\end{pmatrix} \end{aligned}$

\(\sqrt{NOT}\)门类似,如果我们自己将\(\sqrt{SWAP}\)门矩阵与其自身相乘,我们将得到SWAP门的矩阵(即\(\sqrt{SWAP}\sqrt{SWAP}=SWAP\))。证明该结果与SWAP门相同的矩阵并不难,但会占用大量空间,因此我们在此不展示。但是,您可以按照与\(\sqrt{NOT}\)门相同的步骤,使用\(\sqrt{SWAP}\)门矩阵自行推导。

旋转门

旋转门正是它们名称所示的功能——它们以特定角度绕特定轴旋转量子比特。

X轴旋转门

X轴旋转门是绕Y轴和Z轴旋转的组合。该门以Y和Z旋转表示为:

$\begin{aligned} R_x(\theta) = R_z\left(\frac{\pi}{2}\right) \cdot R_y(\theta) \cdot R_z\left(-\frac{\pi}{2}\right) \end{aligned}$

X轴旋转门也可以表示为以下门矩阵:

$\begin{aligned} R_x(\theta) = \begin{pmatrix} \cos\left(\frac{\theta}{2}\right) & i\sin\left(\frac{\theta}{2}\right) \\ -i\sin\left(\frac{\theta}{2}\right) & \cos\left(\frac{\theta}{2}\right)\end{pmatrix} \end{aligned}$
Y轴旋转门

Y轴旋转门的矩阵是:

$\begin{aligned} R_y(\theta) = \begin{pmatrix} \cos\left(\frac{\theta}{2}\right) & \sin\left(\frac{\theta}{2}\right) \\ -\sin\left(\frac{\theta}{2}\right) & \cos\left(\frac{\theta}{2}\right)\end{pmatrix} \end{aligned}$
Z轴旋转门

Z轴旋转门的矩阵是:

$\begin{aligned} R_z(\alpha) = \begin{pmatrix} e^{i\alpha/2} & 0 \\ 0 & e^{-i\alpha/2}\end{pmatrix} \end{aligned}$

 

结论

本部分详细介绍了最常见和一些不常见的量子门,以及它们的矩阵表示以及量子比特在门应用后如何受到影响。利用这些信息,我们可以开始构建量子电路,用于解决整数分解等问题。下一部分,第三部分 - 量子电路与OpenQASM,将介绍量子电路以及一种专门用于描述它们的编程语言。

 

参考文献

以下是更多信息的链接列表。其中大部分(如果不是全部)都包含在文章中,但此处也包含以方便查阅。

 

历史

2017年6月26日:第一个版本

 

第一部分:经典计算与量子计算 第三部分:量子电路与OpenQASM
© . All rights reserved.