目录
0. 概要
量子计算、量子信息、量子编程自学笔记系列。
用自己能看懂的方式来表述对于量子计算基础知识的理解。
不求体系完备和逻辑严谨、但求通俗易懂。或能顺便给路过的小伙伴一些参考和启发那是纯属巧合概不认账^-^。当然,这里仅限于轮廓的勾勒和要点的连接,对细节感兴趣的话还是要正儿八经地啃正经的参考书。
上一篇介绍了张量,张量积是用于表达多量子系统状态表示的数学工具。本文就以此为基础介绍多量子系统的状态表示、量子纠缠以及作用于多个量子比特的量子门。
1. 张量积的狄拉克符号表示形式
两个右矢的张量积,对应于两个列向量的张量积:
(???)
第1种和第2种的简写方式非常常用而且使用,体现了狄拉克符号体系的优雅简洁。
第3种张量积不能进行最后环节的简写。
第4种需要小心,因为很容易与内积相混淆,所以当需要使用的时候最好就保留张量积符号。
2. 多量子系统的状态的表示
我们已经知道单个量子位的状态可以表示为二维复希尔伯特空间中的向量,进一步,在确定的基底下可以表示为一个2维列向量。然而,量子信息处理系统一般使用多个量子位。这种系统称为多(量子位)量子系统,它的(联合)状态如何表达呢?
如果各量子比特之间是完全相互独立的,则完全可以分开独立表示,没有必要表达为联合状态。研究多量子系统的主要目的在于研究当不同量子比特之间存在相互作用的情况,只能用一个能够正确表现量子位间相互作用的新的向量空间来描述。物理学家们给出的答案就是张量积空间来描述。
【思考题】为什么不是用直和而是用张量积(直积)来表示多量子系统的状态呢?
假定多量子位量子系统的第个组成部分的状态空间由一个可分离的希尔伯特空间给出。那么多量子位系统的状态空间就是由下式定义的张量积空间:
的基态(基向量)由各单量子位的基态利用向量的张量积构造而成。
假设两个向量u和v分别是m维和n维的,那么它们的张量积就是m*n维的。由于在单量子位系统中m=2=n,因此一个双量子位系统有四个基态。这四个基态是由单量子位的基|0〉和|1〉使用如下规则构造而得:
注意,这里采用了常见的简写方法,这正是狄拉克符号表示法的一个优点。所以双量子位系统的基态就是{, , , }。表示第一个量子比特处于基态0,第二个量子比特处于基态0; 表示第一个量子比特处于基态0,第二个量子比特处于基态1;。。。
考虑两个量子位的状态分别为:, ,则该两个量子比特的联合状态可以表达为:
但是,并非每一个双量子位联合态矢量都能被分离成两个单量子位态矢量的张量积的形式(否则的话就太无趣了,能不能进行张量积分离用于区分该联合量子态是处于纠缠态还是非纠缠态--即可分离态,详细留待下一节介绍)。
双量子位系统的态矢量的更通用的形式如下所示:
其中,
同理可知,一个包含n个量子位的系统有个基态,每个基态都是的形式。因此,我们可以进一步用一个0到范围内的数字来表示n量子系统的一个基态。例如,n=4的量子寄存器中的基态也可以表达为。
3. 叠加
上一节最后给出的
,
表示的是双量子系统的复合态可以表示称4种可能的基态的(复系数)线性叠加。
推而广之,任意n量子系统的复合态可以表示成种可能的基态的线性叠加。这些基态可以简记为, , ..., 。
在观测时,该n量子位系统可以随机地(概率由复系数的平方决定)坍缩为个可能的基态中的一个,但是在观测之前,它保持了所有种可能性。
这样由n个比特(无论经典还是量子)构成的系统在计算领域(特别是计算机硬件中)通常被称为n比特寄存器。
4. 量子计算并行处理能力
量子计算机的工作依赖于同时针对所有可能的基态进行处理。
打个比方说,一个量子比特处于。在被观测时它分别有|a|^2和|b|^2的概率坍缩到基态0和基态1。考虑一个量子门作用于该量子比特,假设该量子门作用于基态0会得到叠加态,作用于基态1会得到叠加态。那么,该量子门作用于后会有|a|^2的概率变成叠加态,有|b|^2的概率变成叠加态。
在经典世界里进行这样的计算,比如说,考虑在经典计算机上变成实现以上处理的话,计算机需要先计算门作用于基态0的效果,然后再计算门作用于基态1的效果,然后再对两个处理的结果进行线性组合得到新的状态。但是,在量子计算中,作用于基态0的处理和作用于基态1的处理以及它们的线性组合是天然地(intrinsically)并行执行的,不需要显式地分两次进行(无论并行还是串行)。
注意,量子计算的优势不是并行处理能力,而是天然的、内蕴的、隐式的、几乎无代价的并行计算。经典计算也能进行并行计算,但是得付出相应的并行倍数的处理资源。
从另外一个角度来看,经典比特要么处于0状态、要么处于1状态,而量子比特的状态由于是以叠加态的形式存在(在观测之前保持了坍缩到0和1的可能性),所以可以认为同时既在0状态,又在1状态。同理、n位经典寄存器只能处于种可能状态之一,而n位量子寄存器则可以同时表达所有种可能状态。因为,要表达n位量子寄存器同样的信息,需要个经典比特。换句话说,n位量子寄存器的表达能力是n位经典寄存器的倍!这个因子可以理解量子计算相对于经典计算的量子加速倍率。
然而,叠加态的一个主要问题是,一旦被测量,它就会随机地坍塌成某个特定状态。在这个过程中就丢失所有关于其它状态的信息。但是,不观测又如何知道计算的结果呢?如果不能得到这所有可能的结果,那这个并行处理能力也就没有什么意义了。所以,这就形成了一个困境,如何既利用量子计算的并行处理能力,又能够实实在在地得到这并行计算处理结果呢?
相关博文:
【参考文献】
[1] 人人可懂的量子计算,克里斯.伯恩哈特著,邱道文等译,机械工业出版社
[2] 量子计算:一种应用方法,杰克.希德里著,姚彭晖等译,人民邮电出版社
[3] 与量子比特共舞,罗伯特.S.苏托尔著,吴攀译,人民邮电出版社
[4] 图解量子计算机,宇津木健著,胡屹译,人民邮电出版社