• 2个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

    不可克隆理论

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

  • 相关阅读:
    emacs配置emacs-clang-complete-async
    emacs之配置自动安装脚本
    vim之YCM配置
    vim之vundle
    emacs之配置php
    kettle的日志
    kettle的报错解决机制
    kettle优化
    将BAT文件注册为服务的方法
    使用powerdesinger逆向生成表结构
  • 原文地址:https://www.cnblogs.com/somefuture/p/16284142.html
Copyright © 2020-2023  润新知