1900 年,德国物理学家普朗克(Max Planck)提出量子概念,「量子论」就此宣告诞生。1981 年,著名物理学家费曼 Richard Feynman 提出了量子计算 / 量子计算机的概念,自此,量子力学进入了快速转化为真正的社会技术的进程,人类在量子计算应用发展的道路上行进的速度也越来越快。
关于量子计算,我国量子光学的泰斗级人物郭光灿院士在文章中是这样阐述的:「量子比特可以制备在两个逻辑态 0 和 1 的相干叠加态,换句话讲,它可以同时存储 0 和 1。考虑一个 N 个物理比特的存储器,若它是经典存储器,则它只能存储 2^N 个可能数据当中的任一个,若它是量子存储器,则它可以同时存储 2^N 个数,而且随着 N 的增加,其存储信息的能力将指数上升,例如,一个 250 量子比特的存储器(由 250 个原子构成)可能存储的数达 2^250, 比现有已知的宇宙中全部原子数目还要多。」
但是,对于大多数非物理专业的人来说,理解量子计算的原理和算法难度还是「相当大」。量子态 (Quantum State)、量子叠加(Quantum Superposition)、量子纠缠(Quantum Entanglement),这些名词可能你都听说过,也看过一些数学分析和理论介绍,但是对于量子计算到底是什么依然一知半解。
一位研究量子计算的独立科学家 Michael A. Nielsen 给出了一篇关于量子计算的科普性文章《Quantum computing for the very curious》,本文我们来一起学习一下这些量子计算入门的知识。
文章链接:https://quantum.country/qcvc
我们都知道,发明计算机的主要思想源自于英国数学家艾伦 · 图灵(Alan Turing)和德国数学家大卫希尔伯特(David Hilbert)。希尔伯特在 1928 年提出了一个问题:是否存在一个数学家可以遵循的通用算法,让他们知道任何给定的数学陈述是否可证明。希尔伯特希望的算法有点像纸笔相乘两个数字的算法。除了从两个数字开始以外,你应该从一个数学猜想开始,经过算法的步骤,你就会知道这个猜想是否可以被证明。该算法可能过于耗时,无法在实践中使用,但如果存在这样的算法,那么至少在原则上,数学是可以理解的。为了攻击希尔伯特的这一问题,图灵精确的定义了算法的含义,并描述了我们现在所称的图灵机器(Turing machine):可以执行任何算法的单一通用可编程计算设备。从那时起,计算机逐渐发展成为了一个产业,数十亿台基于图灵模型的计算机已经售出。
1985 年,英国物理学家大卫 · 德伊奇(David Deutsch)提出了一个更深入的方法来定义算法。Deutsch 指出,每一个算法都是由一个物理系统来执行的,无论是一个有纸和铅笔的数学家,还是一个像算盘这样的机械系统,或是一台现代计算机。Deutsch 提出这样一个问题:是否有一个(单个)通用计算设备可以有效地模拟任何其他物理系统?如果有这样的设备,您可以使用它来执行任何算法,因为算法必须在某种物理系统上执行。因此,这台设备将是一台真正通用的计算机。更重要的是,Deutsch 指出,你不需要像 Turing 那样依赖非正式的启发式参数来证明你的算法概念。你可以用物理定律来证明你的设备是通用的。
从这个意义上说,计算机不仅仅是人类的发明。它们是宇宙的一个基本特征,回答了关于宇宙如何运作的一个简单而深刻的问题。它们很可能是被许多外星智能反复发现的。在试图回答这一问题时,Deutsch 观察到基于 Turing 模型的普通计算机在模拟量子力学系统时遇到了很多困难。为了解决这一问题,提出了量子计算机:量子计算机可以做常规计算机所能做的一切,但也能够有效地模拟量子力学过程。这篇文章解释了量子计算机是如何工作的,同时,还将学习量子力学的基本原理。
第一部分:量子位及其状态(Part I: The state of a qubit)
在普通的日常计算机中,信息的基本单位是位(Bit)。所有这些计算机所做的事情都可以被分解成 0s 和 1s 的模式,以及 0s 和 1s 的简单操作。与传统计算机由比特构成的方式类似,量子计算机由量子比特(quantum bits)或量子位(qubits)构成,一个量子比特对应一个状态(state)。但是,比特的状态是一个数字(0 或 1),而量子比特的状态是一个向量。更具体地说,量子位的状态是二维向量空间中的向量。这个向量空间称为状态空间。
有两种特殊的量子态对应于经典比特的 0 态和 1 态。对应于 0 的量子态通常表示为 | 0⟩:
其中,这种特殊状态 | 0⟩称为计算基态(computational basis state)。由此,∣0⟩是量子位的计算基态,其作用与 0 在经典比特位中的作用几乎相同。类似的,1⟩表示为二维向量如下:
计算基态∣0⟩和∣1⟩只是一个量子位的两种可能状态,量子位可以具有更多的状态,这些额外的状态赋予了量子位普通经典比特所不具备的能力。以下图为例:
状态 0.6∣0⟩+0.8∣1⟩是∣0⟩ 向量的 0.6 倍加上∣1⟩的 0.8 倍。在通常的向量表示法中,表示状态为:
从数学理论的角度分析,量子位状态是一个复杂向量空间中的二维向量。接下来,让我们熟悉一些常用于量子态的术语。最常见的术语之一是叠加(superposition )。0.6∣0⟩+0.8∣1⟩是∣0⟩是∣0⟩ 和∣1⟩ 的叠加,即该状态是∣0⟩ 和∣1⟩ 的线性组合。另一个常见的术语是振幅(amplitude)。振幅是叠加态的系数。例如,在 0.6∣0⟩+0.8∣1⟩中,∣0⟩的振幅为 0.6,|1⟩的振幅为 0.8。量子态的限制条件是:振幅的平方和必须等于 1。对于更一般的量子态,振幅可以是复数,我们用α和β来表示,状态表示为α∣0⟩+β∣1⟩。约束条件是振幅的平方和是 1:
这一约束条件称为规范化约束(normalization constraint)。用一句话总结所有这些术语:量子位的量子态是二维复向量空间(称为状态空间)中单位长度的向量。对于状态 0.6∣0⟩+0.8∣1⟩,量子态的描述为:这一状态同时(simultaneously)存在于∣0⟩ 状态和∣1⟩状态。这种叠加性的描述理解起来太痛苦了,就好像说,一个人处于生与死的叠加态,这种叠加态是什么?人怎么可能同时处于生与死的状态呢?
当然,这种叠加性强调的是粒子级别的。人是巨大的粒子集合体,人身体里的粒子差不多达到了 27~28 位数这样的级别,所以人是没有任何叠加性的。关于量子态的上述描述都是强调粒子级别的,也就是量子位的特性。
第二部分:量子逻辑门(Part II: Introducing quantum logic gates)
量子逻辑门(Quantum logic gates)是操纵量子信息的一种方式,即量子比特或量子比特集合的量子状态。它们类似于普通日常计算机中使用的经典逻辑门,如与门、或门和非门。而且,就像经典门在传统计算机中的作用一样,量子门是量子计算的基本组成部分。它们也是描述许多其他量子信息处理任务的便捷方式,例如量子隐形传态。
1、量子非门
量子非门是经典非门的推广。在计算基态中,量子非门模仿了经典非门:
但计算基态并不是量子比特唯一可能的状态。应用于一般叠加态中,量子非门表示为:
这里使用 NOT 表示量子非门。但从事量子计算的人们通常使用符号 X 来表示非门。因此,可以重写上述内容为:
到目前为止,我们使用的是代数方法来表示 X 门的工作方式。在量子电路(quantum circuit),我们描述 X 门如下:
从左到右的线叫做量子线( quantum wire)。量子线代表一个量子比特。术语 “线” 和它的绘制方式看起来就像量子位在空间中移动,同时,考虑这种表示在时间中的流逝对于理解量子计算也是很有意义的。将输入和输出状态显式地放在量子电路中,则有如下表示:
这就是 X 门的量子电路表示。X 门的第三个表示是一个 2×2 的矩阵:
对于一般叠加态来说,可以表示 X 门为:
2、量子线(Quantum wires)
量子线是最简单的量子电路,量子线表示为:
对于任意量子态 ∣ψ⟩,经由量子线后输出仍为 ∣ψ⟩:
从数学上讲,这个电路是微不足道的。但是在许多物理系统中,量子线实际上是最难实现的量子计算之一!原因是量子态通常是极其脆弱的。如果你的量子位被存储在一个微小的系统中——也许是一个单光子或者一个原子——那么它很容易,非常容易干扰这种状态。因此,虽然量子线在数学上是微不足道的,但它们可能是实际系统中最难构建的元素之一。
3、多门量子电路(A multi-gate quantum circuit)
首先,让我们来看一看最简单的多门量子电路,他是一个由两个在一行中的 X 门组成的电路:
我们尝试用两种不同的方式解释这一电路。首先是从数学理论角度分析,对于任意的输入的一般叠加态α∣0⟩+β∣1⟩使用两次 X,则表示将 0⟩和∣1⟩状态互换:
所以净效应是恢复原来的量子态,不管那个态是什么。换句话说,这个电路相当于一根量子线:
然后,我们从矩阵表示的角度分析这个电路。如果输入是任意量子态 ∣ψ⟩,经过第一次门后状态为 X∣ψ⟩,经过第二次门后为 XX∣ψ⟩。XX 可以表示为:
XX 表示单位矩阵操作(Identity operation),因此 XX∣ψ⟩就是原始∣ψ⟩。
4、Hadamard 门(The Hadamard gate)
令 H 表示 Hadamard 门,则有:
Hadamard 门将一般叠加态α∣0⟩+β∣1⟩转变为对应的叠加态输出:
重写上式后得到:
Hadamard 门的电路表示如下:
与 X 门类似,H 的矩阵表示为:
利用 H 门处理量子态∣0⟩,可以得到:
类似的,利用 H 门处理量子态∣1⟩,可以得到:
为了更熟悉 Hadamard 门,让我们分析一个简单的电路:
对于输入量子态∣0⟩,经过第一个 H 门后为
之后输入第二个 H 门后,输出为
将∣0⟩项输入(∣0⟩+∣1⟩)/sqrt(2),将∣1⟩项输入(∣0⟩-∣1⟩)/sqrt(2),因此输出为上式中, |1⟩项可以相互抵消,最终只留下∣0⟩,即:
同样的推理过程适用于输入量子态∣1⟩。因此,量子电路保持了 | 0⟩和 | 1⟩状态不变,电路的净效应与量子线完全相同:
从矩阵表达的角度分析,对于任意量子态 ∣ψ⟩输入,输出为 HH∣ψ⟩。如果你只计算矩阵乘积 HH,结果是 2×2 的恒等式矩阵,H H=I。因此,我们得到 HH∣ψ⟩=∣ψ⟩。
这个推导过程似乎与我们的预设并不一致,我们假象的是,利用 H 门,应当可以将 | 0⟩和 | 1⟩进行混合(mix),但是输出的结果竟然是不变?这就涉及到量子计算中的两个很重要的概念:消除(cancellation)或增强(reinforcement)。首先使用 Hadamard 门在量子态中“展开”,例如在多重计算基态的叠加。在算法的最后,他们使用巧妙的消除和增强模式,将事物重新组合到一个(或可能是几个,在许多量子位情况下)计算基态中,并生成所需的答案。这种消除和增强的处理过程在很多量子计算中都是非常重要的。
5、测量量子位(Measuring a qubit)
假设 Alice 在实验室制作了一个量子态α∣0⟩+β∣1⟩,她发送给了 Bob,那么 Bob 如何得到 α和β的值呢?答案是:不可能!Bob 永远无法知道α和β的值!这与我们日常思考世界如何运转的方式是大不相同的。如果你的车出了问题,机械师可以使用诊断工具来了解发动机的内部状态。所使用的诊断工具越好,他们能了解的内部状态就越详细越多。类似地,当我们第一次开始学习量子电路时,会猜测似乎我们也可以随时观察到量子态的振幅。但事实证明这是物理定律所禁止的,这些振幅是一种隐藏的信息。
让我们来描述一个特别重要的过程,称为计算基础上的测量(measurement in the computational basis)。这是量子计算的基本原理,是我们通常从量子计算机中提取信息的方式。我们首先解释它如何在单个量子位上工作,稍后将其推广到多量子位系统。
对于一般叠加态α∣0⟩+β∣1⟩,当在计算的基础上测量这个量子位时,它给给出的信息为:结果为 0 的概率为 |α|^2,结果 1 的概率 |β|^2, 量子位测量后的对应状态为 | 0⟩或 | 1⟩。需要注意的一个关键点是,在测量之后,无论结果如何,α和β都消失了。无论后位状态是 | 0⟩还是 | 1⟩,都没有α或β的踪迹。所以你无法得到更多关于他们的信息。从这个意义上说,α和β是一种隐藏的信息——测量并不能告诉你它们是什么。
6、一般单量子位门(General single-qubit gates)
对于一般的单量子位门来说,它们的工作原理类似。一般的单量子位门可以表示为 2×2 的酉矩阵 U。输入任意量子态 ∣ψ⟩,得到输出为 U∣ψ⟩。矩阵 U 是酉矩阵的是什么意思?用代数方法回答这个问题是最简单的,它的意思是 U†U=I。也就是说,U 的伴随矩阵,表示为 U†,乘以 U,等于恒等矩阵。伴随矩阵为 U 的复共轭转置:
“酉矩阵到底意味着什么?”原文对这个问题有详细的证明过程,本文对此略过,感兴趣的读者可以阅读原文。在这里,我们引用作者给出的结论 “酉矩阵保持了输入的长度。” 对于任意量子态 ∣ψ⟩,计算单量子位门处理后的长度为 ||U( ∣ψ⟩)||,该长度与原始长度 || ∣ψ⟩|| 相等。在这里,它们就像普通(真实)空间中的旋转或反射,也不会改变长度。在某种意义上,酉矩阵是实旋转和反射的一个复杂推广。作者在原文中还证明了这样一条结论:“酉矩阵是唯一保持长度的矩阵”。完整的证明过程本文不再提及。
7、控制非门(The controlled-NOT gate)
截止到上文,我们已经讨论了进行通用量子计算所需的大部分思想(尽管我们略过了核心的酉矩阵的证明过程)。我们了解了量子位、量子态、量子门、。然而,到目前为止我们涉及到的门只有一个量子位。真正在量子计算中,我们需要一些方法让量子位相互作用。也就是说,我们需要包含两个(或更多)量子位的量子门。本小结中就介绍一个这种门:控制非门(CNOT)。
其中,上面有小的填充点的线(在本例中是顶部的线)称为控制量子位。上面有较大的未填充圆的线称为目标量子位。我们现在有四个计算基态,对应于两个量子位系统的四个可能状态:|00⟩,|01⟩,|10⟩和 | 11⟩。对于两个量子位系统,我们不仅可以有这四种状态,还可以有它们的叠加态(即线性组合):
其中的参数α,β,γ,δ均为复数,以及
CNOT 门的作用很简单。如果控制量子位设置为 1,如在状态 | 10⟩和 | 11⟩中,则它翻转目标量子位,否则就什么都不做。给出所有四种计算基础的动作:
如果您熟悉经典编程语言,那么可以将 CNOT 看作一种非常简单的 If-then 语句:如果设置了控制量子位,那么就不是目标量子位。虽然看起来 CNOT 门很简单,但它可以用作构建其他更复杂类型的条件行为的构建块。
有一种方法可以把上面的四个方程综合成一个方程。假设 x 和 y 是经典量子位,即 0 或 1。然后我们可以将上面的方程重写为一个方程:
其中插入的逗号的目的是使其更易于阅读,并不是由其它实际意义,这在处理多量子位状态时非常常见。上面的公式清楚地表明,CNOT 只保留控制量子位 x,但如果 x 设置为 1,则翻转目标量子位 y。最后,CNOT 会线性地作用于计算基态的叠加,就像我们对量子门所期望的那样。所以对于任意叠加态,我们有:
此外,CNOT 是酉的,因此保持了量子态的长度。
对于三个量子位的情况, |000⟩,∣001⟩等等,下面是 CNOT 示例,其中第二个量子位作为控制量子位,第三个量子位作为目标量子位。
对于任意计算基态 | x,y,z⟩,第一个位 x 没有改变,因为它与 CNOT 无关。第二位 y 是控制位,所以没有改变。当控制位 y 设置为 1,则第三位 z 被翻转。整个过程如下:
CNOT 是一个 “经典” 门,它可以与单个量子位门结合来做完成经典任务。下面给出一个两个量子位的计算示例。从计算基态 | 00⟩开始,对第一个量子位应用 Hadamard 门,然后执行 CNOT:
其输出为:
这个输出态是一个高度非经典的态,它是一种叫做纠缠态(entangled state)的态。纠缠态可以用来完成各种有趣的信息处理任务,包括量子隐形传态和快速量子算法。
更一般的,对于量子世界的 CNOT,如果我们有一个量子位态α∣0⟩+β∣1⟩ 和γ∣0⟩+δ∣1⟩,两个量子位组合在一起时的组合状态是:
CNOT 只保留控制量子位,并修改目标量子位,这在传统的计算理论基础上是正确的。但是在量子的世界中,可能是相反的。目标量子位也有可能影响控制量子位。
第三部分:通用量子计算(Part III: Universal quantum computing)
让我们回到最开始的问题:是否有一个计算设备可以有效地模拟任何其他物理系统?目前,人类最适合这种计算设备的候选者是量子计算机。基于我们上面讨论的各种元素就能够制造出这样一个装置。在本文的第三部分中,我们将讨论什么是量子计算机,为什么它们有用,以及它们是否可以被用来有效地模拟任何其他物理系统。
1、量子计算模型(The quantum computing model)
在一般的量子计算中,从许多量子位开始——我们在这里画四个,但一般来说,它可能更多(或更少)。可以应用各种量子门,特别是单量子位门和 CNOT 门。在电路的最后可以通过计算的方法测量出结果。这就是它的样子:
其中的各个单个量子位门可能是各种各样的东西——H 门、CNOT 门、旋转门,也许还有其他的。我们可以将量子计算的三个步骤总结如下:
从计算基态开始。
应用一系列 CNOT 和单量子位门。
为了得到结果,在计算的基础上进行测量。任何结果的概率,例如 000…0,只是相应振幅绝对值的平方。
当然,我们只是介绍了量子计算最基础的内容。实际上,量子计算还包括更多的奇异变化,如基于测量的量子计算、拓扑量子计算等。它们在数学上都是等价的,包括量子电路模型。因此,这些模型中的任何一个量子计算都可以转换为量子电路模型中的等效计算,而计算成本上的开销很小。反之亦然。
最后,我们介绍一个特殊的量子门,这些门都是单位矩阵的倍数。
其中,θ为实数,且θ为酉矩阵。e^(iθ)叫做 全局相因子(global phase factor)。这个门对最终的结果是无影响的。想象一个量子电路,它包含许多这样的量子门,可能有不同的值,θ1,θ2,...。无论在电路中的哪个位置出现门,净效应是将电路的状态输出乘以总因子 e^(iθ1+iθ2+...)。这不会改变计算基态的平方振幅,因此不会影响计算结束时的测量概率。
2、量子计算究竟有什么好处?
在上面的分析中,我们已经用 X 门代替了 NOT 门,如果我们能够找到替代 AND 门的量子门,就可以使用量子计算代替普通计算,同时保有量子计算的高速性能。在量子计算中,使用的是一个叫做 Toffoli 门的三位量子门。Toffoli 门很像 CNOT 门,但是它没有一个控制量子位,而是有两个控制量子位 x 和 y,以及一个目标量子位 z。如果设置了两个控制量子位,则目标翻转。
如果目标从 z=0 开始,目标输出为 x∧y,所以 Toffoli 门可以用来模拟经典的 AND 门。这其中的一个问题是,Toffoli 门不在我们的标准基本量子门集合中。可以用 CNOT 和单量子位酉门(single-qubit unitary gates)来建立 Toffoli 门。分解的一种方法如下所示:
世界是由量子系统组成的。制药公司雇佣了成千上万的化学家来合成分子并描述其特性。目前这是一个非常缓慢和艰苦的过程。在一个理想的世界里,通过高精度的计算机模拟,应当可以更快地获得相同的信息数千倍或数百万倍,从而得到更多有用的信息,回答化学家今天不可能回答的问题。不幸的是,经典计算机很难模拟量子。
假设我们有一个包含 n 个原子的分子,对于小分子来说,n 可能是 1-10,对于复杂分子来说,n 可能是数百或数千甚至更多。假设我们把每个原子看作一个量子位:为了描述这个系统,我们需要 2^n 个不同的振幅,每个 n 位的计算基态需要一个振幅,例如,| 010011⟩。实用经典的计算机模拟这样的系统非常困难。仅仅存储振幅就需要惊人的计算机内存。模拟它们在时间上的变化更具挑战性,涉及到对所有振幅的极其复杂的更新。目前,物理学家和化学家发现了一些巧妙的方法来简化这种情况。但即使有了这些技巧,在经典计算机上模拟量子系统也是不切实际的。而量子计算可以快速模拟量子。
在未来的一个世纪里,当我们拥有可伸缩的量子计算机时,许多问题将会变得非常容易,因为量子计算机非常适合模拟量子系统。量子计算机不需要在经典计算机内存中增加一倍(或更多)的模拟原子,而只需要少量(且恒定)的额外量子位。
但是,量子计算机真的足够通用到高效模拟任何物理系统吗?量子计算机真的是通用设备吗?作者在文章最后写道 “这个问题是个未解之谜!我们还不知道答案。” 回答这个问题的部分麻烦在于人类还没有发现物理学的最终基本定律。现代物理学是建立在两个惊人有效的理论基础之上的:爱因斯坦的广义相对论,它描述了引力是如何工作的;粒子物理学的标准模型,它解释了几乎所有其他东西(电磁,强和弱的核力)是如何工作的。
问题是,我们还没有一个结合广义相对论和标准模型的量子引力理论。没有这样的量子引力理论,我们就无法回答量子计算机能否有效模拟任何其他物理系统的问题。也许将来需要一些量子引力计算机,甚至比量子计算机更强大,来模拟量子引力。
我们转向另外一个问题:“我们能否利用量子计算机有效地模拟广义相对论和标准模型?”标准模型是一种称为量子场论的特殊量子力学理论的例子。约翰普雷斯基尔(John Preskill)和他的合作者写了一系列的论文,这些文章分析了如何用量子计算机来有效地模拟量子场论。尽管这些论文并没有能够模拟出完整的标准模型,但它们确实取得了许多令人鼓舞的进展。就广义相对论而言,这个问题仍然悬而未决。事实上,即使阐述清楚广义相对论都是很难的。广义相对论支持封闭的时间型曲线的存在,在某种意义上,它可以用来将信息发送回时间。
另一个复杂的问题是,当谈到计算中的 “有效模拟” 时,主要是指时间和空间开销不会太大。但在广义相对论中,甚至连空间和时间的基本单位也不太清楚,很难说效率意味着什么。最后,接近奇点的时间和空间会以奇怪的方式扭曲,这也使得准确地说出高效计算的意义变得很困难。所以,这个问题也还是个未解之谜。
第四部分 量子计算的应用-量子计算机
我们在学习了上面的量子计算知识的基础上,一起来看一看量子计算机是如何具体构造和实现的。所谓量子计算机是指遵循量子力学规律,基于量子计算原理进行信息处理的一类物理装置,拥有超强的信息携带能力和计算处理能力。和经典计算机一样,量子计算机也有各种各样的软件,包括量子操作系统,底层的量子操作指令、汇编语言,以及未来开发的量子应用软件和算法等等。
在量子计算机领域中,Google 一直被视为 “领头羊”。2019 年 10 月底,Google 推出了名为“ Sycamore” 的量子计算机,声称实现了 “量子霸权(Quantum Supremacy)”,这台量子计算机由 54 个量子位的二维阵列组成。“量子霸权” 强调的是量子计算拥有超越所有经典计算机的计算能力。2019 年 9 月 18 日,IBM 在纽约举行了新量子计算中心的开幕仪式。在开幕仪式上,IBM 宣布推出了 53 个量子位的量子计算机,这被视作是量子计算的新的里程碑。IBM 认为 “量子优势(Quantum Advantage)” 才是量子计算的未来,谷歌采用的策略有误导公众之嫌。IBM 正通过将量子计算机与云计算技术相结合的方式,加速实现所谓的“量子优势”,推广量子计算在各行各业中的实际应用。
刚刚过去的不久前,霍尼韦尔 Honeywell 在 6 月 18 日宣布:已经建造了目前世界上性能最好的量子计算机,量子体积(Quantum Volume)至少为 64 以上,其性能是下一代量子计算机的两倍,甚至超过了谷歌、IBM 同类产品。是的,你没看错,就是我们一直熟悉的造口罩的 Honeywell,他们已经宣布造出了地球上最强的计算机。Honeywell 是老牌的工业集团,其官方宣布制造量子计算机的主要目的是为将量子运算纳入工业解决方案,为客户创造颠覆性的应用。
最后,我们以 Google 发表在 Nature 的文章为参考,介绍 Google Sycamore 量子计算机的设计和构成。
论文引用信息:Frank Arute, Kunal Arya, et al., Quantum supremacy using a programmable superconducting processor, 2019, Nature
论文链接:https://www.nature.com/articles/s41586-019-1666-5#Fig1
20 世纪 80 年代初,理查德 · 费曼提出量子计算机将是解决物理和化学问题的有效工具,因为用经典计算机模拟大型量子系统的成本是指数级的。然而,实现费曼的设想给人们提出了重大的实验和理论挑战。首先,量子系统是否可以被设计成在足够大的计算空间(Hilbert space)中进行计算,并且具有足够低的错误率以提供量子加速?第二,是否能提出一个经典计算机很难但量子计算机很容易解决的问题吗?在这篇文章中,通过在 Google 的超导量子位处理器上计算一个基准任务,解决了这两个问题。本文中的实验实现了量子霸权,这是走向全面量子计算的一个里程碑。
本文证明了量子加速在现实系统中是可以实现的,并且不被任何隐藏的物理定律所排除。量子霸权也预示着噪声介质量子(noisy intermediatescale quantum,NISQ)技术的时代。本文选择的基准任务是在生成可证明的随机数(generating certifiable random numbers)。此外,本文所展示出的这种新计算能力也可以应用于优化、机器学习、材料科学和化学等领域。然而,要实现量子计算的全部可能的应用(例如,使用 Shor 的因子分解算法)仍然需要技术上的飞跃来设计容错逻辑量子位。
首先,我们简述一下 Google 在本文中选择的基准任务。为了证明量子优越性,本文将量子处理器与最先进的经典计算机在对伪随机量子电路的输出进行采样的任务中进行了比较。通过重复应用单量子位和两个量子位的逻辑运算,设计了一组量子位纠缠电路。对量子电路的输出进行采样会产生一组位串,例如{0000101011100,…}。由于量子干涉,比特串的概率分布类似于激光散射中光干涉产生的散斑强度图,因此某些比特串比其他比特串更容易出现。经典地计算这种概率分布的方法会随着量子位数(宽度)和电路门周期数(深度)的增加而变得越来越困难。
本文使用一种称为交叉熵基准测试(cross-entropy benchmarking)的方法来验证量子处理器是否正常工作,该方法将实验观察每个比特串的频率与其在经典计算机上通过模拟计算出的相应理想概率进行比较。对于给定的电路,收集测量的位串{席},计算线性交叉熵基准保真度,这是我们测量的位串的模拟概率的平均值:
其中 n 是量子比特的总数,P(xi) 是为理想的量子电路计算的位串 xi 的概率,并且平均值超过了观察到的比特串。FXEB 和采样高概率的比特串的频率相关。当量子电路没有错误的时候,其概率分布呈指数分布,而从这个分布采样将能够使得 FXEB = 1。本文目标是设计出具有足够宽度和深度的电路实现足够高的 FXEB,这是一个困难的任务,因为我们的逻辑门是不完美的,我们打算创建的量子态对错误很敏感。在算法过程中,单比特或相位翻转将会完全打乱散斑图案,并导致接近零保真度。因此,为了实现量子霸权,我们需要一个量子处理器,它以足够低的错误率执行程序。
本文设计了一个名为 “ Sycamore” 的量子处理器,它由 54 个 transmon 量子位组成的二维阵列组成。Transmon 是一种利用以超导状态工作的约瑟夫森结(JJ)元件的量子位,属于电容器性质略强的类型。图 1 为 Sycamore 处理器图示。a)处理器的布局,显示一个由 54 个量子位(灰色)组成的矩形阵列,每个量子位可调耦合到一个矩形格子的四个最近的相邻接点;b) Sycamore 处理器的照片。Sycamore 的一个关键的系统工程进展是实现了高保真度的单量子位和双量子位操作,这些操作都不是孤立的,且在对多个量子位同时执行门操作的实际计算中也是如此。
图 1. Sycamore 处理器。
在超导电路中,传导电子凝聚成宏观量子态,使得电流和电压表现为量子力学行为。本文的处理器使用 transmon 量子位,它可以被认为是 5-7ghz 的非线性超导谐振器。量子位被编码为谐振电路的两个最低量子本征态。每个 transmon 状态都有两个控制:一个微波驱动器来激励量子位,一个磁通量控制来调节频率。每个量子位都连接到一个线性谐振器,用于读取量子位状态。如图 1 所示,每个量子位还使用新的可调节耦合器连接到其相邻的量子位。我们的耦合器设计允许快速将量子位 - 量子位耦合从完全关停调整到 40 M 赫兹。一个量子位不能正常工作,所以设备使用 53 个量子位和 86 个耦合器。
处理器是用铝做金属化和约瑟夫森结,用铟做两个硅片之间的凸点键。该芯片通过电线连接到超导电路板上,并在稀释冰箱中冷却到 20 mK 以下,以将环境热能降低到远低于量子位能的水平。处理器通过滤波器和衰减器连接到室温电子设备,由其合成控制信号。通过使用频率复用技术,可以同时读取所有量子位的状态。使用两级低温放大器来增强信号,该信号是数字化的(在 1 G 赫兹频率时为 8 比特),并在室温下通过数字化实现解复用。总共设计了 277 个数模转换器(14 位,1GHz),用于完全控制量子处理器。
关闭量子位 - 量子位耦合,同时通过驱动与量子位频率共振的 25 纳秒的微波脉冲来执行单量子位门。脉冲经过整形,从而最大程度地避免了过渡到更高的 transmon 状态。由于两级系统缺陷,门的性能会随频率产生很大的变化,杂散微波模式会与控制线和读出谐振器相耦合,量残余的杂散耦合于量子比特、磁通噪声和脉冲失真。因此,我们优化了单量子位操作频率,以减轻这些错误机制。
伪随机量子电路产生的门序列如图 2 所示。该算法的一个循环是在所有的量子位上应用从 {sqrt(X),sqrt(Y),sqrt(W)} 中随机选择的单个量子位门,然后在成对的量子位上应用两个量子位门。构成 “supremacy circuits” 门的序列被设计成最小化产生高纠缠态所需的电路深度,这是计算复杂性和经典硬度所必需的。每个周期包括一个层,每个层有一个和两个量子位门,应用从 {sqrt(X),sqrt(Y),sqrt(W)} 中随机选择的单个量子位门,满足 W= (X + Y )/ sqrt(2),门不按顺序重复,根据平铺模式选择两个量子位门的序列,将每个量子位依次耦合到其四个最近邻量子位。耦合器被分为四个子集(ABCD),每个子集在与阴影颜色对应的整个阵列中同时执行。这里展示了一个难处理的序列(repeat ABCDCDAB);还使用了不同的耦合器子集以及一个可以在经典计算机上模拟的简单序列(repeat EFGHEFGH,未显示)。
图 2. 量子霸权电路控制操作 。(a)实验中使用的量子电路实例;(b)单、双量子门控制信号波形。
Google 这篇文章中关于实现量子霸权的电路的详细实验和结果对比、计算成本分析等我们在此就不再赘述。对于 Google 披露的相关实验细节和实验结果,IBM 颇有微词。关于这些争论,本文不做评价,对量子计算机感兴趣的读者可以查阅相关的资料。IBM 所强调的是“量子优势”,IBM 构建了 IBM Q 计划,是业界第一个为商业和科学领域构建通用量子计算机的计划,IBM Q System One 是世界上第一个集成量子计算系统,科学家和研究人员可以利用 IBM Q System One 进行量子算法的编写和量子代码的运行。IBM 通过 IBM Q 加速实现所谓的“量子优势”,推广量子计算在各行各业中的实际应用。
IBM Q计划链接:https://www.research.ibm.com/quantum-computing/system-one/
到这里,这篇关于量子计算的 “入门级” 文章就介绍完毕了。回顾整篇文章,我们了解和学习了量子计算的各种基本知识:量子位、量子态、量子门、量子线、量子电路等等。理论上,基于这些元素就能够制造出一个量子计算机。最后,我们也一起了解了 Google 的量子计算机是如何实现的。实际上,量子计算和量子计算机涉及的问题远不止此,本文没有涉及任何实际应用方面的问题。量子计算机能够给我们的生活和工作带来哪些改变?让我们一起拭目以待吧!
作者介绍:仵冀颖,工学博士,毕业于北京交通大学,曾分别于香港中文大学和香港科技大学担任助理研究员和研究助理,现从事电子政务领域信息化新技术研究工作。主要研究方向为模式识别、计算机视觉,爱好科研,希望能保持学习、不断进步。