一口气读懂量子计算 之 量子比特
The following article is from 图灵量子 Author TuringQ
FUTURE | 远见 闵青云 选编
希望这个系列能为对量子计算感兴趣的人提供一些帮助。
「图灵量子」将持续更新一系列量子计算入门文章,从最基本的量子比特(Qubit)讲起,一直讲到量子质因数分解。
相关的科普文章也可以阅读物理学家Michael A. Nielsen在量子计算方面最流行的教材 Quantum Computing for the Very Curious(文末有链接)。
这个系列将解释量子计算机的工作原理。它不是研究论文,也不是基于各种简单类比的普及。我们将深入挖掘,以便您了解量子计算的细节。在此过程中,我们还将学习量子力学的基本原理,因为理解量子计算需要这些原理。
学习这些材料具有挑战性。量子计算和量子力学是著名的「难」学科,通常被认为是神秘而令人生畏的。但是我相信通过阅读这一系列文章,任何有好奇心和有决心的人都可以深刻地理解量子计算。
当然,您需要一些数学知识来理解这篇文章。我假设您熟悉复数和线性代数——矢量、矩阵等。我还将假设您了解传统计算机中使用的逻辑门——诸如 AND、OR、NOT 等。
如果您缺少相关的数学知识储备,您需要获得它们,以下两个资源可能会有所帮助:
(1) 3Blue1Brown 关于线性代数的一系列YouTube 视频;
(2) Gil Strang 更深入的线性代数讲座。
要理解量子计算,绝对必须精通数学模型。数学从来都不是障碍,它是人类发明的最好的工具。
1. 入门量子计算
如果人类曾经接触过外星智能,这些外星人会拥有电脑吗?在科幻小说中,外星人的计算机是司空见惯的。如果这是正确的,这意味着外星人可以通过某种方式独立于人类发现计算机。毕竟,如果外星人独立发明了可口可乐、神奇宝贝或哈利波特书籍,我们会感到非常惊讶。如果外星人也拥有计算机,我们反而会觉得很自然。那是因为计算机是人类和外星文明都会产生的一个终极问题的答案。
在地球上,计算机的主要发明者是英国数学家艾伦·图灵。在他 1936 年发表的论文中,图灵并不是要发明一个聪明的小工具或创建一个行业。相反,他是在试图攻破由德国数学家大卫希尔伯特在 1928 年提出的关于数学本质的问题。这听起来很深奥,但理解希尔伯特和图灵的思想要点是值得的,因为它阐明了计算机的来源,以及计算机将何去何从的未来。
Alan M. Turing, On Computable Numbers, with an Application to the Entscheidungsproblem (1936).
在他的职业生涯中,希尔伯特对数学知识的终极极限很感兴趣:原则上,人类能够对数学了解到什么程度,以及数学的哪些(如果有)部分永远不为人类所知?
粗略地说,希尔伯特 1928 年的问题,讨论是否存在数学家可以遵循的通用算法,该算法可以让他们弄清楚任何给定的数学陈述是否可证明。希尔伯特希望的算法有点像,用于将两数字相乘的纸笔算法。除了不是从两个数字开始,您会从一个数学猜想开始,在完成算法的步骤之后,您会知道这个猜想是否可以证明。该算法在实践中使用起来可能太耗时,但如果存在这样的算法,那么至少在原则上数学是可知的。
1928 年,算法的概念还很模糊。到那时为止,算法通常是由人类使用纸和铅笔来执行的,如刚才提到的乘法算法或长除法算法。思考希尔伯特的问题迫使图灵准确地表达算法的含义。为此,图灵描述了我们现在所说的图灵机:可以执行任何算法的通用可编程计算设备。
今天,我们已经习惯了计算机可以通过编程来做许多不同的事情的想法。然而,在图灵时代,通用可编程计算机的想法是非凡的。图灵认为,只要提供了正确的程序,单个固定设备就可以模仿任何算法过程。这是想象力的惊人飞跃,也是现代计算的基础。
为了论证他的机器可以模仿任何算法过程,图灵考虑了人类数学家在执行算法时可以执行的所有运算。对于每一种运算,他必须证明他的机器总是可以做同样的事情。他的论点太长,无法在这里完整重现,但看看图灵推理的风格很有趣,也很有启发性:
计算通常是通过在纸上书写某些符号来完成的。我们可以假设这张纸像儿童算术书一样被分成正方形。在初等算术中,纸张的二维特性有时会被使用到。但是这样的使用总是可以避免的,我认为人们会同意纸张的二维特性不是计算的本质。我假设计算是在一维纸上进行的,即在分成正方形的磁带上进行。……
计算者的行为 [图灵指的是执行算法的人] 任何时候都取决于他正在观察的符号,以及当时他大脑状态。我们可以假设有一个界限B,B是计算者在某一时刻可以观察到的符号或正方形的数量。如果他想观察更多,他必须使用连续的观察。我们还将假设需要考虑的大脑状态数量是有限的。
显然,这是一个非正式的启发式论证!引用孩子的算术书或某人的大脑状态不是严格的、完美无缺的论点。但图灵的论点足以令人信服,以至于后来的数学家和科学家在很大程度上都愿意接受它。图灵机成为了黄金标准:我们可以在图灵机上执行算法。从那时起,计算机已经发展成为一个产业,基于图灵模型的计算机已经售出数十亿台。
尽管如此,图灵的分析还是有一些令人不安的地方。他可能在关于什么是算法的非正式推理中遗漏了一些东西?1985 年,英国物理学家 David Deutsch 提出了一种更深入的方法来定义算法的含义。
David Deutsch, 「Quantum theory, the Church-Turing principle and the universal quantum computer」 (1985).
多伊奇(Deutsch)指出,每一个算法都是由物理系统执行的,无论是拿着纸笔的数学家,还是算盘这样的机械系统,还是现代计算机。多伊奇然后考虑了以下问题:
是否有(单个)通用计算设备可以有效地模拟任何其他物理系统?
如果有这样的设备,您可以用它来执行任何算法,因为算法必须在某种物理系统上执行。因此,该设备将是一台真正通用的计算机。更重要的是,多伊奇指出,您不需要像图灵那样依赖非正式的、启发式的论据来证明您的算法概念是正确的。您可以使用物理定律来证明您的设备是通用的。
那么让我们回到开篇的问题:外星人会拥有电脑吗?上面多伊奇的问题是一个关于宇宙本质的简单而基本的问题。这是多伊奇的外星人同行可能也会思考的问题。他们所属的文明都将不可阻挡地去发明计算机。
从这个意义上说,计算机不仅仅是人类的发明。它们是宇宙的基本特征,是关于宇宙如何运作的一个简单而深刻的问题的答案。它们很可能被许多外星智能一次又一次地发现。
多伊奇是一位拥有量子力学背景的物理学家。他观察到,基于图灵模型的普通日常计算机在模拟量子力学系统方面存在很多问题。
Yu Manin 和 Richard Feynman 等研究人员此前已经观察到了这一点,并因此推测了基于量子力学的计算机。
特别是,它们在进行此类模拟时似乎异常缓慢且效率低下。多伊奇被迫发明了一种新型的计算系统——量子计算机。量子计算机可以做传统计算机可以做的一切,但也能够有效地模拟量子力学过程。因此,它们可以说是比传统计算机更自然的计算模型。如果我们遇到外星人,我敢打赌他们会使用量子计算机(或者,也许会有量子计算大脑)。毕竟,外星人的技术很可能比当前的人类文明先进得多。
1.1 量子比特
比特(Bit):数学上的 0 或者 1,物理上,一个比特可以被任何一种物理系统所表示,只要这种物理系统总是处在两个不同状态中的一个。常见的例子有:具有正反两面的银币,只有开和关的电子开关,只允许两个不同电压的电路。
经典计算机的计算单元是比特,与之相似,量子计算机的计算单元是量子比特(Qubit)组成的。
量子比特也被称为量子位。
像比特一样,量子比特也有状态。比特的状态要么是 0,要么是 1。量子比特的状态却是一个矢量。
更准确地说,量子比特的状态是一个存在于二维复矢量空间的矢量。这个矢量空间被叫做态空间。
比如,这是量子比特的一个可能状态:
物理上,量子比特可以是任何一种双态系统,它拥有两个不同的基态,对应于二维矢量空间中的基矢。
比如,电子的自旋,向上或向下。又或者是光子的极化,垂直极化和水平极化。在一个经典的系统中,一个比特必须处在两个状态中的一个,这时100%确定的。然而,量子力学允许量子比特处在一种两个基态的叠加态中,即一个任意二维矢量可以被两个基矢量表示。当您观察量子比特时,结果总是随机的从两个基态中挑选一个,您永远无法预先确定的知道它的结果。叠加态是量子力学和量子计算的基本性质。
小结:
(a) 量子比特有状态,叫做量子态(Quantum State);(b)就像比特,这个状态是一种抽象的数学描述;(c)比特的抽象状态是0或1,而量子态是一个二维矢量;(d)量子态所生存的空间被称为态空间,它本质上是一个二维矢量空间。
如果您规定永远只使用二维矢量空间中的基矢来存储信息,而不考虑任何叠加态。量子比特就变的与比特并无区别了。
如何用量子态表示比特的状态0呢?
在上文中其实已经提到了,为了书写方便,我们将给它一个特殊的符号
那么比特状态1呢?
虽然我们所做的只是找到了一种看起来新奇的符号, 或 ,来表示矢量罢了,但是最好把 或 作为整体看成一种新的符号,代表了一种新的数学对象。由于它们是矢量空间中的基矢,在量子计算领域里经常被叫做计算基础状态(Computational Basis State)。
其实是被狄拉克发明的ket符号,并在量子力学中被广泛运用。这种符号为量子态的矢量表示增加了一层额外的抽象。(Modern Quantum Mechanics by J. J. Sakurai)
1.2.1 量子比特的任意状态
计算基础状态 和 只是一个量子比特可以处于的无穷多种状态中的两个。毕竟,一个量子态是一个二维矢量。这是一个比特作为标量所不具备的特质。
这里有一个图示,强调了量子态的矢量本质。
为了方便,今后我将混用量子态,态,它们是一个意思。
img
在这个例子中,态 0.6 + 0.8代表了一种叠加态,它表示0.6倍的基矢加上0.8倍的基矢。也可以用常见的矩阵符号表示如下
一般来说,量子态是复矢量,也就是说,它们可以有复数作为条目。
例如,
它可以被写为
因为量子态是复矢量,上面的图示并不准确。那个平面是一个二维实数矢量存在的空间,而不是复数矢量。但是,可视化量子态仍然是一种有意义的思考方式。更准确的可视化方法是布洛赫球(Bloch Sphere)。
到这里您已经了解了量子态的数学表示,但您肯定有很多疑问。比如,为什么量子态是矢量,为什么是复数?
这些都是很好的问题。但他们确实需要一些时间来回答。就上下文而言,量子力学的发现不是一个单一的事件,而是发生在 1900 年至 1925 年 25 年的工作中。许多诺贝尔奖都是因为这一过程中的里程碑而获得的。这包括阿尔伯特·爱因斯坦的诺贝尔奖,主要因与量子力学(不是人们有时认为的相对论)相关的工作而获奖。
当世界上一些最聪明的人为发展一个理论而奋斗了 25 年时,这注定不是一个显而易见的理论!事实上,使用二维复矢量描述简单量子系统的想法总结了25 年来人们认识到的大部分知识。从这个意义上说,这是一个非常简单而美丽的陈述。但这不是一个明显的陈述,可能需要几个小时才能理解。可这总比花 25 年才理解要好!
让我们总结一些常用的关于量子态的术语。
最常见的术语之一是叠加(Supperposition)。人们会说像这样的状态是一个叠加的 和 . 他们的意思其实是 和 的一种线性组合。您可能想知道为什么他们不说「线性组合」(有时他们会说),因为这两个词来自不同的文化和不同的历史。
另一个常用术语是振幅(Amplitude)。振幅是某个基矢在叠加状态下的系数。例如,在状态 中, 的振幅是0.6,的振幅是0.8。
对于一个一般的量子比特的状态来讲,两个振幅都可以是复数,让我们用 和 来表示,
这里有一个限制条件,振幅模的平方和必须等于一,这叫做归一化条件。
下期您将会学到,这与用振幅来解释随机物理现象的概率有关。
一句话总结:一个量子比特的状态用一个存在于二维复矢量空间的单位矢量来表述,这个空间叫做状态空间。
1.2.2 量子模式(Qumode)
在上一节中,我们介绍了量子比特(Qubit)。除此之外,我们还可以利用量子模式(Qumode)来作为量子计算的基本单元。量子模式的物理实现依赖于光子。我们可以用光子的极化来实现离散的量子比特,我们也可以与利用光子的位置或动量信息来实现连续的量子模式。
其中,量子模式
在物理实现中,量子比特系统和量子模式系统之间的区别:
每个量子比特由一个原子或离子实现
每个量子模式都是用多个光子(电磁波)实现
想象量子模式的一种好方法是简单地把沿着芯片的波导看作一个量子模式,电磁波(激光脉冲)在波导中传播。波导可以单独或一起相互作用,并且可以在每个激光脉冲中包含多个光子。公式中的
总结一下,一个量子比特用两个复数表示,一个量子模式用
到目前为止,我们只详细讲了一个量子比特,或一个量子模式。想要理解
参考文献:
[1] https://quantum.country[2] J. J. Sakurai Modern Quantum Mechanics[3] https://en.wikipedia.org/wiki/Bra–ket_notation[4] M. A. Nielsen Quantum Computation and Quantum InformationEnd