欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】
更多相关文章请点击【量子计算通识】
以下内容参照微软研究院主题演讲《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就是乘以一个前两行正常后两行翻转的矩阵就可以了。
在下一篇我们将开始正式进入量子计算的领域,谈论量子叠加态在数学计算中的实现。
欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】
更多相关文章请点击【量子计算通识】
每个人的智能新时代
如果您发现文章错误,请不吝留言指正;
如果您觉得有用,请点喜欢;
如果您觉得很有用,欢迎转载~
END
网友评论