量子计算机如何在硬件级别上进行基本数学运算?


27

通过阅读Reddit线程,我意识到即使经过几个月的量子计算学习,我也对量子计算机的实际工作方式一无所知。

为了使问题更精确,假设我们有一个基于超量子比特的5量子比特量子计算机(例如5量子比特IBM Quantum Computer)。我使用键盘在显示器上输入(例如在量子计算机可能具有的基本计算器应用中)。之后,它应该还给我5。但是,这是在硬件级别进行的吗?是对应于输入某种电信号的23+要在计算机的处理单元?这会以某种方式“初始化”库珀对电子吗?库珀对电子量子位之后发生了什么(猜测它们将被某些量子门所作用,这又又被量子门所影响)。2+3523+黑匣子)?最终如何将输出返回给我?5

对于通过网上搜索我对量子计算机的基本工作几乎没想到,我感到很惊讶。

Answers:


26

首先,经典计算机在算术和逻辑单元(ALU)的硬件级别上执行基础数学。逻辑门采用低和高输入电压,并使用CMOS来实现逻辑门,从而可以执行和构建各个门来执行更大,更复杂的操作。从这个意义上讲,在键盘上打字就是发送电信号,最终导致发送给ALU的命令(以更多电信号的形式),正在执行的正确操作以及更多的信号被发送回,并转换为在屏幕上以数字形式显示像素。

量子计算机呢?

量子处理器有两种可能的使用方式:它们自己使用,或者与经典处理器结合使用。但是,大多数(包括您的超导示例)量子处理器实际上并不使用电信号,尽管这仍然是您的鼠标,键盘和显示器等如何传输和接收信息的方式。因此,需要一种方法将电信号转换为量子处理器使用的任何信号(稍后再讲),以及某种告诉处理器您想做什么的方法。这两个问题都可以通过经典的预处理和后处理(例如在IBM的QISKit中)立即解决。Microsoft在Q#中采用了更多的自上而下的方法,其中针对量子处理器的程序与脚本相比,更像是“经典”程序编写的,然后针对硬件进行编译和潜在优化。也就是说,如果您有一个函数,它可以执行经典运算,也可以调用量子处理器以执行任何必需的量子运算。这引出我的第一点:

2+3

好的,假设您正在迫使经典处理器使用量子处理器,在这种情况下,它是使用transmon量子位的IBM超导芯片之一,例如IBM QX4。这太小了,无法进行纠错,因此我们忽略它。电路模型处理器的使用分为三个部分:初始化,单一演化和测量,下面将对其进行详细说明。在那之前,

什么是transmon?

EJ=IcΦ0/2π Φ0=h/2eIcVgCgEC=(2e)2/2CC

H=EC(nng)2EJcosϕ,
nϕng=CgVg/2e|n=|0|n=|1E0=ω0E1=ω1ω=ω1ω0EC=5EJEJEC

最后,我们得出一个主要问题:

我们如何初始化,进化和测量转基因?

  • E(t)=Ex(t)cos(ωdt)+Ey(t)sin(ωdt)0<t<tgωd
    H=(ω1ωd12Ex(t)i2Ey(t)12Ex(t)+i2Ey(t)ω22ωd)
  • ωrgωωr±g2/(ωωr) 取决于量子位的状态,因此可以使用施加微波脉冲并分析透射率和反射率(通过计算机)来测量量子位。
  • |2|0|1|1。在这些状态之间避免交叉意味着可以实现2量子位的相位门,尽管通常2量子位的门实现得比单量子位的门要差(保真度较低)。
  • X|1|0

现在,将2和3加起来是初始化量子位,执行与经典可逆加法器等效的门并测量结果的“简单”问题,所有这些操作都是自动实现的。然后,按照常规方式,由经典计算机返回测量结果。

另外,为了实现可以在经典计算机上完成的门操作,遍历所有内容似乎毫无意义,因此事实证明,可以近似实现一个量子加法器,该量子加法器将两个量子相加(相对到经典)状态,但IBM的其中一个处理器存在某些错误。


15

这是我在量子计算机上进行算术的过程。

第1步:找到一个您感兴趣的经典电路。

在这个例子中,一个完整的加法器。

经典全加器

步骤2:将每个经典门转换为可逆门。

从一开始就让您的输出位出现,并使用CNOT,CCNOT等初始化它们。

半可逆全加器

步骤3:使用临时输出。

如果要执行此添加操作(例如,控制Grover oracle是否以-1相位),那么现在是时候将Z门应用于输出量子位了。

步骤4:通过执行与计算中间值完全相反的方法来消除中间值。

这可能会或可能不会包括摆脱输出位,具体取决于电路如何适合您的整体算法。

半可逆全加器2

步骤5 :(有时)保留的每个输出位都摆脱一个输入位。

我的意思不是“将它们放到地板上”,而是要应用使它们确定为0的操作。

计算时c+=a,留下原始值的副本c往往很糟糕。它破坏了连贯性。因此,您必须查看加法器电路(或其他电路),并认真考虑是否存在使用输出位来摆脱输入位的方法。例如,计算后,c+a您可以对寄存器r进行临时的非适当减法,对存储了不需要的副本的r进行r或r的寄存器c,然后还原该临时减法。

(“如果保留输出,不要保留太多输入”是一个明显的例外,这是Shor的算法。Shor的算法有意地分解其输入,但是以一种非常特殊的方式来帮助查找期间)。

步骤6:提高效率

在第5步中,我说过您可以通过执行异位加法,然后进行临时的异位减法来取消计算原位加法的输入。这有点傻。整个添加过程将跨越4n个量子位(n为保持a,n为保持c,n为保持c+a,n为保持(c+a)-a)。如果您更聪明,则可以将所有内容放入2nqubit或(稍微容易)放入2n+1qubit

cuccaro加法器

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.