【科普】量子计算通识-2-四种操作与乘积态

欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】
更多相关文章请点击【量子计算通识】


以下内容参照微软研究院主题演讲《Quantum Computing for Computer Scientists(计算机科学家量子计算导读)》的结构进行整理和扩充的。
本篇是第二部分。上一篇【科普】量子计算通识-1

经典比特位的四种操作

一个比特位即0或1,代表了两种可能中确定的一种。

我们对于一个比特位仅有四种操作方法:

Identity,恒等,即不变,不操作。原来是0结果就是0,原来是1结果也还是1。或者说是乘以标准单位。
对于|0>和|1>这样的向量位表示,我们可以乘以单位矩阵:


  1. Negation,翻转,乘以。原来是0结果就是1,原来是1结果也还是0。或者说是乘以翻转单位,这在矩阵中就是一个右上角到左下角的单位翻转矩阵:


  1. Constant-0,固定等于0,或者说强制设置为0,不管你原来是0还是1,操作之后都是0。
    这样可以用矩阵表示,结果第一项取被乘数两项之和,因为两项必然有一个是1所以结果第一项是1;而结果第二项什么都不取,直接是0:


  2. 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

我们用⊗符号表示张量积,它的算法公式是:
\begin{pmatrix}x_0\\x_1\end{pmatrix} \otimes \begin{pmatrix}y_0\\y_1\end{pmatrix}= \begin{pmatrix}x_0\begin{pmatrix}y_0\\y_1\end{pmatrix}\\x_1\begin{pmatrix}y_0\\y_1\end{pmatrix}\end{pmatrix}= \begin{pmatrix}x_0y_0\\x_0y_1\\x_1y_0\\x_1y_1\end{pmatrix}

例如:

如果是多个向量连续张量积运算也是类似:

同样的:
\begin{pmatrix}0\\1\end{pmatrix} \otimes \begin{pmatrix}0\\1\end{pmatrix} \otimes \begin{pmatrix}1\\0\end{pmatrix}= \begin{pmatrix}0*0*1\\0*0*0\\0*1*1\\0*1*0\\1*0*1\\1*0*0\\1*1*1\\1*1*0 \end{pmatrix}= \begin{pmatrix}0\\0\\0\\0\\0\\0\\1 \\0 \end{pmatrix}

乘积态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来计数是一个道理,只是写法的不同。

我们把四种情况都写出来:

|00>= \begin{pmatrix}1\\0\end{pmatrix} \otimes \begin{pmatrix}1\\0\end{pmatrix}= \begin{pmatrix}1\\0\\0\\0\end{pmatrix}\qquad |01>= \begin{pmatrix}1\\0\end{pmatrix} \otimes \begin{pmatrix}0\\1\end{pmatrix}= \begin{pmatrix}0\\1\\0\\0 \end{pmatrix}

|10>= \begin{pmatrix}0\\1\end{pmatrix} \otimes \begin{pmatrix}1\\0\end{pmatrix}= \begin{pmatrix}0\\0\\1\\0\end{pmatrix} \qquad |11>= \begin{pmatrix}0\\1\end{pmatrix} \otimes \begin{pmatrix}0\\1\end{pmatrix}= \begin{pmatrix}0\\0\\0\\1\end{pmatrix}

这样我们就可以把任意数字写为乘积态或向量位的形式:

当然这个也可以反写,把一个乘积态向量分解成两个低维独立态Individual state向量,我们把这个过程叫做分解Factor

小结

  • 比特位的四种操作:不变、翻转、等0、等1;
  • 前两者操作可逆,后两者不可逆;
  • 两个2维向量的张量积会变成4维的向量;
  • 表示,实际是四维向量;
  • 向量做张量积运算得到结果叫乘积态,反向分解得到独立态向量。

有了这些基础,接下来我们就可以来看量子计算的最基本操作CNOT门了。

下一篇【科普】量子计算通识-3


欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】
更多相关文章请点击【量子计算通识】


每个人的智能新时代

如果您发现文章错误,请不吝留言指正;
如果您觉得有用,请点喜欢;
如果您觉得很有用,欢迎转载~


END

你可能感兴趣的:(【科普】量子计算通识-2-四种操作与乘积态)