当前位置 : 主页 > 编程语言 > 其它开发 >

2个qubit的量子门

来源:互联网 收集:自由互联 发布时间:2022-05-30
量子计算机就是基于单qubit门和双qubit门的,再多的量子操作都是基于这两种门。双qubit门比单qubit门难理解得多,不过也重要得多。它可以用来创建纠缠,没有纠缠,量子机就不可能有

量子计算机就是基于单qubit门和双qubit门的,再多的量子操作都是基于这两种门。双qubit门比单qubit门难理解得多,不过也重要得多。它可以用来创建纠缠,没有纠缠,量子机就不可能有量子霸权。

CNOT门(受控非)

C是受控Controlled的首字母

受控非们作用在两个qubit上,一个叫控制位\(|\text{x}\rangle\),一个叫目标位\(|\text{y}\rangle\)。如果控制位是\(0\),目标位不变;如果控制位是\(1\),目标就反转:
image
所以有

\[|00\rangle\overset{CNOT}{\rightarrow}|00\rangle,|01\rangle\overset{CNOT}{\rightarrow}|01\rangle,|10\rangle\overset{CNOT}{\rightarrow}|11\rangle,|11\rangle\overset{CNOT}{\rightarrow}|10\rangle \]

受控非们的图示是
image
实现的能力是

\[|x\rangle\otimes|y\rangle\rightarrow|x\rangle\otimes\left(|x\rangle\oplus|y\rangle\right) \]

\(\oplus\)是模2加法(也就是异或)。更简单的写法是

\[|x,y\rangle\rightarrow|x,x\oplus y\rangle\ \]

控制位可以是多个基向量的叠加态,比如3qubit

\[|1\rangle\otimes|0\rangle\otimes|1\rangle\equiv |101\rangle\equiv |5\rangle \]

CNOT的矩阵如下

\[\mathbf{CNOT}= \begin{bmatrix} 1&0 &0 &0 \\ 0&1 &0 &0 \\ 0& 0& 0&1 \\ 0& 0& 1&0 \end{bmatrix} \]

最后再看个例子巩固一下CNOT门的能力认知:

\[|1\rangle\left(|0\rangle-|1\rangle\right)\rightarrow|1\rangle\left(|1\rangle-|0\rangle\right) \]

怎么快速得到这个结果呢(所谓快速就是不用去进行矩阵乘法,实际就是利用门的性质,没什么快不快)?控制位1不变,目标位与1异或(上面讲了\(\oplus\)的实际表现是异或),所以1变0,0变1。

受控U门

受控U门就是受控酉门,它把受控非门的能力泛化到了任意的酉矩阵上:当控制位是\(0\)时啥也不干;当控制位是\(1\)时,给目标位应用对应的酉矩阵\(U\)。电路图如下
image

\[|0x\rangle\rightarrow|0x\rangle\\ |1x\rangle\rightarrow|1,Ux\rangle \]

比如受控Z门的矩阵:

\[CZ=\begin{bmatrix} 1&0 &0 &0 \\ 0&1 &0 &0 \\ 0& 0& 1&0 \\ 0& 0& 0&-1 \end{bmatrix} \]

量子并行机制

上面这些都是量子并行性的体现,也就是把一个函数应用到叠加态的\(|x\rangle\)

\[|x,y\rangle\overset{U_f}{\rightarrow}|x,y\oplus f(x)\rangle \]

\(f(x)\)是什么?是给一个辅助qubit应用酉矩阵\(U_f\)得到的,一般辅助位可以使用\(|0\rangle\)
image

假设我们制备的\(|x\rangle\)在布洛赫球的赤道上:
image
结果就是

\[\frac{|0,f(0)\rangle+|1,f(1)\rangle}{\sqrt{2}} \]

看出并行性了吗?结果中同时计算出了每个基向量的受控U门应用结果。

再看一个例子。我们通过使用哈德玛门制备\(|x\rangle\)

\[\frac{1}{\sqrt{2^q}}\sum_{x=0}^{2^q}|x\rangle \]

然后我们使用受控U门
image
根据并行机制,每个叠加态从0到\(2^q\)做控制位,目标位函数是\(7^x mod 15\),结果是他们的和。下图是一个近似的例子

\[\frac{1}{\sqrt{r2^t}}\sum_{s=0}^{r-1}\sum_{j=0}^{2^t-1}e^{2\pi isj/r}|j\rangle|u_s\rangle \]

image

受控U门的实现

矩阵\(U\)可以写成

\[U=e^{i\alpha}AXBXC \]

其中\(A\)门、\(B\)门和\(C\)门都是单qubit操作,并且\(ABC=I\)。这样受控U门可以分解成下面这样
image

这样的分解对于相位估计和其他算法都非常重要,后面会看到。接下来顺理成章的该看看多量子位操作,当然也是基于2qubit门的。

托佛利门(TOFFOLI gate)

托佛利门有两个控制位,可以模拟标准的布尔操作:如果两个控制位都是1,就把目标位反转,所以也称作控控非门

\[(a,b,c)\overset{托佛利门}{\rightarrow}(a,b,c\oplus ab) \]

image
托佛利门是幺正的,如果两次使用它,就和哈德玛门一样恢复如初:

\[(a,b,c\oplus ab)\rightarrow(a,b,c\oplus ab\oplus ab)\rightarrow(a,b,c) \]

可以通过单qubit门和双qubit门结合实现托佛利门
image
当然实际的实现要复杂得多,是这样的(下面这些门我们都接触过了)
image
控控非门的矩阵也比较大:

\[\begin{bmatrix} 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{bmatrix} \]

再强调一下,只有两个控制位一起是1才反转:
image

受控SAT门

看一个受控U门的例子,来自stackexchange,先看3-SAT问题。SAT问题在逻辑学课程和高级算法课程中都会讲到。当变量增加时,它的求解难度急剧上升。

SAT问题是第一个NPC问题

image

这个范式中的符号的含义可以看我之前的文章《自然演算规则》

我们需要创建这样的电路:

\[|\Psi_2\rangle=\frac{1}{\sqrt{2^n}}\sum_{x\in \{0,1\}^n}|x\rangle|f_{SAT}(x)\rangle \]

也就是我们需要\(n\)个控制位,一起控制第\(n+1\)个目标位
image
对于上面那个3-SAT的例子,它的线路图是
image
下面部分是4个工作位和一个目标位,4个工作位是为了存储临时信息来制备目标位。为了重复利用qubit,通常会使用反转逻辑来重置qubit
image
下面这个就是完整的Grover算法电路图:
image
因为经过重置,辅助位不变化,所以方程中(上面的方程)通常会把他们忽略掉,而且它们存储的信息也被称为“垃圾”!
image

量子纠缠

再看一个创建纠缠态的例子,需要用到受控非门

\[\hat{U}_{CNOT}\left(\frac{1}{\sqrt{2}}\left(|\uparrow\rangle+|\downarrow\rangle\right)\otimes|\uparrow\rangle\right)=\frac{1}{\sqrt{2}}\begin{pmatrix} 1& 0& 0 & 0 \\ 0 & 1 & 0 &0 \\ 0& 0 &0 &1 \\ 0& 0 &1 &0 \end{pmatrix}\begin{pmatrix} 1 \\ 0 \\ 1 \\ 0 \end{pmatrix}=\frac{1}{\sqrt{2}}\begin{pmatrix} 1 \\ 0 \\0\\ 1 \end{pmatrix} \]

上面在使用CNOT前先使用的哈德玛门
image
对于不同的输入,会产生不同的纠缠结果:
image

更多例子

上面我们看到了多控制位电路:
image
实际上目标位也可以多个:
image
控制位也可以反转:
image
CNOT也可以同时作用在多目标位:
image

量子门汇总

image

不可克隆理论

不可克隆理论表明的是对于任何未知的量子状态,没有任何人能够创建它的精确副本。自然界禁止精确复制任意叠加状态。这个机制对于量子加密特别有用,因为你想知道信息就得测量;但是测量完就坍缩了,就能被发现有人测量了这个状态。

网友评论