欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】
更多相关文章请点击【量子计算通识】
以下内容参照微软研究院主题演讲《Quantum Computing for Computer Scientists(计算机科学家量子计算导读)》的结构进行整理和扩充的。
本篇是第二部分。上一篇【科普】量子计算通识-1
经典比特位的四种操作
一个比特位即0或1,代表了两种可能中确定的一种。
我们对于一个比特位仅有四种操作方法:
Identity,恒等,即不变,不操作。原来是0结果就是0,原来是1结果也还是1。或者说是乘以标准单位。
对于|0>和|1>这样的向量位表示,我们可以乘以单位矩阵:
-
Negation,翻转,乘以。原来是0结果就是1,原来是1结果也还是0。或者说是乘以翻转单位,这在矩阵中就是一个右上角到左下角的单位翻转矩阵:
Constant-0,固定等于0,或者说强制设置为0,不管你原来是0还是1,操作之后都是0。
这样可以用矩阵表示,结果第一项取被乘数两项之和,因为两项必然有一个是1所以结果第一项是1;而结果第二项什么都不取,直接是0:
Constant-1,固定等于1,或者说强制设置为1,不管你原来是0还是1,操作之后都是1。
这样可以用矩阵表示,结果第二项取被乘数两项之和,因为两项必然有一个是1所以结果第一项是1;而结果第一项什么都不取,直接是0:
可逆性Reversible
不变,翻转,等0,等1。
在这四种运算中,前两个是可逆的,而后两者是不可逆的。
可逆的意思是如果我们知道结果并且知道操作类型,那么我们就能反推得到原来的值。
即知道y和f,就能反向运算得到x。
比如说知道结果是0,而且进行过翻转运算,那么原来一定是1。
但等0和等1操作就是不可逆的,知道结果是0,而且进行过等0操作,我们仍然无法确定原来到底是0还是1。
向量的张量积Tensor product of vectors
我们用⊗符号表示张量积,它的算法公式是:
例如:
如果是多个向量连续张量积运算也是类似:
同样的:
乘积态Product state
在上一篇【科普】量子计算通识-1的开始我们就介绍了0和1的另一种写法,|0>和|1>这样的向量表示,但如何将多个经典位用向量连续表示呢?如何用向量比特格式表示5?
答案是向量积,我们把它称为乘积态,比如|00>就表示:
如果我们设定抛出硬币落地情况有两种可能,或反或正,我们就可以计作【反,正】。
向量(1,0)或者写作(100%,0%),我们把它理解为有100%的可能性是【反】,0%的可能性是【正】,当然这相当于判决它就是【反】。
同样,(0,1)相当于判决它就是【正】。
如果我们抛两次会怎样?那就共有四种情况,【反反,反正,正反,正正】,我们可以把这四种情况用四个字母表示【A0,A1,A2,A3】,总之不必纠结每一项都是两次的结果,而是只看做一种可能。
我们再看|00>对应的(1,0,0,0)恰好是判决它属于四种可能中的一种,这和我们用1,2,3,4来计数或者用00,01,10,11来计数是一个道理,只是写法的不同。
我们把四种情况都写出来:
这样我们就可以把任意数字写为乘积态或向量位的形式:
当然这个也可以反写,把一个乘积态向量分解成两个低维独立态Individual state向量,我们把这个过程叫做分解Factor:
小结
- 比特位的四种操作:不变、翻转、等0、等1;
- 前两者操作可逆,后两者不可逆;
- 两个2维向量的张量积会变成4维的向量;
- 表示,实际是四维向量;
- 向量做张量积运算得到结果叫乘积态,反向分解得到独立态向量。
有了这些基础,接下来我们就可以来看量子计算的最基本操作CNOT门了。
下一篇【科普】量子计算通识-3
欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】
更多相关文章请点击【量子计算通识】
每个人的智能新时代
如果您发现文章错误,请不吝留言指正;
如果您觉得有用,请点喜欢;
如果您觉得很有用,欢迎转载~
END