量子门电路
目录
1 量子门 2
1.1 泡利门 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Hadamard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 CNOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 量子电路 3
2.1 Bell 态的制备 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 bell 测量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 量子隐形传态 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4 远程 CNOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5 交换门 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1
1 量子门
1.1 泡利门
泡利门是一类单量子比特门, 分为四种: 𝑋, 𝑌, 𝑍, 𝐼. 其中 𝐼 为恒等门, 改变量子比特的状态. 其他三种门
的作用如下
1. 𝑋 : 将量子比特沿着 𝑥 轴旋转 𝜋
2. 𝑌 : 将量子比特沿着 𝑦 轴旋转 𝜋
3. 𝑍 : 将量子比特沿着 𝑧 轴旋转 𝜋
注意此处的旋转是在布洛赫球上的旋转, 而不是在空间中的旋转. 此处的 x,y,z 轴是布洛赫球上的坐标轴,
而不是空间中的坐标轴
𝑋 类似于非门,
|
0
变为
|
1
,
|
1
变为
|
0
. 其矩阵形式为
𝑋 =
0 1
1 0
𝑌 门和 𝑍 门的矩阵形式分别为
𝑌 =
0 𝑖
𝑖 0
, 𝑍 =
1 0
0 1
对于单个量子比特而言, 多个泡利门的作用顺序不影响最终的结果. 这样的矩阵相乘再交换将会相差一个
符号, 即全局相位, 不影响测量结果
1.2 Hadamard
Hadamard 门是一个单量子比特门, 它对
|
0
|
1
的作用如下
𝐻
|
0
=
1
2
(
|
0
+
|
1
)
𝐻
|
1
=
1
2
(
|
0
|
1
)
Hadamard 门写为矩阵形式
𝐻 =
1
2
1 1
1 1
叠加态也可以被 Hadamard 门作用,
1
2
(
|
0
+
|
1
) 可以写为向量
1
2
1
1
作用 Hadamard 门后得到
1
2
1 1
1 1
1
2
1
1
=
1
0
它将有 100% 的概率测量为
|
0
实际上,
|
0
|
1
组合表示的量子比特写为另一种形式
|
+
=
1
2
(
|
0
+
|
1
)
|
=
1
2
(
|
0
|
1
)
这两个态也可以作为基矢表示量子态.Hadamard 门的作用就是将
|
0
|
1
转化为
|
+
|
, 反之亦然
Hadamard 门在量子电路中写为 (图源 https://zhuanlan.zhihu.com/p/189145265)
1.3 CNOT
CNOT 门是两量特门, 两个特分比特比特.CNOT 量子写为 (
https://tensorcircuit.readthedocs.io/zh/latest/textbook/chap3.html)
其中 𝑞
1
为控制比特,𝑞
2
为目标比特. 控制比特为
|
1
, 目标比特翻转;
|
0
, 目标比特保持不变
2 量子电路
2.1 Bell 态的制备
Bell 态的制备电路由 Hadamard 门和 CNOT 门组成
若要制备 Bell
|
Φ
+
=
1
2
(
|
00
+
|
11
)
可以使用电路
分析: 不妨设上面的比特为 𝐴, 下面的比特为 𝐵, 在初始时系统的状态为
|
00
=
|
0
𝐴
|
0
𝐵
首先对 𝐴 比特作用 Hadamard , 得到
1
2
(
|
0
𝐴
+
|
1
𝐴
)
|
0
𝐵
=
1
2
(
|
00
+
|
10
)
𝐴 为控制比特,
|
00
|
00
,
|
10
|
11
, 得到
1
2
(
|
00
+
|
11
)
也就是 Bell
|
Φ
+
若要制备 Bell
|
Φ
=
1
2
(
|
00
|
11
)
只需要在上面的电路中 𝐵 比特的 CNOT 门后加一个 𝑍 门即可. 𝐵 比特的相位翻转, 即可由
|
Φ
+
得到
|
Φ
若要制备 Bell
|
Ψ
+
=
1
2
(
|
01
+
|
10
)
只需要在上面的电路中 𝐵 比特的 CNOT 门后加一个 𝑋 门即可. 𝐵 比特翻转, 即可由
|
Φ
+
得到
|
Ψ
+
若要制备 Bell
|
Ψ
=
1
2
(
|
01
|
10
)
只需要在上面的电路中 𝐵 比特的 CNOT 门后加一个 𝑋 门和一个 𝑍 门即可. 𝐵 特翻转并相位翻转,
即可由
|
Φ
+
得到
|
Ψ
2.2 bell 测量
Bell 态的测量电路正是制备电路反过来
分析: 不妨设上面的比特为 𝐴, 下面的比特为 𝐵. 若输入的是
|
Φ
+
,
|
Φ
+
=
1
2
(
|
00
+
|
11
)
则经过 CNOT 门后得到
1
2
(
|
00
+
|
10
)
再经过 𝐴 比特的 Hadamard 门得到
1
2
1
2
(
|
0
𝐴
+
|
1
𝐴
)
|
0
𝐵
+
1
2
(
|
0
𝐴
|
1
𝐴
)
|
1
𝐵
=
|
00
若输入的是
|
Φ
,
|
Φ
=
1
2
(
|
00
|
11
)
则经过 CNOT 门后得到
1
2
(
|
00
|
10
)
再经过 𝐴 比特的 Hadamard 门得到
1
2
1
2
(
|
0
𝐴
+
|
1
𝐴
)
|
0
𝐵
1
2
(
|
0
𝐴
|
1
𝐴
)
|
0
𝐵
=
|
10
若输入的是
|
Ψ
+
,
|
Ψ
+
=
1
2
(
|
01
+
|
10
)
则经过 CNOT 门后得到
1
2
(
|
01
+
|
11
)
再经过 𝐴 比特的 Hadamard 门得到
1
2
1
2
(
|
0
𝐴
+
|
1
𝐴
)
|
1
𝐵
+
1
2
(
|
0
𝐴
|
1
𝐴
)
|
1
𝐵
=
|
01
若输入的是
|
Ψ
,
|
Ψ
=
1
2
(
|
01
|
10
)
则经过 CNOT 门后得到
1
2
(
|
01
|
11
)
再经过 𝐴 比特的 Hadamard 门得到
1
2
1
2
(
|
0
𝐴
+
|
1
𝐴
)
|
1
𝐵
1
2
(
|
0
𝐴
|
1
𝐴
)
|
1
𝐵
=
|
11
2.3 量子隐形传态
量子隐形传态可以在不传递粒子的情况下传递量子信息. 其过程如下
初态: 系统有三个量子比特
Alice 有一个量子比特 𝐴, 这是要传递的量子信息
Alice Bob 各有一个量子比特 𝐵 𝐶, 它们处于 Bell
|
Φ
+
|
Φ
+
𝐵𝐶
=
1
2
(
|
00
𝐵𝐶
+
|
11
𝐵𝐶
)
贝尔测量: 𝐴 𝐵 比特进行贝尔测量. 为了表述测量结果, 假定 A 的量子态为
|
𝜓
= 𝛼
|
0
+ 𝛽
|
1
那么整个系统的态为
|
𝜓
𝐴𝐵𝐶
=
|
𝜓
𝐴
|
Φ
+
𝐵𝐶
=
1
2
(𝛼
|
000
+ 𝛼
|
011
+ 𝛽
|
100
+ 𝛽
|
111
)
进行贝尔测量需要对 AB 比特进行 CNOT 操作, 控制比特为 A, 目标比特为 B, 量子态变为
1
2
(𝛼
|
000
+ 𝛼
|
011
+ 𝛽
|
110
+ 𝛽
|
101
)
然后对 A 比特进行 Hadamard 操作, 得到
|
𝜓
𝐴𝐵𝐶
=
1
2
[
𝛼(
|
0
+
|
1
)
|
00
𝐵𝐶
+ 𝛼(
|
0
|
1
)
|
11
𝐵𝐶
+ 𝛽(
|
0
+
|
1
)
|
10
𝐵𝐶
+ 𝛽(
|
0
|
1
)
|
01
𝐵𝐶
]
=
1
2
|
0
𝐴
[
𝛼(
|
0
+
|
1
)
|
0
𝐵
+ 𝛽(
|
0
|
1
)
|
1
𝐵
]
+
1
2
|
1
𝐴
[
𝛼(
|
0
|
1
)
|
0
𝐵
+ 𝛽(
|
0
+
|
1
)
|
1
𝐵
]
=
1
2
[|
00
𝐴𝐵
(𝛼
|
0
+ 𝛽
|
1
) +
|
10
𝐴𝐵
(𝛽
|
0
+ 𝛼
|
1
) +
|
01
𝐴𝐵
(𝛼
|
0
𝛽
|
1
) +
|
11
𝐴𝐵
(𝛽
|
0
𝛼
|
1
)
]
测量: 此时对 AB 比特进行测量, 将会有四种情况
若测量结果为
|
00
, 𝐶 比特的状态为 𝛼
|
0
+ 𝛽
|
1
若测量结果为
|
10
, 𝐶 比特的状态为 𝛽
|
0
+ 𝛼
|
1
若测量结果为
|
01
, 𝐶 比特的状态为 𝛼
|
0
𝛽
|
1
若测量结果为
|
11
, 𝐶 比特的状态为 𝛽
|
0
𝛼
|
1
已经和原始的 𝐴 比特状态非常相近了! 对应做四种操作
若测量结果为
|
00
, 则不做任何操作
若测量结果为
|
10
, 则对 𝐶 比特做 𝑋 门操作
若测量结果为
|
01
, 则对 𝐶 比特做 𝑍 门操作
若测量结果为
|
11
, 则对 𝐶 比特做 𝑋 门和 𝑍 门操作
即可得到 𝐶 比特的态
𝛼
|
0
+ 𝛽
|
1
这正是原来的 𝐴 比特的态
2.4 远程 CNOT
远程 CNOT 门可以利用纠缠实现空间上分离的两个量子比特之间进行 CNOT 操作. 其过程如下
初态
:
系统有四个量子比特
,
两个
Alice
的量子比特
𝐴
1
, 𝐴
2
,
两个
Bob
的量子比特
𝐵
1
, 𝐵
2
.
其中
𝐴
1
, 𝐵
1
Bell
|
Φ
+
𝐴
1
𝐵
1
=
1
2
(
|
00
𝐴
1
𝐵
1
+
|
11
𝐴
1
𝐵
1
)
为了方便表述, 假设 𝐴
2
𝐵
2
的量子态分别为
|
𝜓
𝐴
2
= 𝛼
|
0
+ 𝛽
|
1
,
|
𝜙
𝐵
2
= 𝛾
|
0
+ 𝛿
|
1
那么整个系统的态为 (省略系数)
|
𝜓
𝐴
1
𝐴
2
𝐵
1
𝐵
2
= (𝛼
|
0
+ 𝛽
|
1
)
𝐴
2
(
|
00
+
|
11
)
𝐴
1
𝐵
1
(𝛾
|
0
+ 𝛿
|
1
)
𝐵
2
Alice 操作: 𝐴
1
𝐴
2
比特进行 CNOT 操作, 𝐴
2
为控制比特,𝐴
1
为目标比特, 得到
|
𝜓
𝐴
1
𝐴
2
𝐵
1
= 𝛼
|
0
𝐴
2
(
|
00
𝐴
1
𝐵
1
+
|
11
𝐴
1
𝐵
1
) + 𝛽
|
1
𝐴
2
(
|
10
𝐴
1
𝐵
1
+
|
01
𝐴
1
𝐵
1
)
=
|
0
𝐴
1
𝛼
|
00
𝐴
2
𝐵
1
+ 𝛽
|
11
𝐴
2
𝐵
1
+
|
1
𝐴
1
𝛼
|
10
𝐴
2
𝐵
1
+ 𝛽
|
01
𝐴
2
𝐵
1
𝐴
1
比特进行测量, 得到
若测量结果为
|
0
, 𝐴
2
𝐵
1
比特的状态为 𝛼
|
00
+ 𝛽
|
11
若测量结果为
|
1
, 𝐴
2
𝐵
1
比特的状态为 𝛼
|
10
+ 𝛽
|
01
Alice 将测量结果发送给 Bob, 根据测量结果,Bob 𝐵
1
进行操作
若测量结果为
|
0
, 则不做任何操作
若测量结果为
|
1
, 则对 𝐵
1
比特做 𝑋 门操作
这样一来, 得到 𝐴
2
𝐵
1
比特的状态
若测量结果为
|
0
, 𝐴
2
𝐵
1
比特的状态为 𝛼
|
00
+ 𝛽
|
11
若测量结果为
|
1
, 𝐴
2
𝐵
1
比特的状态为 𝛼
|
11
+ 𝛽
|
00
不难发现, 测量结果为
|
0
|
1
区别仅在于 𝛼 𝛽 互换了一下. 不妨假设测量结果为
|
0
, 则整个系统的
态为
|
𝜓
𝐴
2
𝐵
1
𝐵
2
= (𝛼
|
00
+ 𝛽
|
11
)
𝐴
2
𝐵
1
(𝛾
|
0
+ 𝛿
|
1
)
𝐵
2
Bob 操作: 𝐵
1
𝐵
2
比特进行 CNOT 操作. 𝐵
1
为控制比特,𝐵
2
为目标比特, 得到
|
𝜓
𝐴
2
𝐵
1
𝐵
2
= 𝛼
|
00
𝐴
2
𝐵
1
(𝛾
|
0
+ 𝛿
|
1
)
𝐵
2
+ 𝛽
|
11
𝐴
2
𝐵
1
(𝛿
|
0
+ 𝛾
|
1
)
𝐵
2
=
|
0
𝐵
1
(𝛼𝛾
|
00
+ 𝛼𝛿
|
01
) +
|
1
𝐵
1
(𝛽𝛿
|
10
+ 𝛽𝛾
|
11
)
然后 Bob 𝐵
1
进行 Hadamard 操作, 得到
|
𝜓
𝐴
2
𝐵
1
𝐵
2
= (
|
0
+
|
1
)
𝐵
1
(𝛼𝛾
|
00
+ 𝛼𝛿
|
01
) + (
|
0
|
1
)
𝐵
1
(𝛽𝛿
|
10
+ 𝛽𝛾
|
11
)
=
|
0
𝐵
1
(𝛼𝛾
|
00
+ 𝛼𝛿
|
01
+ 𝛽𝛿
|
10
+ 𝛽𝛾
|
11
) +
|
1
𝐵
1
(𝛼𝛾
|
00
+ 𝛼𝛿
|
01
𝛽𝛿
|
10
𝛽𝛾
|
11
)
=
|
0
𝐵
1
(𝛼
|
0
𝐴
2
(𝛾
|
0
+ 𝛿
|
1
)
𝐵
2
+ 𝛽
|
1
𝐴
2
(𝛿
|
0
+ 𝛾
|
1
)
𝐵
2
)
+
|
1
𝐵
1
(𝛼
|
0
𝐴
2
(𝛾
|
0
+ 𝛿
|
1
)
𝐵
2
𝛽
|
1
𝐴
2
(𝛿
|
0
+ 𝛾
|
1
)
𝐵
2
)
随后对 𝐵
1
进行测量, 得到
若测量结果为
|
0
, 𝐴
2
𝐵
2
比特的状态为
𝛼
|
0
𝐴
2
(𝛾
|
0
+ 𝛿
|
1
)
𝐵
2
+ 𝛽
|
1
𝐴
2
(𝛿
|
0
+ 𝛾
|
1
)
𝐵
2
若测量结果为
|
1
, 𝐴
2
𝐵
2
比特的状态为
𝛼
|
0
𝐴
2
(𝛾
|
0
+ 𝛿
|
1
)
𝐵
2
𝛽
|
1
𝐴
2
(𝛿
|
0
+ 𝛾
|
1
)
𝐵
2
Bob 将测量结果发送给 Alice, 根据测量结果,Alice 𝐴
2
进行操作
若测量结果为
|
0
, 则不做任何操作
若测量结果为
|
1
, 则对 𝐴
2
比特做 𝑍 门操作, 即将 𝐴
2
比特的相位翻转
这样一来, 得到 𝐴
2
𝐵
2
比特的状态就变为
𝛼
|
0
𝐴
2
(𝛾
|
0
+ 𝛿
|
1
)
𝐵
2
+ 𝛽
|
1
𝐴
2
(𝛿
|
0
+ 𝛾
|
1
)
𝐵
2
显然, 𝐴
2
|
0
时对应 𝐵
2
的态不变,𝐴
2
|
1
时对应 𝐵
2
的态与原来的相反. 𝐴
1
的测量结果为
|
1
,
只是将 𝛼 𝛽 互换一下,𝐵
2
的态不受影响. 这样就实现了远程 CNOT
2.5 交换门
交换门是一个两量子比特门, 它将两个量子比特的状态交换. 其实现如下
假定有两个量子比特 𝐴, 𝐵, 初始时的状态为
|
𝜓
𝐴
= 𝛼
|
0
+ 𝛽
|
1
,
|
𝜓
𝐵
= 𝛾
|
0
+ 𝛿
|
1
那么系统的状态为
|
𝜓
𝐴𝐵
= (𝛼
|
0
+ 𝛽
|
1
)
𝐴
(𝛾
|
0
+ 𝛿
|
1
)
𝐵
= 𝛼𝛾
|
00
𝐴𝐵
+ 𝛼𝛿
|
01
𝐴𝐵
+ 𝛽𝛾
|
10
𝐴𝐵
+ 𝛽𝛿
|
11
𝐴𝐵
首先以 𝐴 为控制比特,𝐵 为目标比特, 进行 CNOT 操作, 得到
𝜓
𝐴𝐵
= 𝛼𝛾
|
00
𝐴𝐵
+ 𝛼𝛿
|
01
𝐴𝐵
+ 𝛽𝛾
|
11
𝐴𝐵
+ 𝛽𝛿
|
10
𝐴𝐵
再以 𝐵 为控制比特,𝐴 为目标比特, 进行 CNOT 操作, 得到
𝜓
𝐴𝐵
= 𝛼𝛾
|
00
𝐴𝐵
+ 𝛼𝛿
|
11
𝐴𝐵
+ 𝛽𝛾
|
01
𝐴𝐵
+ 𝛽𝛿
|
10
𝐴𝐵
最后再以 𝐴 为控制比特,𝐵 为目标比特, 进行 CNOT 操作, 得到
𝜓
𝐴𝐵
= 𝛼𝛾
|
00
𝐴𝐵
+ 𝛼𝛿
|
10
𝐴𝐵
+ 𝛽𝛾
|
01
𝐴𝐵
+ 𝛽𝛿
|
11
𝐴𝐵
= (𝛾
|
0
+ 𝛿
|
1
)
𝐴
(𝛼
|
0
+ 𝛽
|
1
)
𝐵
即实现了两个量子比特的状态交换