以下内容参照微软研究院主题演讲《Quantum Computing for Computer Scientists(计算机科学家量子计算导读)》的结构进行整理和扩充的.
本篇是第三部分. 上一篇[科普] 量子计算通识 - 2
经典逻辑门
目前的通用计算机都是基于逻辑门电路来实现的. 关于逻辑门电路, 你可以参照[量子计算通识] 文章中索引的[经典计算机] 小专题.
运算的本质是对输入的信息进行修改, 然后再输出. 晶体管逻辑门电路的本质一种运算, 电流进入之后绕来绕去会被改变成不同的电流, 然后再输出.
经典计算机对于单个比特位的操作有四种: 不变, 翻转(0 和 1 翻转, 即非门 NOT), 等 0(强制输出 0), 等 1(强制输出 1).
而对于两个比特, 经典计算机有多重操作, 如:
与门 AND, 两者都是 1 结果才是 1;
或门 OR, 两者有一个是 1 结果就是 1;
与非门 NAND, 两者都是 0 结果才是 1;
异或门 XOR, 两者不相同结果才是 1;
可控非门 CNOT
可控非门 CNOT 是量子计算的最根本操作, 也可直接把它称为量子逻辑门.
解释起 CNOT 门有一点麻烦, 所以我们先从数学角度看, 门就是一种操作, 比如之前我们把经典比特位的四种操作都转换成了向量位运算:
不变操作就是乘以单位矩阵:
翻转操作就是乘以单位翻转矩阵:
等于 0 操作:
等于 1 操作:
那么, 我们定义 CNOT 门就是乘以下面的矩阵:
注意这不是单位矩阵, 它把第三行和第四行交换了. 结果会怎样? 前两项不变, 后两项颠倒, 具体如下:
这有什么意思?(0,0,1,0)这是一个四维向量, 是个乘积态, 它可以被分解成两个二维向量的张量积. 我们把 CNOT 运算简单记作 C, 就有:
简化一下:
这里注意, 我们通过 CNOT 操作, 把 | 10 > 变成了 | 11>.
CNOT 对两个向量位的操作四种情况如下:
简化一下:
仔细看上面这四个式子, 规律就是左边第一位永远不变化, 原来是 0 开头, 结果就是 0 开头, 原来是 1 开头, 结果就是 1 开头. 但是, 当第一位是 1 的时候, 第二位会被翻转(第三和第四).
为什么叫 CNOT,Controled NOT, 可控非门. 如果我们把左边第一位当做额外的开关, 用它来控制第二位是否进行翻转, 那么就是: 如果第一位是 0, 那么就不翻转第二位, 如果第一位是 1, 那么就翻转第二位. 而第一位作为控制位不会被改变.
在这里的运算中, 第一位是控制位 Control bit, 第二位称为目标位 Target bit, 是被控制的.
实际上理解 CNOT 的字面意义并不是很大, 只要我们记住 CNOT 就是乘以一个前两行正常后两行翻转的矩阵就可以了.
在下一篇我们将开始正式进入量子计算的领域, 谈论量子叠加态在数学计算中的实现.
来源: http://www.jianshu.com/p/8ca74817f0fa