您好Quantum:迈出第一步进入量子计算

如果您想开始使用量子计算机,那么您来对地方了。 在本文中,我们将带您开始了解量子计算的基础知识。 我们还将向您展示如何开始尝试IBM Q Experience

使用本教程的最佳体验是互动体验。 如果您拥有iOS设备,请下载游戏Hello Quantum,并且在阅读时已经可以开始尝试。

最基础的

在进入量子计算机之前,什么是普通计算机?

简而言之,它们是使用存储和处理信息的设备 这些是简单的信息块,采用两个可能的值之一。 我们可以将这些值称为TrueFalse ,或者YesNo ,或者OnOff ,但是通常我们将它们称为01

量子计算机改为使用量子位 。 这些是可以使我们得到一些东西的量子物体。 尽管它们仍然是量子,但我们可以用单独使用位不可能做到的方式与它们一起玩。 这会使他们更难追踪,这正是普通计算机难以模拟它们的原因。 但是,如果我们知道自己在做什么,就可以利用它们来解决超级计算机在我们一生中都无法管理的问题。

问量子位问题

从qubit获取一点的过程本质上就像是在问一个问题。 我们可以问无限多个可能的问题中的任何一个,每个问题都可以用简单的01回答。

在研究量子位的最近几十年中,两个可能的问题已成为我们的最爱。 因此,尽管我们有无数的选择,我们通常只是选择其中一个。

我们表达问题的方式取决于我们描述量子位的方式。 在本文中,在游戏《 Hello Quantum》中,我们使用一对彩色圆圈以可视方式描述了它们。

我们的问题之一是询问底圈。 是黑色还是白色? 另一个问题是对最高层提出同样的问题。

问量子位问题以前是科学家只能做的事情。 现在,任何人都可以使用IBM Q Experience进行尝试。

IBM Q Experience使用一系列行来表示量子程序,每行都表示特定量子位的寿命。

量子位生命中的事件由在线上的符号表示。 要提出问题,您只需要正确的符号即可。

这是您需要询问qubit底圆的那个。

由于我们正在询问底部的圆圈是黑色还是白色,因此作为答案得到的位值将反映这些可能性。 如果底部圆圈为黑色,则结果为0如果底部为白色,则结果为1 。 如果两者都不是,那么量子比特就有点杂乱无章了。 它只能回答01 ,因此没有其他答案。 因此,在轮廓圆的情况下,它只是随机决定是给我们0还是1

要询问顶部圆,我们需要使用几个符号(顺便说一句,称为gates )。

询问该问题也将得到01的答案,具体取决于该圆圈是黑色还是白色,但是现在它是我们正在查看的最上面的圆圈。

您可能已经注意到上图中的某些内容。 当最上面的圆圈确定了答案时,最下面的圆圈是完全不确定的。 反之亦然。

这是因为一个量子位一次只能确定其对一个问题的答案。 这是由于量子系统内存在的基本不确定性。 量子位真的不知道如何回答一些问题,只是在被询问时才下定决心。

到目前为止,我们只讨论了一个量子位。 现在让我们一次玩两个。 我们将以与第一个类似的方式表示第二个qubit:一个包含两个圆的矩形。

由于不断出现随机性,因此此描述不够好。 例如,这是我们可以在测量几个量子位之前进行的处理。

这是两个量子位的小量子程序。 我们将在本文后面全面解释所有这些组件。 但是希望您现在可以接受它。

运行此程序后,让我们询问两个量子位的底圆。

结果是随机的。 因此,也许可以肯定的是排名靠前的圈子?

不! 他们也是随机的。 我们的量子位显然具有所有轮廓圆。

确定性哪里去了? 要找出答案,请尝试同时提出问题。

尽管两个最下面的圆圈都给出了随机答案,但这些答案一定会同意。 这就是我们确定的地方!

这是一件很奇怪的事情。 直到我们问了量子位,他们才真正知道如何回答这些问题。 但是不知何故,他们密谋总是同意。

考虑到这样的影响,在我们对位状态的可视化中将需要一些额外的细节。 我们需要跟踪两个量子位给出的答案是同意还是不同意。 我们需要对所有可能的问题对都执行此操作,无论答案看起来是否随机。

让我们开始添加另一个圆,该圆位于两个量子位的底部圆之间。 当我们将其涂成黑色时,表示底部的圆圈一定会同意。

现在尝试询问两个量子位的最高圆。 您会发现他们一定不同意。

我们需要添加另一个圆圈来表示这一点。 让我们将图像视为网格,然后将多余的圆圈放在最上面几行的交汇处。 我们将这个圆圈涂成白色来表示某些分歧。

我们还可以询问一个量子比特的上圆,另一个量子比特的下圆。 如果尝试这些测量组合,您会发现它们同样可能同意或不同意。

此信息也需要添加到我们的图片中。 需要另外两个圆圈来填充空白。 为了表示同意(或不同意)是随机的这一事实,我们将使用轮廓圆。

现在,我们有了一张图片,可以对我们期望得到的答案进行完整描述,无论我们选择提出什么问题。

给量子位答案

所有的量子比特都以相同的方式开始他们的生活:当被问到它们的底圆时,它们将给出答案0 。 这称为|0〉状态。

因此,两个量子比特在他们的生命开始时会像这样

当您查看|0〉 ,您可能想知道| 。 但是无需过多担心它们。它们基本上作为标签存在,提醒我们这不是数字0或位值0 ,而是对qubit的描述。 我们也可以通过将0涂成绿色或将其绘制在公主的王冠上来进行标记。 如果愿意,可以随意使用这些约定。

如果我们的量子位永远保持|0〉 ,那么我们的量子计算机将非常无聊。 因此,我们需要与他们合作。 最简单的操作是将底部圆圈从黑色翻转为白色,或者再次翻转。 就像拨动电灯开关一样。 这是通过X门完成的。

对量子位执行此操作将翻转其底圆。 因此,如果要回答0 ,它将现在回答1 ,反之亦然。 这意味着得到一个白色的底圈。 这称为状态|1〉

由于random保持随机,因此对轮廓圆执行X不会影响它。

更改量子位的底圆也会影响其与其他量子位的关系。 协议成为分歧,反之亦然。 因此, X的作用是翻转整行圆。

在上图中, X门位于底行,因为这对应于我们图像左侧的量子位。 要在另一个量子位上做一个X ,我们将X门拖到顶行。

有时我们可能还想翻转一个qubit的顶部圆。 这是通过称为Z的门完成的。 这是它应用于左侧的量子位。

这些操作XZClifford操作的示例。 这个奇特的名字只是告诉我们,它们是对圈子产生相对直接影响的操作。 实际上,这种可视化正是来自我们喜欢思考Clifford操作及其效果的方式。

Clifford还有其他业务。 有H ,它交换一个量子位的两个圆以及它们对应的行。

这样,我们可以更改量子位对哪些问题有一定答案的问题。 例如,我们可以采用|0〉的状态,其中下一个圆圈为黑色,然后使用H将该黑色圆圈向上交换至顶部。 然后,当被问到其底圆时肯定会回答0的量子位现在对顶部也是如此。

结果状态不能为|0〉 ,因为该名称已被使用。 所以我们称它为|+〉

如果我们在H之前执行X或在H之后执行Z ,则可以将其顶部圆改为白色。 这是我们称为|-〉的状态。

这些简单的操作不会帮助我们做很多事情。 如果要利用量子计算机的全部潜能,我们需要使用同时作用于两个量子位的门。

使qubit互相交谈

正如我们所看到的,量子位在回答问题时只有有限的确定性。 在对量子计算机进行编程时,我们的目标是尽我们所能来管理这种确定性。 我们必须指导它从输入到输出的过程。

到目前为止,我们还没有很多工具可以帮助我们实现这一目标。 实际上, H门是唯一使确定性完全消失的门。 玩Hello Quantum的 1级和2级会发现,探索整个网格还远远不够。

为了真正推动事情发展,我们需要一种新型的大门。 我们需要同时作用于一个以上量子位的门。 我们需要受控的大门

最重要的受控操作之一是受控Z,也称为CZ。 这是我们在Hello Quantum 3级中介绍的内容。 Q Experience还没有本机版本。 但是,如果是这样,它将看起来像这样。

有几种方法可以解释CZ的影响。 这些故事似乎都在说完全不同的话。 但是无论如何,它们都是一样的。

可以说CZ首先看左量子位的底圆。 取决于此圆圈是白色还是黑色, CZ要么在正确的量子比特上做一个Z ,要么什么都不做。 因此,左量子位实际上像开关一样起作用,确定右量子位是否获得Z。

CZ的另一种解释与此完全相同,但是两个量子位的作用相反。

在这些示例中,充当开关的是右量子位,可能得到Z的是左量子位。尽管它是完全相同的CZ ,但可以用完全相反的方式解释它!

解释CZ的第三种方法是完全不同的。 我们可以认为它只是绕圈运动的东西。 具体来说,它交换两对圆。 左边一对。

还有另一对。

尽管这种解释从根本上不同于其他两种,但它仍然完全捕捉到了CZ的效果。 您可以查看作用于相同状态的相同CZ ,并以三种方式中的任何一种进行解释。

这种解释并非没有麻烦的部分。 看看它对网格顶部的圆有什么作用。

在第一个示例中,最顶部的圆圈从轮廓变为白色。 在第二个中,它从轮​​廓变为黑色。 这背后的逻辑是什么?

无需了解这种效果就可以解决Hello Quantum的所有难题。 但是,如果您想成为量子程序员,您可能想知道发生了什么。 因此,我们将为您提供一个机会,亲自寻找答案!

这种效果似乎没有多大意义的唯一原因是网格不够大。 八个圆圈没有完全描述一对量子位。 为了获得完整的描述,我们需要添加另一个可能的问题。 在“ Q体验”上,可以通过以下步骤完成此问题。

为了跟踪它将给出什么答案,我们需要在每个量子位的描述中添加另一个圆圈。

在这里,新圆圈在中间,并且用不同的颜色突出显示了它。

为了描述中间圈子的可能结果,以及它们之间的所有可能的同意和分歧以及其他问题,我们需要一个由15个圆圈组成的网格。

有了这些,您就可以解决CZ的奥秘。 而且,您还可以查看XZH门如何影响这些新圆,以及尝试使用S类的新门。 只需在Q Experience上使用新的度量,然后使用结果来了解更大的网格即可。 要了解如何为此设置Q Experience,请参阅此处的文章。

超越克利福德

到目前为止,我们讨论的所有大门都是所谓的Clifford大门。 每一个都可以用交换圆圈或在黑白之间翻转来解释。

Clifford Gates有很多我们可以做的事情。 它们是我们在量子计算机中移动信息的方式的关键。 它们在纠错方面也很出色,因为它们可以用来查找缺陷,告诉我们它们在哪里,并让它们纠正。

但是,对于完整的量子计算,我们还需要更多。 我们需要超越仅是黑色,白色或轮廓的圆圈。 我们需要获得“大多为黑色”或“相当随机,但偏向于白色”的图像。 我们需要散布确定性,而不是呆在小岛上。 然后,在将其围绕网格摆动了一段时间之后,我们可以采用新的出乎意料的方式对其进行重组。

要执行这些操作,我们需要一个没有想象力的非Clifford门

Hello Quantum的应用程序版本中没有这些,但其姊妹游戏中有一个:命令行版本。 这有一个称为q的额外门供您尝试。

同样,Q Experience具有大量非Clifford门。 最容易尝试的是T和Tdg。 您将需要完整的15 qubit网格来解决这些问题,但是您拥有了所需的一切。

超越两个量子位

游戏“ Hello Quantum”仅需两个量子位就可以帮助您建立直觉和知识。 一旦有了这些,就可以开始处理更大的数字。

为了完整描述三个量子位,我们将再次需要跟踪它们如何回答这三个问题。 而且,我们需要跟踪一个量子位上的问题的答案如何与另一个量子位相一致或不同意。 这与第三者的行为有何关系? 这需要很多圈子。 确切地说,是一个包含63个立方体的立方体。

将其扩展到四个量子位,您需要255个圆的超立方体。 对于n个量子比特,需要4ⁿ-1。 我们需要跟踪的信息量会随着qubit的数量呈指数增长!

这意味着像在Hello Quantum中使用的那样的可视化将仅对少量的量子位有用。 毕竟,如果我们可以轻松地可视化大型量子计算机中发生的事情,那意味着我们可以轻松地对其进行仿真。 而且,如果我们能够轻松地模拟量子计算机,则无需构建它们。

但是需要构建它们。 通过在巨大的可能性空间中引导信息,我们可以找到在标准计算机上不可能实现的从输入到输出的路由。 有时,这些速度会快很多。 有些程序需要一个宇宙大小的超级计算机来解决,而这些程序将在更合理的时间内与更合理大小的量子计算机一起使用。

但是现在,让我们坚持两个。 如果您想了解有关如何设置IBM Q Experience的更多信息,并探索本文中讨论的问题,那么这里是一个简短指南。

IBM Q Experience入门

现在,您可以在家中舒适地使用量子计算机。 所有您需要开始的…

medium.com

如果您是一名程序员,并且更愿意使用QISKit SDK来玩qubit,还可以签出Hello Quantum的命令行版本。