【摘要】量子计算机是直接以量子态进行信息处理的新型计算机。量子态具有叠加性,量子计算机具有并行性,对一个由n个量子比特组成的量子计算机的一次操作就是对其所包括的所有2n个量子态的操作,由此可以完成经典计算机无法完成的任务。量子计算机在大数分解和无序数据库搜索问题上已经显示出超越经典计算机的能力。从2016年开始,以IBM为代表的跨国大公司进入这一领域,量子计算机的研发进入快速发展的新阶段。当前,超导量子计算体系发展迅速,达到近百量子比特的规模,率先实现超越经典计算的量子霸权,而拓扑量子计算体系、量子点量子计算体系、离子阱量子体系是其强劲的竞争体系。今后几年,量子计算机的硬件将继续迅速发展,不同方案将逐步拉开。量子计算机的操作系统已经初步建立,进入发展阶段。量子应用算法开始进入快速和大规模的研发阶段。世界各国均把量子计算机的研发作为国家战略,量子计算机的研发将会大大加速。
【关键词】量子计算 计算机 系统软件 量子力学
【中图分类号】TP30 【文献标识码】A
【DOI】10.16619/j.cnki.rmltxsqy.2021.07.005
龙桂鲁,清华大学物理系教授,北京量子信息科学研究院副院长,美国物理学会、英国物理学会会士,亚太物理学会联合会前任理事长。研究方向为量子计算与通信。代表性成果有原创提出量子直接通信(国际量子保密通信三种主要理论之一);提出酉算符线性组合的量子计算方法;构造Grover-Long量子精确搜索算法;提出“波函即物”的量子力学“WISE”解释等。
引言
经典计算机体积缩小和性能提升来源于计算机芯片集成度的提高。1946年出现的世界上第一台计算机的体积有160多平方米,重量也有几十吨,可计算能力却只有每秒5000次运算。随着计算机元器件从电子管到晶体管再到大规模集成电路的快速发展,如今的计算机可以薄如一张纸,运算速度也能很好地满足需求。随着大数据和互联网时代的来临以及人工智能的发展,经典计算机的能力越来越不能满足海量数据处理的需求,目前主要有两个方面制约经典计算机发展:能耗问题和芯片高集成化的极限。
1961年,IBM的罗尔夫·兰道尔(Rolf Landauer)提出了信息和能量的方案,这就是著名的Landauer原理:每删除一比特的信息,需要消耗一定的能量。消耗的能量随后会成为热量,因此散热问题是制约芯片集成化程度的一个重要问题。若要解决热量耗散问题,则必须在计算过程中避免信息的擦除,采用可逆计算。同时,经典体系与量子体系服从不同的规律,经典计算机无法满足量子体系的计算需要。现在对量子体系的计算都是在经过大量简化后才得以进行。例如,在原子核结构的计算中,将大量的自由度封闭,只采用部分最外层的核子进行计算。因此,物理学家理查德·P·费曼(Richard Phillips Feynman)提出使用量子计算机进行量子模拟[1]。再者,微处理芯片的密度日趋极限,其中晶体管的密度越来越大,每个晶体管的体积越来越小,已经接近物理上所允许的极限,摩尔定律失效[2]。当晶体管只由少数原子组成时,经典物理学规律不再适用,量子效应将导致晶体管无法正常工作。正是出于以上主要原因,量子计算机概念被提出。
1980年,保罗·本尼奥夫(Paul Benioff)提出了量子计算机的概念[3],其计算过程是可逆的,在计算的中间过程几乎没有耗散,只在计算的最后进行测量,能量的耗散形式不同于经典计算。并且,量子计算需要操作的步骤和需要的资源都比经典计算少,因此热耗散比经典计算小很多。当然,在量子计算的过程中仍有热量耗散,例如,在维持超导量子计算机低温环境下,在计算最后结果时读出测量,也是不可逆的,也散发热量。
概念提出的十几年后,量子计算机才成为国际研究的持续热点,并成为世界主要强国的国家战略,而其主要原因在于1994~1996年量子算法的突破。1994年,Bell实验室的彼得·威廉·秀尔(Peter Williston Shor)提出了大数质因子分解的量子算法[4],其复杂度是多项式的,而最快的经典计算算法其复杂度是指数的。这一量子算法动摇了以RSA为代表的当时所有已知的公钥加密算法。1996年,Lovleen Kumar Grover提出量子搜索算法[5],将一个含有N个样本的无序数据库的搜索步骤数由经典的N/2,大幅度地减少到N的平方根(一个数N的平方根是a,那么a×a=N,例如100万的平方根是1000),加速了无序数据库的搜索。这两个量子算法在密码世界“大闹天宫”,引起了全世界的广泛重视,极大地推动了量子计算机的研究,使其成为国际研究热点。此后,自2016年IBM公司推出5量子比特超导量子计算机云平台开始,国际量子计算机的研发进入到突破发展的新阶段。
量子计算基础与用途
量子计算是一种遵循量子力学规律调控量子信息单元进行计算的新型计算模式。在理解量子计算的概念时,通常将它和经典计算相比较。经典计算使用二进制进行运算,每个计算单元(比特)总是处于0或1的确定状态。量子计算的计算单元称为量子比特,它有两个完全正交的状态0和1,同时,由于量子体系的状态有叠加特性,能够实现计算基矢状态的叠加,因此不仅其状态可以有0和1,还有0和1同时存在的叠加态,以及经典体系根本没有的量子纠缠态,即在数学上的多量子比特体系波函数不能进行因式分解的一种状态。一台拥有4个比特的经典计算机,在某一时间仅能表示16个状态中的1个,而有4个量子比特的量子计算机可以同时表示这16种状态的线性叠加态,即同时表示这16个状态。随着量子比特数目的递增,一个有n个量子比特的量子计算机可以同时处于2n种可能状态的叠加,也就是说,可以同时表示这2的n次方数目的状态。在此意义上,对量子计算机体系的操作具有并行性,即对量子计算机的一个操作,实现的是对2的n次方数目种可能状态的同时操作,而在经典计算机中需要2的n次方数目的操作才能完成。因此,在原理上量子计算机可以具有比经典计算机更快的处理。
20世纪80年代初量子计算机的概念被提出后,科学家把它当做一个理论上的玩具,虽然认为其有超越经典计算的能力,但是没有找到有意义的迫切且重要的应用场景。正如前文所说,90年代中期的两个量子算法,Shor算法和Grover算法,将量子计算机的研究推向高潮,使其成为国际上的持续研究热点,并且在最近出现了加速发展,进入新的研发高潮。原始的Grover算法的成功率不是百分之百,特别是在数据库的样本数量不大时,失败概率较大。笔者在2001年构造了量子精确搜索算法,将量子搜索算法的搜索成功率提高到100%[6],国际上将该算法称为Long算法、Grover-Long算法[7]。Shor算法动摇了公开密码体系的基石;Grover-Long算法降低了对称算法的安全性。这两个量子算法充分显示了量子计算机的优势。
目前普遍预测量子计算有望在以下三个场景较早落地。第一个领域是模拟量子现象,量子计算可以为蛋白质结构模拟、药物研发、新型材料研究、新型半导体开发等提供有力工具。生物医药、化工行业、光伏材料行业开发环节存在对大量分子进行模拟计算的需要,经典计算压力已经显现,量子计算与这些行业的结合目前被普遍看好,国外一些公司以及国内的北京量子信息科学研究院(以下简称北京量子院)[8]、华为、本源量子等都已经开始布局量子计算在量子化学、生物医药行业的应用。
第二个领域是人工智能相关领域。人工智能对算力需求极大,传统CPU芯片越来越难以胜任。通过开发新的量子算法,构建优秀的量子机器学习模型,促进相关技术的应用。谷歌、IBM、英特尔、微软等都将人工智能与量子计算的结合视为重要着力点。北京量子院也将量子人工智能作为应用量子软件开发的重要部分。
第三个领域是密码分析。加密和破译密码是历史长河中的不间断主题。量子计算破译了RSA等公开密钥体系,而密码学家又构造了新的公开密码体系,即抗量子密码体系。现在的密码体系的绝对安全性还没有得到证明,也就是说无法证明这些密码是不可破译的。因此,基于算法的密码体系的安全性一直受到可能被破译的威胁。开展密码破译具有重要的战略意义和实际应用价值。应对量子计算对通信安全攻击的另外一种手段是量子保密通信,主要包括量子密钥分发[9],量子直接通信[10]。2019年3月发布的全球首份6G的白皮书充分肯定了量子密钥分发和量子直接通信在6G中的巨大潜力[11]。
自量子计算机概念提出,科学家就开始致力于研制量子计算机的物理实体。至今已经提出了多种可能实现通用量子计算的物理平台,如核磁共振量子计算机、超导量子计算机、固态核自旋量子计算机、离子阱量子计算机和拓扑量子计算机。这些物理平台各有优势和缺点,一些方案已经被淘汰,而大浪淘沙后剩下的几种主要方案中,目前也尚未确定哪个是未来通用量子计算机的载体。近年来,超导量子计算、离子阱量子计算、拓扑量子计算得到重视,发展较快。
量子计算机硬件进展
实现量子计算的物理平台要有编码量子比特的物理载体,使不同量子比特之间可以可控的耦合,并对噪声环境影响有一定的抵抗力。目前研发的主要量子计算机方案有超导、离子阱、量子点、拓扑和金刚石色心等。
超导量子计算。超导量子计算利用超导系统的量子态实现量子计算。它的优点是与现有的半导体工业技术兼容,但是,超导量子系统工作对物理环境要求较高,需要超低温。许多科研机构和国际大公司采用这一系统,如IBM公司、Google公司、Rigetti等。
2016年,IBM推出5个量子比特的超导量子计算平台[12],打破了从1998年以来超导量子比特体系研究一直徘徊在2个量子比特的局面,开启了国际上量子计算机研发的第二次高潮。2017年11月,IBM宣布研制成功50量子比特的量子计算机原理样机[13],并在2018年初的CES大会现场展示,但尚未对外公开使用,其主要参数也没有公开。此外,有渠道说,IBM内部已经在使用65比特的超导量子计算机。
2018年3月,谷歌宣布推出72量子比特超导量子计算机,他们发布的主要指标是单比特操作的误差是0.1%,双比特门操作的误差是0.6%,但目前尚未见其详细报告[14]。
Rigetti是一家2013年成立的量子计算机公司,其董事长Chad Rigetti原是IBM的研究人员。2018年8月,Rigetti宣布将在12个月内推出128个量子比特的超导量子计算机[15],但至本稿交稿之日,尚未看到其推出128比特量子计算机的消息。
国内团队中,浙江大学与中科院物理所团队在2019年5月1日宣布了20量子比特的实验工作[16]。北京量子院、清华大学、中国科学技术大学、南方科技大学等都在开展超导量子计算机的研发。2021年,中科大团队制备了一个62量子比特的超导芯片,演示了量子随机行走算法[17]。北京量子院制备了56比特的超导量子芯片,目前正在进行测试。
离子阱。离子阱体系的优势在于其有较好的封闭性,退相干时间较长,制备和读出效率较高,离子阱体系在一定程度上可以满足量子计算机的多个条件[18],而可扩展性问题是基于离子阱系统的量子计算的主要障碍。
国际上开发该系统的研究组有诺贝尔奖获得者美国Wineland组、奥地利Rainer Blatt组、英国牛津大学组和美国IonQ公司(2015年由马里兰大学教授Chris Monroe等成立)。清华大学、国防科学技术大学、武汉数学物理研究所、中山大学、中国科学技术大学等国内单位在开展研究。2018年12月,IonQ推出了一个离子阱体系量子计算机原型系统,其主要技术指标如下[19]:量子比特数目方面,最多可以加载160个量子比特,能够进行单个比特操作的是79个量子比特,能够进行双比特操作的是11个量子比特。可编程量子计算方面,实现了5个比特的可编程计算,在5比特上实现了4种量子算法[20]。Rainer Blatt组在5个比特体系中演示了Shor算法,实现了15=3×5的分解[21]。在比特操控精度方面,牛津大学组用钙离子[22]、马里兰大学的Wineland组用铍离子[23]分别实现单比特精度超过99.99%、2比特精度超过99.9%。在量子比特寿命方面,清华大学研究组实现了4比特的单比特相干时间超过1000秒[24],最近延长至一个小时以上[25]。国防科技大学和武汉物理数学研究所实现较高保真度的单比特操控和2比特操控。国防科技大学的离子阱芯片可实现100个离子的稳定“囚禁”,能实现离子在阱中的输运和等间距排列。
拓扑量子计算。拓扑量子比特利用量子体系的拓扑性质构造量子比特,具有异常强大的抗干扰能力,几乎不再需要量子纠错的特性使其具有诱人的前景。作为一种先难后易的量子计算机实现方式,拓扑比特方案是量子计算机制备上的一匹潜在黑马,一旦得以实现,必然将是量子计算领域的重大突破。拓扑量子比特的制备本身也是一个重大的科学问题,如果成功,将是一个诺贝尔奖量级的成果。
2018年,在微软Build 2018大会上,微软副总裁Todd Holmdahl透露[26],微软能够在五年内造出第一台拥有100个拓扑量子比特的量子计算机。拓扑量子比特的质量非常高,100个拓扑量子比特的计算能力,最高可以相当于1000个逻辑量子比特。如果微软的计划实现,就意味着那时可以用量子计算机解决一些实际问题了。由此构造的量子计算对环境干扰、噪音、杂质有很大的抵抗能力。然而,拓扑量子计算尚停留在基础研究的攻关阶段,拓扑量子比特的器件还未能成功制备。未来3~5年是这一领域发展的重大窗口期。北京量子院、清华大学、中科院物理所、中国科学院大学都在开展拓扑量子计算的研发。
核磁共振量子计算体系。核磁共振体系利用分子中的核自旋作为量子比特,用外加射频脉冲实现对量子比特的控制。核磁体系的退相干时间能够达到秒量级,甚至更长时间,逻辑操作简单,且在室温下运行。核磁共振发展了许多先进的控制技术,在量子算法以及量子模拟方面取得了丰富成果。核磁共振量子计算机遇到的困难是扩展性差、比特数的扩大以及能否合成足够核自旋的分子。
核磁共振中完善的控制技术让其有能力实现量子算法的演示,至今已经实现了许多重要的量子算法,如Grover量子搜索算法[27]、Shor大数分解算法[28]以及求解线性方程组[29]等。核磁共振在量子模拟领域也是控制可靠的量子模拟器,如量子时钟[30]、氢分子基态能级[31]、多体相互作用[32]、量子相变[33]以及量子隧穿[34]等。近期,核磁共振量子计算平台也被放在云端供科研工作者使用,用户可在云平台完成4比特以内的由单比特操作和两比特门组成的量子线路图[35]。
量子计算软件进展
软件是连接人与机器的桥梁,通过软件才能发挥机器的作用。量子计算机软件包括系统软件和应用算法软件两大部分,这与经典计算机一样。一台完整的量子计算机不仅需要底层的芯片、中层的控制系统,更需要上层的量子软件与量子算法才能发挥作用。虽然通用型量子计算机还未落地,但科学家们已经开展了量子计算机软件的研究,并通过在经典计算机上模拟量子计算机的运行方式,实现了对量子编程语言、量子编程框架、量子指令集等底层系统软件的开发和检验。这些软件已经可以在现有的含有噪声的中等规模的量子计算机上运行。目前,全球主要的量子计算公司,如微软、IBM、谷歌等,都已经推出了各自的量子系统软件,中国的相关团队也陆续推出了系统软件。北京量子院从研发量子计算机伊始,就从顶端设计了量子系统软件和量子应用算法软件两个重要研发方向。
不同于硬件,在量子计算软件领域,我国的本源量子、华为,同国外巨头的差距并不大。本源量子不仅拥有完全自主知识产权的量子编程语言QRunes、量子编程框架Panda、量子指令集OriginIR,还开发了量子化学应用ChemiQ。华为在2020年发布了HiQ 3.0量子计算模拟器及开发者工具,助力量子计算在组合优化、线路仿真、量子模拟、芯片调控等领域的应用。中科院软件所在2019年12月发布中国首个量子程序设计平台,已上线的功能主要包括编译器、模拟器、模型验证工具、定理证明器四部分。
下面简单介绍量子指令集、命令式量子汇编语言、函数式量子汇编语言、多范式语言等的发展情况。
量子指令集。量子指令集将高层次的算法转化为物理指令,这些指令可以在量子处理器上执行。有时这些指令是专门为给定的硬件平台设计,例如离子阱或超导量子比特。典型的指令集有Quil和OpenQASM(开放量子汇编语言)。Quil是量子计算的指令集架构,它首先引入了一个共享的量子/经典内存模型。此模型是由Robert Smith、Michael Curtis和William Zeng(2016年8月)在一个实用量子指令集架构中引入的[36]。OpenQASM是量子指令中间表示,该语言最初是Cross、Andrew W.等人引入[37],并且其源代码作为IBM量子信息软件包(QISKit)的一部分被发布,用作IBM的量子计算云平台的IR。该语言具有类似于Verilog这种传统硬件描述语言的特性。
命令式量子汇编语言。量子编程语言有命令式量子编程语言和函数式量子编程语言等两个大类。命令式语言的代表是QCL和Q|SI>。函数式量子汇编语言的代表是QPL和QML。量子计算语言(Quantum Computation Language, QCL)是最早实现的量子编程语言之一[38]。QCL最重要的特性是支持用户定义的操作符和函数,语法类似于C语言,其经典数据类型类似于C语言的原始数据类型,可以将经典代码和量子代码合并在同一个程序中。由E.Knill提出的量子伪码(Quantum Pseudocode)是一种用来描述量子算法的形式化语言,它与量子机器的模型——量子随机存取机器(QRAM)联系密切[39]。Q|SI>是应明生研究组提出的量子编程语言[40]。Q语言是命令式量子编程语言[41],被执行于C++编程语言的扩展,为基本的量子操作提供了类。例如QHadamard、Qt、QNot、QSwap等,都是由基类Qop派生而出。可以使用C++类机制定义新的操作符。量子防护命令语言(Quantum Guarded Command Language, QGCL)是由P. Zuliani定义[42],基于Edsger Dijkstra创建的经典守护命令语言而建立起来的量子程序语言,可被描述为一种量子程序规范的语言。量子宏汇编器(QMASM Quantum Macro Assembler)是一种针对量子退火的底层语言。2016年,美国Los Alamos国家实验室的Scott Pakin公开了这一基于Python的编程语言的源[43]。
函数式量子汇编语言。函数式量子编程语言非常适合对程序进行推理。QFC(Quantum Flow Chart)和QPL是由当时加拿大渥太华大学的Peter Selinger定义的两种紧密相关的量子编程语言[44]。它们只在语法上有所不同,QFC使用流程图语法,而QPL使用文本语法。这些语言具有经典的控制流,但可以对量子或经典数据进行操作。Selinger给出了这些语言在超级运算符的类别中的指称语义。QML是一种由英国诺丁汉大学的Altenkirch和Grattage提出的类似Haskell的量子编程语言[45]。与Selinger的QPL不同,这种语言将量子信息的复制作为一种原始操作。QML还引入了经典和量子控制运算符,而大多数其他语言都依赖于经典控制。LIQUi|>是F#编程语言的一个量子模拟扩展,由微软研究院(Microsoft Research)量子架构和计算小组(QuArC)的Wecker和Svore开发[46]。LIQUi|>试图让理论学家在使用真正的量子计算机之前就尝试量子算法设计。它包括编程语言、优化、调度算法和量子模拟器。LIQUi|>将以高级程序形式编写的量子算法转换为量子设备的低级机器指令,提供了大量的高级操作来简化量子编程,如受控门与反计算的自动实现。Shor大数分解算法用QCL(第一个量子编程语言)来描述大概需要100行,而使用LIQUi|>仅需50行左右。它的编译器可自动实现优化、容错翻译、量子电路打印等任务。其公开发行版只能模拟不超过22个量子比特。量子Lambda演算是经典Lambda演算的扩展,其目的是用高阶函数的理论扩展量子编程语言。1996年,Philip Maymin首次尝试定义量子Lambda演算[47]。他的lambda-q演算可以表示任何量子计算。2003年,Andre van Tonder定义了lambda演算的扩展,可以证明量子程序的正确性[48],他还在Scheme编程语言中提出了一种执行方式。2004年,Selinger和Valiron用基于线性逻辑的类型系统为量子计算定义了强类型的lambda计算。
多范式语言。微软于2017年12月12日发布的Quantum Development Kit是多范式软件[49]。该套件包括Q#编程语言、编译器以及本地量子计算模拟器,并与Visual Studio集成,还有一个基于Azure的模拟器,可以模拟40多个逻辑量子比特计算。Q#将传统的编程概念,如函数、变量、分支,以及语法高亮的开发环境和量子调试器带到量子计算领域。微软将Q#称为“一种用于表达量子算法领域专用编程语言”。Q#给自己的定义是领域专用语言(Domain Specific Language)。华为在2018年10月推出了华为的HiQ量子编程框架[50]。该框架为经典-量子混合编程提供统一的编程模式。从与器件无关的高级语言编程到硬件和指定指令集的接口语言编译,从大规模的量子计算仿真模拟到量子算法的验证,从量子纠错的编码器到解码器,HiQ编程框架提供完整的API接口和图形化解决方案。其有以下几个特点:第一,经典-量子混合编程可视化方案,独特量子编程BlockUI,使经典-量子混合编程更加简单直观;第二,分布式可扩展的软硬件支持,编译框架支持多量子硬件后端和Python及C++API前端扩展;第三,卓越的计算性能,提供高性能C++并行和分布式模拟器后端;第四,开放的开发体系,框架基于并兼容开源的ProjectQ软件,并将继续开源;第五,高效的资源管理性能,集成高性能量子线路编译优化器,支持有限内存单元、大规模并行计算处理;第六,算法库和帮助文档支持,丰富的算法库和10+重要基础算法,加速学习和开发过程。HiQ的量子算法库中已经给出了十多个量子算法的HiQ实现程序。
徐家福领导的南京大学研究组是国内最早开展量子程序设计语言的团队之一,提倡正确性、实用型、简明性、设备无关性、高层抽象性、透明性及可经典模拟性的程序设计准则[51],2006年7月提出基于Java的命令式量子程序设计语言NDQJava[52](南大量子Java语言),并于2011年1月提出改进版本NDQJava-2[53]。NDQJava系列语言强调设备无关性,令量子设备对量子程序设计语言保持透明。该团队针对上述两种量子程序设计语言均研制了对应的编译、解释处理系统[54]。2009年6月,徐家福、宋方敏提出基于FP的函数式量子程序设计语言NDQFP[55],将量子特性和量子演化抽象为函数,提高了量子算法的程序化直觉表达。
量子计算应用算法的一些进展。在Benioff的量子计算模型中,其量子操作都是酉变换(也叫酉算符、酉算子)。酉变换的逆运算(相当于除法)也是酉算符,因此只能采用酉算符的乘和除来构造量子算法。大数分解算法[56]和量子搜索算法[57]都是采用酉算子的乘积的形式进行构造,其他量子算法都可以看作是这两个算法的发展。
2002年对偶量子计算机被提出[58],允许酉算符的加减乘除四则运算构成的酉算符线性组合(linear combination of unitaries, LCU)来构造量子算法,为构造量子算法提供了新的途径。酉算符的线性组合称为对偶量子门[59],Stan Gudder将其称为广义量子门(generalized quantum gate),并利用算子代数理论给出了其数学性质[60]。陕西师范大学曹怀信团队在2000年给出了对偶量子门的一种具体构造方法[61]。2018年强晓刚(中国军事科学院)、周晓琪(中山大学)、王剑威(北京大学)、Jeremy Obrien(英国布里斯托大学)和Timthy Ralph(澳大利亚女王大学)等联合团队研制了集成光量子芯片,可以实现98种两比特酉操作,该光量子芯片采用了LCU的体系结构[62]。
采用LCU方法构造的一个重要量子算法是线性方程组的量子算法——HHL算法[63]。在一些限制条件下,这个量子算法相对于经典算法有指数的加快,其LCU的具体形式也已给出[64]。LCU方法还用于量子机器学习算法[65]、量子化学模拟算法等[66]。构造量子算法的一般技巧有五种,即相位估计、量子搜索、LCU、HHL算法以及量子随机行走[67]。量子算法的相关进展还可进一步参考文献[68]。
量子计算发展前景
当前,量子技术研究已成为世界科技研究的一大热点,世界各主要国家高度关注量子信息技术发展,纷纷加大政策和资金支持,力争抢占新兴信息技术制高点。
美国从20世纪90年代即开始将量子信息技术作为国家发展的重点,在量子相关学科建设、人才梯队培养、产品研发及产业化方面进行大量布局,联邦政府机构对量子计算领域的支持在每年2亿美元以上。近两年来,美国政府频繁参与量子计算布局。2018年12月,美国政府正式颁布《国家量子计划法案》,制定长期发展战略,计划在未来5年向相关领域投入12亿美元研发资金。2019年2月,白宫发布未来工业发展规划,将量子信息科学视为美国未来发展的四大支柱之一。
欧盟方面,2014年英国已启动“国家量子技术计划”,计划投资超过10亿英镑建立量子通信、传感、成像和计算四大研发中心,推动产学研合作。2016年德国提出“量子技术——从基础到市场”框架计划,并预计投资6.5亿欧元。
近年来,我国对量子计算的支持力度逐步加大,先后启动国家自然科学基金、863计划和重大专项,支持量子计算的技术研发和产业化落地。2020年10月16日,中共中央政治局就量子科技研究和应用前景举行集体学习,习近平总书记在讲话中提到,要保证对量子科技领域的资金投入,同时带动地方、企业、社会加大投入力度。要加大对科研机构和高校对量子科技基础研究的投入,加强国家战略科技力量统筹建设,完善科研管理和组织机制。要加快量子科技领域人才培养力度,加快培养一批量子科技领域的高精尖人才,建立适应量子科技发展的专门培养计划,打造体系化、高层次量子科技人才培养平台。要提高量子科技理论研究成果向实用化、工程化转化的速度和效率,积极吸纳企业参与量子科技发展,引导更多高校、科研院所积极开展量子科技基础研究和应用研发,促进产学研深度融合和协同创新。讲话同时提出,在量子科技领域再取得一批高水平原创成果,形成我国量子科技发展的体系化能力,抢占量子科技国际竞争制高点。
从20世纪90年代开始,全球量子计算领域的研究进入快速发展期。在量子计算研究和商业化方面,走在全球前列的公司包括谷歌、IBM、微软、亚马逊、阿里巴巴等大公司,也包括一些初创机构。IBM、谷歌均已公布基于超导器件的量子计算芯片方案,在硬件方面是全球最高水平的代表之一。2016年,谷歌量子计算团队使用3个量子比特对氢分子的基态能量进行了模拟[69],效果已经可以和经典计算机持平。2019年10月,谷歌使用其当时最新推出的54位量子比特芯片(其中53个量子比特可用)Sycamore运行随机电路取样,仅用200秒时间即得出了结果,而谷歌推算如果使用算力强大的超级计算机(经典计算机)Summit解决此问题需耗时1万年[70],这也是目前全球量子计算机经过实测的最强算力。2020年3月,谷歌推出了TensorFlow Quantum量子机器学习算法开发平台,助力于未来全球量子算法的发展。IBM是全球最早布局量子计算的公司之一,早在1999年就采用核磁共振技术开发出3位量子比特计算机。2016年,IBM推出量子云计算平台IBM Q Experience,至此,IBM成为全球第一个推出量子云服务的公司。2017年,IBM采用超导量子比特技术开发出17位量子计算机和50位量子计算机。2019年,IBM推出Q System One,这是一台53位的量子计算机。微软于2005年就开始成立相关团队进入量子计算领域,提出了一种在半导体-超导体混合结构中建造拓扑保护量子比特的方法,并于2016年宣布计划投入巨额资源开发量子计算机的原型产品。亚马逊则专注于量子云计算服务。2020年8月,亚马逊云服务公司宣布Amazon Braket量子计算服务正式上线。客户可以在运行于亚马逊云计算资源的模拟量子计算机上,探索、设计和测试量子算法并进行故障排除。
国内方面,量子计算研究的代表包括本源量子和量旋科技等初创企业,分别推出了6比特超导量子芯片和2比特演示型量子计算机等。阿里巴巴也和中科院联合推出了量子云平台。我国在量子计算领域研究发展较快,但过去主要以理论研究为主,最近加大了在实验研究方面的投入,参与者主要是科研机构、高校。在核心论文数量、研究机构数上我国处于世界前列,基础研究能力仅次于美国,但在专利产出方面,我国明显弱于美国、英国、德国、日本等,基础研究成果转化有待加强。工程化及应用推动方面,我国与美国差距明显,国内企业的发展远落后于IBM、谷歌、微软等跨国企业。
对于实用化的量子计算机的研发,目前普遍认为需要经过实现量子优越性、实用化的量子模拟机和容错量子计算机三个发展阶段。首先是实现量子优越性(也称为量子霸权),量子优越性是指量子计算机对于某一问题拥有超越现有经典计算机的计算能力。2019年10月,谷歌基于其开发出的一款54量子比特数的超导量子芯片“Sycamore”[71]宣称其率先实现了“量子优越性”。2020年12月4日,中国科学技术大学团队构建了76个光子的量子计算原型机“九章”[72],实现了“高斯玻色取样”任务的快速求解,这一成果也成为我国成功到达量子计算优越性这一阶段的里程碑。下一个阶段是量子模拟机,用于解决若干超级计算机无法胜任的具有重大实用价值的问题,到达这一阶段至少需要操纵几百个量子比特。最后的阶段是可编程的通用量子计算机,这一阶段需要实现通用的量子计算,而一旦实现将在许多领域产生颠覆性影响。
总结
量子计算机的提出是从提高计算能力和解决散热问题两个方面出发。20世纪90年代中期,Shor算法以及Grover算法的提出,促成了量子计算研究的第一个高潮。经过20年的发展,2016年IBM推出5比特超导量子计算云平台,开启了量子计算研发的又一个高潮,以国际著名大公司加入研发为标志,量子计算向着实际应用发展。
最近两年,量子计算的硬件得到了快速的发展,而这些发展是参与研发的公司多年研发积累的结果。超导量子计算走在了最前面,它具有与传统半导体工艺兼容的优点,几个主要参与研发的大公司都采用了这一体系。拓扑量子计算方案有很大的潜力,一旦在技术上有所突破,则有望大幅度加速量子计算机的研发进程。
量子程序语言从1996年开始发展,几乎和量子计算硬件的发展同步,而且相对于硬件更加完整,可以在经典模拟机器和现有的量子计算系统中应用。
在今后若干年内,量子计算机的发展模式将是有噪声的中等规模量子计算,量子比特数目在几百个左右,带有噪声而不能实现容错。这种NISQ量子计算机在二十年的时间内将无法进行足够大的数的分解,不能对使用的公开密钥体系RSA等形成实质性的威胁。其主要用途是对量子体系进行模拟,如量子材料模拟、量子化学模拟等。与此同时,在对精度要求不高,有时候还需要加入噪声的机器学习方面,NISQ可能会有应用。
注释
[1]Feynman, R. P., "Simulating Physics with Computers", International Journal of Theoretical Physics, 1982, 21(6), pp. 467-488.
[2]Moore, G. E., et al., "Progress in Digital Integrated Electronics", International Electron Devices Meeting, IEEE, 1975, pp. 11-13.
[3]Benioff, P., "The Computer as a Physical System: A Microscopic Quantum Mechanical Hamiltonian Model of Computers as Represented by Turing Machines", Journal of Statistical Physics, 1980, 22(5), pp. 563-591.
[4]Shor, P. W., "Algorithms for Quantum Computation: Discrete Logarithms and Factoring", Proceedings 35th Annual Symposium on Foundations of Computer Science, IEEE, 1994, pp. 124-134.
[5]Grover, L. K.,"A fast Quantum Mechanical Algorithm for Database Search", Proceedings of the Twenty-eighth Annual ACM Symposium on Theory of Computing, 1996, pp. 212-219; Long, G. L., "Grover Algorithm with Zero Theoretical Failure Rate", Physical Review A, 2001, 64(2), 022307.
[6]Long, G. L., "Grover Algorithm with Zero Theoretical Failure Rate", Physical Review A, 2001, 64(2), 022307.
[7]Toyama, F. M.; van Dijk, W., et al., "Quantum Search with Certainty Based on Modified Grover Algorithms: Optimum Choice of Parameters", Quantum Information Processing, 2013, 12(5), pp. 1897-1914; Castagnoli, G., "Highlighting the Mechanism of the Quantum Speedup by Time-symmetric and Relational Quantum Mechanics", Foundations of Physics, 2016, 46(3), pp. 360-381.
[8]Wei, S. J.; Li H. and et al., "A Full Quantum Eigensolver for Quantum Chemistry Simulations", Research, 2020, 1486935.
[9]Bennett, C. H. and Brassard, G., "Quantum Cryptography: Public Key Distribution and Con Tos5", in Proceedings of the International Conference on Computers, Systems and Signal Processing, 1984, pp. 175-179; Chen, Y. A.; Zhang, Q., et al., "An Integrated Space-to-ground Quantum Communication Network over 4,600 Kilometres", Nature, 2021, 589(7841), pp. 214-219.
[10]Long, G. L. and Liu, X. S., "Theoretically Efficient High-capacity Quantum-key-distribution Scheme", Physical Review A, 2002, 65(3), 032302; Qi, R.; Sun, Z., et al., "Implementation and Security Analysis of Practical Quantum Secure Direct Communication", Light: Science & Applications, 2019, 8(1), e22.
[11]You, X.; Wang, C. X.; Huang, J., et al., "Towards 6G Wireless Communication Networks: Vision, Enabling Technologies, and New Paradigm Shifts", Science China Information Sciences, 2021, 64(1), 110301.
[12]"IBM Makes Quantum Computing Available on IBM Cloud to Accelerate Innovation", https://www-03.ibm.com/press/us/en/pressrelease/49661.wss, 2016-5-4.
[13]Moore, K. S., "IBM Edges Closer to Quantum Supremacy with 50-Qubit Processor", https://spectrum.ieee.org/tech-talk/computing/hardware/ibm-edges-closer-to-quantum-supremacy-with-50qubit-processor, 2017-11-15.
[14]https://quantumcomputingreport.com/news/google-announces-a-72-qubit-superconducting-quantum-chip/.
[15]https://medium.com/rigetti/the-rigetti-128-qubit-chip-and-what-it-means-for-quantum-df757d1b71ea.
[16]Song, C.; Xu, K., et al., "Observation of Multi-component Atomic Schrödinger Cat States of up to 20 Qubits", https://arxiv.org/abs/1905.00320, 2019-5-1.
[17]Gong, M.; Wang, S., et al., "Quantum Walks on a Programmable Two-dimensional 62-qubit Superconducting Processor", https://arxiv.org/abs/2102.02573v2, 2021-2-4.
[18]Blatt, R. and Wineland, D., "Entangled States of Trapped Atomic Ions", Nature, 2008, 453(7198), pp. 1008–1015.
[19]"IonQ Harnesses Single-atom Qubits to Build the World's Most Powerful Quantum Computer", https://ionq.com/news/december-11-2018#appendix.
[20]Debnath, S.; Linke, N. M., et al., "Demonstration of a Small Programmable Quantum Computer with Atomic Qubits", Nature, 2016, 536, pp. 63-66.
[21]Monz, T.; Nigg, D., et al., "Realization of a Scalable Shor Algorithm", Science, 2016, 351, pp. 1068-1070.
[22]Ballance, C. J.; Harty, N. M., et al., "High-Fidelity Quantum Logic Gates Using Trapped-lon Hyperfine Qubits", Physical Review Letters, 2016, 117(6), 060504.
[23]Gaebler, J. P.; Tan, T. R., et al., "High-Fidelity Universal Gate Set for 9Be+ Ion Qubits", Physical Review Letters, 2016, 117(6), 060505.
[24]Wang, Y.; Mark, U., et al., "Single-qubit Quantum Memory Exceeding Ten-minute Coherence Time", Nature Photonics, 2017, 11, pp. 646-650.
[25]Wang, P. F.; Luan, C. Y., et al., "Single Ion Qubit with Estimated Coherence Time Exceeding One Hour", Nature Communications, 2021, 12(1), pp. 1-8.
[26]Ray, T., "Microsoft: We Have the Qubits You Want", https://www.barrons.com/articles/microsoft-we-have-the-qubits-you-want-1519434417, 2018-2-23.
[27]Jones, J. A.; Mosca, M., "Implementation of a Quantum Algorithm on a Nuclear Magnetic Resonance Quantum Computer", The Journal of Chemical Physics, 1998, 109(5), pp. 1648–1653.
[28]Vandersypen, M. K. L., et al., "Experimental Realization of Shor's Quantum Factoring Algorithm Using Nuclear Magnetic Resonance", Nature, 2001, 414(6866), pp. 883–887.
[29]Pan, J.; Cao, Y. D., et al., "Experimental Realization of Quantum Algorithm for Solving Linear Systems of Equations", Physical Review A, 2014, 89(2), 022313.
[30]Zhang, J.; Long, G. L., et al., "Nuclear Magnetic Resonance Implementation of a Quantum Clock Synchronization Algorithm", Physical Review A, 2004, 70(6), 062322.
[31]Du, J. F.; Xu, N. Y., et al., "NMR Implementation of a Molecular Hydrogen Quantum Simulation with Adiabatic State Preparation", Physical Review Letters, 2010, 104(3), 030502.
[32]Peng X.; Zhang, J., et al., "Quantum Simulation of a System with Competing Two-and three-body Interactions", Physical Review Letters, 2009, 103(14), 140501.
[33]Peng, X. H.; Zhang, J. F., "Quantum Phase Transition of Ground-state Entanglement in a Heisenberg Spin Chain Simulated in an Mmr Quantum Computer", Physical Review A, 2005, 71(1), 012307.
[34]Feng, G. R.; Lu, Y., et al., "Experimental Simulation of Quantum Tunneling in Small Systems", Scientific Reports, 2013, 3.
[35]Xin, T.; Huang, S. L., et al., "NMRCloudQ: a Quantum Cloud Experience on a Nuclear Magnetic Resonance Quantum Computer", Science Bulletin, 2018, 63(1), pp. 17-23.
[36]Smith, R. S.; Curtis, M. J., "A Practical Quantum Instruction Set Architecture", https://arxiv.org/pdf/1608.03355.pdf, 2017-2-17.
[37]Cross, A. W.; Bishop, L. S., et al., "Open Quantum Assembly Language", https://arxiv.org/abs/1707.03429, 2017-7-11.
[38]Ömer, B., "A Procedural Formalism for Quantum Computing", http://tph.tuwien.ac.at/~oemer/doc/qcldoc.pdf, 1998-7-23.
[39]Knill, E., Conventions for Quantum Pseudocode, No. LA-UR 96-2724. Los Alamos National Lab., NM (United States), 1996.
[40]刘树森、周立等:《Q|SI>:一个量子程序设计环境》,《中国科学:信息科学》,2017年第10期,第1300~1315页。
[41]Bettelli, S.; Serafini, L. and Calarco, T., "Toward an Architecture for Quantum Programming", Eur Phys J D-Atomic Mol Opt Plasma Phys, 2003, 25, pp. 181–200.
[42]Sanders, J. W. and Zuliani, P., "Quantum Programming", in Proceedings of the 5th International Conference on Mathematics of Program Construction, Berlin: Springer, 2000, pp. 80–99.
[43]Pakin, S., "A Quantum Macro Assembler", in High Performance Extreme Computing Conference, IEEE, 2016, pp. 1–8.
[44]Peter, S., "Towards a Quantum Programming Language", Mathematical Structures in Computer Science, 2004, 14(4), pp. 527-586.
[45]Altenkirch, T. and Grattage J., "A Functional Quantum Programming Language", 20th Annual IEEE Symposium on Logic in Computer Science (LICS'05), IEEE, 2005.
[46]Wecker, D. and Svore K. M., "LIQUi|>: A Software Design Architecture and Domain-specific Language for Quantum Computing", https://arxiv.org/abs/1402.4467, 2014-2-18.
[47]Maymin, P., "Extending the Lambda Calculus to Express Randomized and Quantumized Algorithms", https://arxiv.org/abs/quant-ph/9612052, 1996-12-31.
[48]van Tonder, A., "A lambda Calculus for Quantum computation", SIAM Journal on Computing, 2004, 33(5), pp. 1109-1135.
[49]https://www.microsoft.com/en-us/quantum/development-kit.
[50]“华为发布量子计算模拟器HiQ云服务平台”,https://www.huawei.com/cn/press-events/news/2018/10/huawei-hiq-cloud-service-platform,2018年10月12日。
[51]吴楠、宋方敏:《通用量子计算机:理论、组成与实现》,《计算机学报》, 2016年第12期,第2429~2445页。
[52]徐家福、宋方敏、钱士钧等:《量子程序设计语言 NDQJava》,《软件学报》,2008年第1期,第1~8页。
[53]刘玲、徐家福:《量子程序设计语言 NDQJava-2》,《软件学报》,2011年第5期,第877~886页。
[54]宋方敏、钱士钧等:《量子程序设计语言NDQJava处理系统》,《软件学报》,2008年第1期,第9~16页; 程振伟、徐家福:《量子程序设计语言NDQJava2处理系统——词法分析程序及语法分析程序》,《计算机科学与探索》,2013年第6期,第 562~569页。
[55]Xu, J. F. and Song, F. M., "Quantum Programming Languages: A Tentative Study", Science in China Series F: Information Sciences, 2008, 51(6), p. 623.
[56]Shor, P. W., "Algorithms for Quantum Computation: Discrete Logarithms and Factoring", Proceedings 35th Annual Symposium on Foundations of Computer Science, IEEE, 1994, pp. 124-134.
[57]Grover, L. K., Proceedings of the Twenty-eighth Annual ACM Symposium on Theory of Computing, 1996, pp. 212-219; Long, G. L., "Grover Algorithm with Zero Theoretical Failure Rate", Physical Review A, 2001, 64(2), 022307.
[58]Long, G. L., "General Quantum Interference Principle and Duality Computer", Communications in Theoretical Physics, 2006, 45(5), pp. 825-844; Long, G. L., "Duality Quantum Computing and Duality Quantum Information Processing", International Journal of Theoretical Physics, 2011, 50(4), pp. 1305-1318.
[59]Long, G. L., "General Quantum Interference Principle and Duality Computer", Communications in Theoretical Physics, 2006, 45(5), pp. 825-844; Long, G. L., "Duality Quantum Computing and Duality Quantum Information Processing", International Journal of Theoretical Physics, 2011, 50(4), pp. 1305-1318.
[60]Gudder, S., "Mathematical Theory of Duality Quantum Computers", Quantum Information Processing, 2007, 6(1), pp. 37-48.
[61]Zhang, Y.; Cao, H. X. and Li, L., "Realization of Allowable Qeneralized Quantum Gates", Science China Physics, Mechanics and Astronomy, 2010, 53(10), pp. 1878-1883.
[62]Qiang, X. G.; Zhou, X. Q., et al., "Large-scale Silicon Quantum Photonics Implementing Arbitrary Two-qubit Processing", Nature Photonics, 2018, 12(9), pp. 534-539.
[63]Harrow, A. W.; Hassidim, A. and Lloyd, S., "Quantum Algorithm for Linear Systems of Equations", Physical Review Letters, 2009, 103(15), 150502.
[64]Wei, S.; Zhou, Z., et al., "Realization of the Algorithm for System of Linear Equations in Duality Quantum Computing", in 2017 IEEE 85th Vehicular Technology Conference (VTC Spring), IEEE, 2017, pp. 1-4.
[65]Wittek, P. and Gogolin, C., "Quantum Enhanced Inference in Markov logic Networks", Scientific Reports, 2017, 7(1), pp. 1-8.
[66]Wei, S. J,; Li, H., et al., "A Full Quantum Eigensolver for Quantum Chemistry Simulations", Research, 2020, 1486935.
[67]Shao, C. P.; Li, Y. and Li, H., "Quantum Algorithm design: techniques and applications", Journal of Systems Science and Complexity, 2019, 32(1), pp. 375-452.
[68]魏世杰、王涛、阮东等:《量子算法的一些进展》,《中国科学:信息科学》,2017年第10期,第1277~1299页。
[69]O'Malley, P. J. J., et al., "Scalable Quantum Simulation of Molecular Energies", https://journals.aps.org/prx/pdf/10.1103/PhysRevX.6.031007.
[70][71]Arute, F.; Arya, K., et al., "Quantum Supremacy Using a Programmable Superconducting Processor", Nature, 2019, 574, pp. 505–510.
[72]Zhong, H. S.; Wang, H., et al., "Quantum Computational Advantage Using Photons", Science, 370(6523), pp. 1460-1463.
责 编/桂 琰
The Development and Prospect of Quantum Computer
Long Guilu
Abstract: Quantum computers are a new type of computer that processes information directly by quantum states. Quantum states are superpositive and quantum computers are parallel. One operation on a quantum computer composed of n qubits is also an operation on all the 2n quantum states it includes, so that it can complete tasks that classical computers can't. Quantum computers have shown that they outshine the classical computers in large number decomposition and disordered database search. Since 2016, multinational companies represented by IBM have entered this field, and the R&D of quantum computer has entered a new stage of rapid development. At present, the superconducting quantum computing system is developing rapidly, reaching the scale of nearly 100 qubits and taking the lead in realizing quantum supremacy over classical computing. Its strong competitors include the topological quantum computing system, the quantum-dot quantum computing system and the ion trap quantum computing system. In the next few years, the hardware of quantum computer will continue to develop rapidly, and different schemes will see differentiated progress. The operation system of quantum computer has been established and entered the stage of rapid development. Quantum application algorithms have begun to enter the practical R&D stage. All countries in the world regard the R&D of quantum computer as an important part of national strategy, so it has entered a period of great development.
Keywords: quantum computing, computer, system software, quantum mechanics