多控制量子状态反转栅极

文档序号:1895101 发布日期:2021-11-26 浏览:4次 >En<

阅读说明:本技术 多控制量子状态反转栅极 (Multi-control quantum state inversion gate ) 是由 胡少晗 D·马斯洛弗 M·匹斯托爱 J·嘉姆贝塔 于 2020-04-14 设计创作,主要内容包括:在量子电路中,反转栅极被实施为具有两个控制,每个控制连接到控制量子位。在该量子电路中,响应于确定该反转栅极的每个控制当前被连接到控制量子位上,实施辅助栅极,该辅助栅极的第一控制被连接到从该反转栅极的第一控制移动的控制量子位上,该辅助栅极的第二控制,该第二控制被连接到从该组未安置的控制量子位中选择的控制量子位,所述辅助栅极的目标连接到所述反转栅极的所述第一控制。在该量子电路中实施的栅极处,响应于确定该栅极具有未连接到控制量子位上的最大数目的控制,该栅极的控制被连接到从该组未安置的控制量子位中选择的控制量子位。(In a quantum circuit, the inversion gate is implemented with two controls, each control connected to a control qubit. In the quantum circuit, in response to determining that each control of the inversion gate is currently connected to a control qubit, implementing an auxiliary gate, a first control of the auxiliary gate being connected to a control qubit moved from the first control of the inversion gate, a second control of the auxiliary gate being connected to a control qubit selected from the group of unset control qubits, a target of said auxiliary gate being connected to said first control of said inversion gate. At a gate implemented in the quantum circuit, in response to determining that the gate has a maximum number of controls that are not connected to a control qubit, the control of the gate is connected to a control qubit selected from the group of unsettled control qubits.)

多控制量子状态反转栅极

技术领域

本发明总体上涉及用于量子编程的方法、系统和计算机程序产品。更具体地,本发明涉及用于多控制量子状态反转栅极的方法、系统和计算机程序产品。

背景技术

分子和亚原子粒子遵循量子力学定律,量子力学是探索物理世界如何在最基本的水平上工作的物理学分支。在这个水平,颗粒以奇怪的方式表现,同时呈现多于一个状态,并且与非常远的其他颗粒相互作用。量子计算利用这些量子现象来处理信息。

我们今天使用的计算机被称为经典计算机(在此也被称为“常规”计算机或常规节点,或“CN”)。在所谓的Von Neumann架构中,传统计算机使用利用半导体材料和技术制造的传统处理器、半导体存储器、以及磁性或固态存储装置。具体地,传统计算机中的处理器是二进制处理器,即,对在1和0中表示的二进制数据进行操作。

一个量子处理器(q-处理器)使用纠缠的量子位器件(在此紧凑地称为“量子位”、多个“量子位”)的奇数性质来执行计算操作。在量子力学运行的具体领域中,物质颗粒能以多种状态存在,如“开”状态、“关”状态以及同时“开”和“关”状态。当使用半导体的二进制计算时,处理器被限制为仅使用开和关状态(相当于二进制代码中的1和0),量子处理器利用这些物质的量子状态来输出在数据计算中可用的信号。在此,量子位是量子信息的物理载流子。量子位是经典计算中的位的量子版本,并且可以具有|0>、|1>、或两者的线性组合的量子状态。

量子计算通常可以用于比常规计算更快地解决问题。例如,一种量子算法是Grover搜索,其利用比常规计算中的情况更少的查找通过N个项目的无序列表来实现搜索。

量子栅极(gate)是用于量子计算的基本构件,对量子位起作用,经典的逻辑栅极一次一个和两个对位起作用,以便以一种可控的方式改变量子位状态的方式。X栅极将单个量子位的状态反相,非常像非栅极在经典计算中将单个位的状态反相。一个H栅极或阿达玛栅极将一个单个量子位置于叠加状态,0和1量子状态的组合。当测量时,该量子位仅解析到一个确定的状态。例如,当提供有具有量子状态0的输入时,在阿达玛栅极内,量子状态是叠加的,但是输出具有处于量子0状态的50%的概率和处于量子1状态的50%的概率。其他单量子位栅极以其他定义的方式改变量子位状态。

多量子位栅极实施在量子位之间执行条件逻辑的栅极,意味着一个量子位的状态取决于另一个量子位的状态。例如,一个受控非栅极或CNOT栅极具有两个量子位输入,一个靶标量子位和一个控制量子位。如果该控制量子位处于|1>量子状态,该CNOT栅极将该靶标量子位的状态反转。如果该控制量子位处于|0>量子状态,该CNOT栅极不改变该目标量子位的状态。

多个量子位也可以纠缠。当两个或多个量子位尽管相距太远而不能彼此影响时,它们以单独随机的方式表现,但也以太强相关的方式表现而不能通过假设每个物体彼此独立来解释。其结果是,可以预测一个纠缠的多量子位系统的组合特性,但是不能预测在这种系统中测量每个单独量子位的单独结果。

类似于常规计算,量子计算栅极可以被组装成更大的组(称为量子电路)以执行更复杂的操作。例如,交换一对量子位的状态的SWAP栅极可以由三个CNOT栅极构成。

量子电路可以并行执行一些操作,并且串行执行一些操作。程序中最长系列的长度也被称为量子电路的深度。例如,包括SWAP栅极的三个CNOT栅极串联布置,给出深度3。具有较浅深度的程序花费较少的执行时间并且提供更好的性能,因此是优选的。

多控制反转栅极(在本文中也被称为反转栅极)是CNOT栅极的概括。CNOT栅极具有一个控制量子位,用于控制目标量子位的状态。相比之下,一个多控制反转栅极具有多于一个的控制量子位。如果所有的控制量子位都处于|1>量子状态,该多控制反转栅极将该目标量子位的状态反转。如果这些控制量子位中的任何一个不处于|1>量子状态,该栅极不改变该目标量子位的状态。多控制反转栅极也被称为Toffoli栅极。反转栅极是Grover的搜索和其他有用的量子处理算法中的关键部件。

发明内容

说明性实施例提供了一种方法、系统和计算机程序产品。实施例包括一种方法,该方法在量子电路中实施反转栅极,该反转栅极被配置为如果每个控制处于|1>量子状态,则对目标输入的量子状态进行反转,该反转栅极具有两个控制,这些控制各自被连接到从一组未安置的控制量子位中选择的控制量子位。实施例在该量子电路中响应于确定该反转栅极的每个控制当前连接到控制量子位而实现,第一辅助栅极,该第一辅助栅极包括反转栅极,该第一辅助栅极的第一控制被连接到从该反转栅极的第一控制移动的控制量子位,该第一辅助栅极的第二控制,该第二控制被连接到从该组未安置的控制量子位中选择的控制量子位,所述第一辅助栅极的目标,其连接到所述反转栅极的所述第一控制。实施例响应于确定该栅极具有未连接到控制量子位上的最大数目的控制而在该量子电路中实施的栅极处将该栅极的控制连接到从该组未安置的控制量子位中选择的控制量子位。

实施例包括计算机可用程序产品。计算机可用程序产品包括一个或多个计算机可读存储设备,以及存储在一个或多个存储设备中的至少一个上的程序指令。

实施例包括计算机系统。该计算机系统包括一个或多个处理器、一个或多个计算机可读存储器和一个或多个计算机可读存储设备,以及存储在该一个或多个存储设备中的至少一个上的用于由该一个或多个处理器中的至少一个经由该一个或多个存储器中的至少一个执行的程序指令。

附图说明

在所附权利要求中阐述了被认为是本发明的特征的某些新颖特征。然而,当结合附图阅读时,通过参考说明性实施例的以下详细说明,将最好地理解本发明本身以及使用的优选模式、其进一步的目的和优点,在附图中:

图1描绘了可以实现说明性实施例的数据处理系统的网络的框图;

图2描绘了可以实现说明性实施例的传统数据处理系统的框图;

图3描绘了实现多控制反转栅极的现有技术量子电路;

图4描绘了根据说明性实施例的多控制量子状态反转栅极的示范性配置的框图;

图5描绘了根据说明性实施例的双控制符号布局和相应的双控制量子电路的示例;

图6描绘了根据说明性实施例的三控制符号布局和相应的三控制量子电路的示例;

图7描绘了根据说明性实施例的四控制符号布局和相应的四控制量子电路的示例;

图8描绘了根据说明性实施例的四控制符号布局和对应的四控制量子电路的另一示例;

图9描绘了根据一个说明性实施例的一个四控制量子电路的实现方式;

图10描绘了根据一个说明性实施例的一个四控制量子电路的另一个实现方式;

图11描绘了根据说明性实施例的符号布局的附加示例;

图12描绘了根据说明性实施例的六控制符号布局和对应的六控制量子电路的另一示例;

图13描绘了根据一个说明性实施例的一个六控制量子电路的实现方式;

图14描绘了根据说明性实施例的符号布局的附加示例;以及

图15描绘了根据说明性实施例的多控制量子状态反转栅极的示范性应用的流程图。

具体实施方式

说明性实施例认识到,量子电路中的多控制反转栅极的当前使用的实现方式依赖于将多控制栅极分解成物理上可实现的单量子位栅极和两量子位CNOT栅极,从而在控制量子位和目标之间创建成对的纠缠相互作用。然而,在当前使用的量子处理器架构中,不是所有的量子位都可以彼此相互作用。结果,实施成对的纠缠相互作用可能需要额外的操作(如SWAP栅极)来将量子信号从一个量子位移动到另一个量子位。附加操作将附加栅极和附加电路深度两者添加到所得到的量子电路。然而,与具有较少栅极和较小深度的电路相比,具有较大数量的栅极和较高深度的量子电路总体上花费更长的时间来在同一个量子处理器上执行。

这些说明性实施例还认识到,因为当前的量子处理器不包括一种纠错能力,由电路噪声引起的量子位错误在电路执行过程中累积,其中错误随着执行时间的增加而增加。由此,量子电路必须具有足够小的栅极计数和足够小的深度,以便在噪声引起的量子位错误使得结果不可用之前完成执行。

一个或多个Toffoli栅极的目前使用的实现方式和配置被用作描述不同实施例的某些操作和功能的一些非限制性示例。根据本公开,本领域的普通技术人员将能够使实施例适应于其他类似提出的实现方式或配置,并且在说明性实施例的范围内设想了这样的适应。

例如,一个目前可用的多控制反转栅极实现方式将栅极分解成以V形布置的一系列双控制Toffoli栅极。该系列的第一部分(例如,V形的左臂)计算被保持为辅助(ancilla)量子位的部分乘积,这些部分乘积然后被计算成所希望的乘积输出。辅助量子位(复数个辅助量子位(ancillae))是用于临时保持信息的量子位,非常像在经典处理器中处理器寄存器临时保持信息。然而,复数个辅助量子位纠缠有最终结果。为了获得正确的结果,必须在测量最终结果之前去除这种纠缠。因此,该系列的第二部分(例如,V形的右臂)对复数个辅助量子位进行仿真或解缠,将复数个辅助量子位去除至它们的原始状态并且允许所希望的最终结果的正确测量。这种实现方式被串联安排,其中每个相继的辅助量子位的计算取决于前一个辅助量子位的计算结果。结果是深量子电路。电路深度和系列执行需要量子电路的额外执行时间,从而限制可以使用此实现方式的控制的数量。

其他电流反转栅极实现不使用辅助量子位,或仅使用一个辅助量子位。然而,这样的量子电路实现方式甚至比V形实现方式更深,还限制了可以使用此实现方式的控制的数量。

因为反转栅极是Grover搜索和其他有用的量子处理算法中的关键部件,所以说明性实施例认识到,提高量子电路中的反转栅极实现的效率也使用这种改进的反转栅极来提高算法的效率。此外,在未校正的误差累积在阈值以上之前不能完全执行的量子电路根本不产生可用的结果。因此,说明性实施例认识到,本领域所需的是多控制反转栅极实现方式,其不串联执行并且比当前使用的实现方式更不深并且使用更少的栅极。

说明性实施例认识到,目前可用的工具或解决方案没有解决这些需求或者为这些需求提供足够的解决方案。用于描述本发明的说明性实施例通常解决和解决上述问题和与多控制量子状态反转栅极相关的其他问题。

实施例可以被实现为软件应用。实施一个实施例的应用程序可以被配置为将量子电路的逻辑表示转换成可由q处理器执行的形式的现有系统的修改、作为结合这样转换系统运行的单独的应用程序、独立的应用程序、或它们的某种组合。

具体地,一些说明性实施例提供了一种方法,通过该方法,在量子电路中实现相对于电流实现方式具有改善的性能的多控制反转栅极。

H树布局有助于可视化多控制反转栅极的量子电路实现。H树布局以二维形式描绘二叉树。特别地,H树表示多控制反转栅极分解成双控制或双和三控制反转栅极的配置。H树的中心节点表示多控制反转栅极的目标。H树的叶节点代表栅极的控制。H树的中间节点表示用于实现栅极的辅助量子位。连接H树节点的线段表示可在一个或多个双控制或双和三控制反转栅极中实现的子树。例如,H树布局c-t-c表示双控制反转栅极,其中,每个“c”表示对该栅极的控制,并且“t”表示该栅极的目标。

由于二叉树结构,任何辅助(任何子树的结果)可以并行执行而不是串行执行,将电路深度从线性(在现有技术的V形实现中)降低到平方根深度。

实施例接收要在量子电路中实现的多控制反转栅极的规范。该规范规定了反转栅极的一组控制量子位和目标量子位。该实施例的目标是使用一组小反转栅极在量子电路中实现指定的多控制反转栅极。如本文中所使用的,小反转栅极具有小于正被实施的多控制反转栅极的控制输入的数量的控制输入的数量。在一个实施例中,每个小反转栅极具有两个控制输入。在另一个实施例中,每个小反转栅极具有两个或三个控制输入。由此,为了实施指定的多控制反转栅极,一个实施例在必要时使用辅助量子位将这些指定的控制量子位中的每一个连接到一个小反转栅极的一个控制输入端上。

在所构建的量子电路中,一个实施例将该组控制量子位中的两个与该目标量子位连接到一个双控制反转栅极的对应输入端上。

一个实施例从该组控制量子位中选择控制量子位,该控制量子位还未被连接到小的反转栅极的控制输入上。如果没有当前实现的具有未连接输入的小反转栅极,则必须计算附加的辅助。为了计算附加辅助,实施例在量子电路中实现附加小反转栅极。为了实现新栅极,实施例将控制输入从先前实现的栅极的控制输入移动到新栅极的控制输入。该实施例在该新栅极的另一个控制输入端连接需要放置的控制量子位。新栅极的目标是辅助栅极,其现在用作先前实现的栅极的控制输入,代替被移动的控制输入。

相反,如果存在具有未连接输入的当前实现的小反转栅极,则还不需要额外的辅助。相反,一个实施例确定具有最多控制输入还未连接到一个控制量子位上的小反转栅极。如果多于一个小反转栅极具有相同数量的尚未连接的控制输入,则实施例使用栅极的数字顺序、逆数字顺序、随机或伪随机选择过程或另一选择方法来选择任何栅极。一个实施例将需要放置的控制量子位连接到所选择栅极的尚未连接的控制输入上。

一个实施例以此方式继续,连接来自该组控制量子位的控制量子位,这些控制量子位要求放置并且视情况添加辅助量子位,直到该组中的每个控制量子位已经被连接到该量子电路中的一个小反转栅极的一个输入端上。此时,指定的多控制反转栅极的第一部分完成。

然而,该电路中的任何辅助量子位仍然必须是未计算的,即,从作为最终结果的靶标量子位解绕。由此,一个实施例在该量子电路中在该产生目标量子位的小反转栅极之后实施一个镜像小反转栅极。一个镜子小的反转栅极具有与该镜子所对应的一个反转栅极相同的控制和目标量子位。镜像小反转栅极用来计算由对应的原始栅极计算的辅助。另一实施例在实现原始栅极时实现计算栅极,而不是等待直到指定的多控制反转栅极的第一部分完成。

一旦在该量子电路中实现了原始和并行的计算栅极两者,就认为该电路是完整的。实施例然后用使用甚至更小的量子电路单元的小反转栅极的实现方式代替电路中的每个小反转栅极。小反转栅极的一个实现方式使用SWAP和CNOT。这种小反转栅极的一个非限制性示例实现方式具有两个控制和十个CNOT,涉及仅在一个控制和靶标之间的2-量子位相互作用,并且还被称为双控制常规Toffoli栅极或双控制真Toffoli栅极。

小反转栅极的另一实施例不使用SWAP。这种小反转栅极的一个非限制性示例实现方式具有两个控制和三个CNOT,涉及仅在一个控制和靶标之间的2-量子位相互作用,并且还被称为双控制相对相位Toffoli栅极。这种小反转栅极的另一示例实现方式具有三个控制和六个CNOT,涉及仅在控制和目标之间的2量子位相互作用,并且还被称为三控制相对相位Toffoli栅极。一个小的反转栅极的相对相位的实现方式不能用于计算一个多控制反转栅极的目标量子位。然而,相对短语实现可被用于计算鹰鹰中的每一个。当可能使用显著更少的CNOT栅极(例如,3个栅极对常规双控制实现方式的10个栅极)时,使用相对相位实现方式而不是常规实现方式,并且因此是更有效的电路。

另一实施例,代替一旦电路完成就用实现方式代替电路中的每个小反转栅极,在构造电路时用实现方式代替电路中的每个小反转栅极。量子电路实现方式中的步骤顺序的其他变化也是可能的并且在说明性实施例的范围内被构想。

在此描述的多控制量子状态反转栅极的方式在当前可用的方法中不可用。在此描述的一个实施例的一种方法,当被实施为在一个装置或数据处理系统上执行时,包括通过生成一个更优化的量子电路来实质性地推进一个量子电路的功能性,该更优化的量子电路在一个更短的时间内产生与原始结果相同的结果,具有更快的执行并且使用更少的资源。

仅作为实例,关于某些类型的量子电路、量子栅极、量子位、量子处理器、控制、目标、阈值、约束、操作、执行参数、终端标准、装置、数据处理系统、环境、部件和应用来描述说明性实施例。这些和其他类似产物的任何特定表现不旨在限制本发明。可以在说明性实施例的范围内选择这些和其他类似产物的任何合适的表现。

此外,说明性实施例可以相对于任何类型的数据、数据源或通过数据网络对数据源的访问来实现。在本发明的范围内,任何类型的数据存储设备可以在本地在数据处理系统处或通过数据网络向本发明的实施例提供数据。在使用移动装置描述实施例的情况下,在说明性实施例的范围内,适合于与移动装置一起使用的任何类型的数据存储装置可在本地在移动装置处或经由数据网络将数据提供到此实施例。

使用特定代码、设计、架构、协议、布局、示意图和工具仅作为实例来描述说明性实施例,且说明性实施例不限于说明性实施例。此外,为了描述的清楚起见,在一些实例中仅使用特定软件、工具和数据处理环境作为实例来描述说明性实施例。说明性实施例可以结合其他可比较的或类似用途的结构、系统、应用或架构来使用。例如,在本发明的范围内,其他类似的移动设备、结构、系统、应用或其架构可以结合本发明的这样的实施例来使用。说明性实施例可在硬件、软件或其组合中实施。

本公开中的示例仅用于描述的清楚性,并且不限于说明性实施例。从本公开中可以想到附加的数据、操作、动作、操作、活动和操纵,并且这些附加的数据、操作、动作、活动和操纵被构想在说明性实施例的范围内。

在此列出的任何优点仅是实例并且不旨在限制这些说明性实施例。另外的或不同的优点可以通过特定的说明性实施例来实现。此外,特定说明性实施例可具有上文列出的优点中的一些、全部或没有优点。

参考附图,特别是参见图1和2,这些图是可以实现说明性实施例的数据处理环境的示例图。图1和2仅是示例并且不旨在断言或暗示关于其中可以实现不同实施例的环境的任何限制。特定实施例可基于以下描述对所描绘的环境做出许多修改。

图1描绘了可以实现说明性实施例的数据处理系统的网络的框图。数据处理环境100是其中可以实现说明性实施例的计算机网络。数据处理环境100包括网络102。网络102是用于在数据处理环境100内连接在一起的不同设备和计算机之间提供通信链路的介质。网络102可包括连接,诸如有线、无线通信链路或光纤电缆。

客户端或服务器仅是连接到网络102的某些数据处理系统的示例角色,并且不旨在排除这些数据处理系统的其他配置或角色。服务器104和服务器106与存储设备108一起耦合到网络102。软件应用程序可在数据处理环境100中的任何计算机上执行。客户端110、112和114也耦合到网络102。诸如服务器104或106或客户端110、112或114的数据处理系统可以包含数据并且可以具有在其上执行的软件应用或软件工具。

仅作为实例,并且不暗示对此类架构的任何限制,图1描绘了在实施例的示例实现中可用的某些组件。例如,服务器104和106以及客户端110、112、114仅作为示例被描绘为服务器和客户端,而不暗示对客户端-服务器架构的限制。作为另一示例,实施例可以如所示跨若干数据处理系统和数据网络分布,而另一实施例可以在说明性实施例的范围内在单个数据处理系统上实现。数据处理系统104、106、110、112和114还表示集群中的示例节点、分区和适于实现实施例的其他配置。

设备132是本文描述的设备的示例。例如,设备132可以采取智能电话、平板计算机、膝上型计算机、固定或便携式形式的客户端110、可穿戴计算设备或任何其他合适的设备的形式。被描述为在图1中的另一数据处理系统中执行的任何软件应用可被配置成以类似方式在设备132中执行。在图1中的另一数据处理系统中存储或产生的任何数据或信息可被配置成以类似方式在设备132中存储或产生。

QCE140是在此描述的QCE的示例。例如,QCE140包括CN104、106和许多其他类似的CN142。作为示例,CN106和142可被配置为CN的集群144。QCE140进一步包括一个或多个QCN,如QCN146。QCN(如QCN146)包括一个或多个q处理器148。一个当前可行的量子位是q处理器148的一个实例。应用105实现本文描述的实施例。应用105在CN上操作,诸如QCE140中的服务器104。应用105将操作库、电路和元数据存储在存储设备108中或存储在任何其他合适的存储设备中。

QCE140可以使用有线连接、无线通信协议、或其他合适的数据连接来耦合到网络102。客户端110、112和114可以是例如个人计算机或网络计算机。网络102可表示使用传输控制协议/互联网协议(TCP/IP)和其他协议来彼此通信的网络和网关的集合。图1旨在作为实例,而不是作为不同说明性实施例的体系结构限制。

数据处理环境100作为整体还可以采取云的形式,并且采用服务递送的云计算模型以便使得能够对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池进行方便、按需的网络访问,所述可配置计算资源可以用最小的管理努力或与服务提供者的交互来快速配置和释放。

参见图2,该图描绘了可以实现说明性实施例的传统数据处理系统的框图。数据处理系统200是经典计算机的示例,诸如图1中的服务器104和106、或客户端110、112和114、或另一类型的设备,实现过程的计算机可用程序代码或指令可位于该设备中以用于说明性实施例。

数据处理系统200还表示数据处理系统或其中的配置,诸如图1中的服务器104,实现说明性实施例的处理的计算机可用程序代码或指令可以位于该服务器104中。数据处理系统200仅作为实例被描述为计算机,而不限于此。其他设备形式的实现(诸如图1中的服务器104)可诸如通过添加触摸界面来修改数据处理系统200,并且甚至从数据处理系统200中消除某些所描绘的组件,而不背离本文描述的数据处理系统200的操作和功能的一般描述。

在所描绘的示例中,数据处理系统200采用包括北桥和存储器控制器集线器(NB/MCH)202和南桥和输入/输出(I/O)控制器集线器(SB/ICH)204的集线器架构。处理单元206、主存储器208和图形处理器210耦合到北桥和存储器控制器集线器(NB/MCH)202。处理单元206可以包含一个或多个处理器并且可以使用一个或多个异构处理器系统来实现。处理单元206可以是多核处理器。在某些实现中,图形处理器210可以通过加速图形端口(AGP)耦合到NB/MCH202。

在所描绘的示例中,局域网(LAN)适配器212耦合到南桥和I/O控制器集线器(SB/ICH)204。音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、通用串行总线(USB)和其他端口232、以及PCI/PCIe设备234通过总线238耦合到南桥和I/O控制器集线器204。硬盘驱动器(HDD)或固态驱动器(SSD)226和CD-ROM230通过总线240耦接到南桥和I/O控制器集线器204。PCI/PCIe设备234可包括例如用于笔记本计算机的以太网适配器、附加卡和PC卡。PCI使用卡总线控制器,而PCIe不使用。ROM224可以是例如闪存二进制输入/输出系统(BIOS)。硬盘驱动器226和CD-ROM230可以使用例如集成驱动电子设备(IDE)、串行高级技术附件(SATA)接口或者诸如外部SATA(eSATA)和微型SATA(mSATA)的变体。超级I/O(SIO)设备236可以通过总线238耦合到南桥和I/O控制器集线器(SB/ICH)204。

诸如主存储器208、ROM224或闪存(未示出)之类的存储器是计算机可用存储设备的一些示例。硬盘驱动器或固态驱动器226、CD-ROM230和其他类似可用的设备是计算机可用存储设备的一些示例,包括计算机可用存储介质。

操作系统在处理单元206上运行。操作系统协调和提供对图2中的数据处理系统200内的不同组件的控制。操作系统可以是用于任何类型的计算平台的商业上可获得的操作系统,包括但不限于服务器系统、个人计算机和移动设备。面向对象或其他类型的编程系统可以结合操作系统来操作,并且提供从在数据处理系统200上执行的程序或应用对操作系统的调用。

用于操作系统、面向对象的编程系统和应用或程序(诸如图1中的应用105)的指令,位于存储设备上,诸如以硬盘驱动器226上的代码226A的形式,并且可以被加载到一个或多个存储器中的至少一个,诸如主存储器208,用于由处理单元206执行。说明性实施例的处理可以由处理单元206使用计算机实现的指令来执行,这些指令可以位于存储器中,例如,主存储器208、只读存储器224或者一个或多个外围设备中。

此外,在一种情况下,代码226A可通过网络201A从远程系统201B下载,其中类似的代码201C存储在存储设备201D上。在另一情况下,代码226A可通过网络201A下载到远程系统201B,其中下载的代码201C存储在存储设备201D上。

图1-2中的硬件可以取决于实现方式而变化。除了图1-2中描绘的硬件之外或代替图1-2中描绘的硬件,可以使用其他内部硬件或外围设备,诸如闪存、等效非易失性存储器或光盘驱动器等。此外,说明性实施例的处理可以应用于多处理器数据处理系统。

在一些说明性实例中,数据处理系统200可以是个人数字助理(PDA),其通常配置有快闪存储器以提供用于存储操作系统文件和/或用户产生的数据的非易失性存储器。总线系统可以包括一个或多个总线,例如系统总线、I/O总线和PCI总线。当然,总线系统可以使用任何类型的通信结构或架构来实现,该通信结构或架构提供附连到该结构或架构的不同组件或设备之间的数据传送。

通信单元可包括用于发送和接收数据的一个或多个设备,诸如调制解调器或网络适配器。存储器可以是例如主存储器208或高速缓存,诸如在北桥和存储器控制器集线器202中找到的高速缓存。处理单元可以包括一个或多个处理器或CPU。

图1-2中描绘的示例和上述示例不意味着暗示架构限制。例如,除了采取移动或可穿戴设备的形式之外,数据处理系统200还可以是平板计算机、膝上型计算机或电话设备。

在计算机或数据处理系统被描述为虚拟机、虚拟设备或虚拟组件的情况下,虚拟机、虚拟设备或虚拟组件使用数据处理系统200中描绘的一些或所有组件的虚拟化表现来以数据处理系统200的方式操作。例如,在虚拟机、虚拟设备或虚拟组件中,处理单元206表现为主机数据处理系统中可用的全部或一些数量的硬件处理单元206的虚拟化实例,主存储器208表现为在主机数据处理系统中可用的主存储器208的全部或一些部分的虚拟化实例,并且磁盘226表现为在主机数据处理系统中可用的磁盘226的全部或一些部分的虚拟化实例。在这种情况下,主机数据处理系统由数据处理系统200表示。

参见图3,该图描绘了实现多控制反转栅极的现有技术量子电路。电路300可以在图1中的QCE140中执行。

电路300具有六个控制C1-C6,用于控制目标T的状态。电路300还使用四个辅助量子位(A1-A4),电路300包括以V形布置的一系列双控制顶栅。该系列的第一部分(V形的左臂)使用C1-C6来计算A1-A4,A1-A4是保持部分产物的复数个辅助量子位。该电路然后使用A1-A4来计算T,即期望的产品输出。该系列的第二部分(V形的右臂)计算A1-A4,从T中解理A1-A4。这种实现方式被串联安排,其中每个连续的辅助结果取决于前一个辅助的计算,从而产生一个深量子电路。

参见图4,该图描绘了根据说明性实施例的多控制量子状态反转栅极的示例配置的框图。应用程序400可在图1中的系统104、106、110、112和114以及装置132中的任一者中执行。

应用400接收要在量子电路中实现的多控制反转栅极的规范。该规范规定了反转栅极的一组控制量子位和目标量子位。应用400的目标是使用一组小反转栅极在量子电路中实现指定的多控制反转栅极。

在所构建的量子电路中,控制连接器模块420将该组控制量子位中的两个以及该目标量子位连接到双控制反转栅极的对应输入端上。

应用程序400从该组控制量子位中选择一个控制量子位,该控制量子位还未被连接到一个小的反转栅极的一个控制输入端上。空控制确定模块410确定是否存在当前实现的具有未连接输入的小反转栅极。如果没有当前实现的具有未连接输入的小反转栅极,则必须计算附加的辅助。为了计算附加辅助,辅助实现模块430在量子电路中实现附加小反转栅极。为了实现新栅极,模块430将一个控制输入从先前实现的栅极的控制输入移动到新栅极的控制输入。模块430在该新栅极的另一个控制输入端连接需要放置的控制量子位。新栅极的目标是辅助栅极,其现在用作先前实现的栅极的控制输入,代替被移动的控制输入。

相反,如果存在具有未连接输入的当前实现的小反转栅极,则还不需要额外的辅助。相反,模块410确定具有最多控制输入还未连接到一个控制量子位上的小反转栅极。如果多于一个小反转栅极具有相同数量的尚未连接的控制输入,则模块410使用任何合适的选择方法来选择任何栅极。模块420将需要放置的控制量子位连接到所选择的栅极的一个尚未连接的控制输入端上。

应用400以此方式继续,连接来自该组控制量子位的控制量子位,这些控制量子位要求放置并且视情况添加复数个辅助量子位,直到该组中的每个控制量子位已经被连接到该量子电路中的一个小反转栅极的一个输入端上。此外,对于每个实施的辅助,镜像辅助模块440在该量子电路中在该产生目标量子位的小反转栅极之后实施一个镜像小反转栅极。每个原始和镜像小反转栅极具有相同的控制和目标量子位。镜像小反转栅极用来计算由对应的原始栅极计算的辅助。

参见图5,该图描绘了根据说明性实施例的双控制符号布局和相应的双控制量子电路的示例。可以使用图4中的应用程序400来实现该双控制量子电路。

双控制符号布局510描绘了双控制布局,其中,每个“c”表示对栅极的控制并且“t”表示栅极的目标。双控制符号电路520描绘了对应于布局510的量子电路。电路520包括具有控制C1和C2以及目标T的双控制反转栅极。

参见图6,该图描绘了根据说明性实施例的三控制符号布局和相应的三控制量子电路的示例。可以使用图4中的应用程序400来实现该三控制量子电路。

三控制符号布局610描绘了三控制布局,其中,每个“c”表示对栅极的控制并且“t”表示栅极的目标。这里,双控制符号布局510的控件之一已被“a”和附加控件替换,“a”表示辅助量子位。三控制符号电路620描绘了对应于布局610的量子电路。电路620包括附加控制C3和附加辅助线圈A1。电路620还包括具有控制A1和C3以及目标T的双控制反转栅极622。栅极622对应于布局610的区域612。

参见图7,该图描绘了根据说明性实施例的四控制符号布局和相应的四控制量子电路的示例。可以使用图4中的应用程序400来实现该四控制量子电路。

四控制符号布局710描绘了四控制布局,其中,每个“c”表示控制,每个“a”表示辅助量子位,并且“t”表示栅极的目标。这里,三控制符号布局610的控制之一已被“a”和另外的控制替换。

四控制符号电路720描绘了对应于布局710的量子电路。电路720包括附加控制C4和附加辅助控制器A2。电路720还包括具有控制A1和A2以及目标T的双控制反转栅极722。栅极722对应于布局710的区域712。

参见图8,该图描绘了根据说明性实施例的四控制符号布局和对应的四控制量子电路的另一示例。可以使用图4中的应用程序400来实现该四控制量子电路。布局710和电路720与图7中的布局710和电路720相同。

电路720还包括反转栅极822和824。反转栅极822和824中的每一个是具有控制C3和C4以及目标A2的双控制反转栅极。栅极822对应于布局710的区域812。栅极824是栅极822的镜像。

参见图9,该图描绘了根据一个说明性实施例的四控制量子电路的实现方式。电路720和栅极722与图7中的电路720和栅极722相同。

电路720包括具有控制A1和A2以及目标T的双控制反转栅极722。栅极722是可使用实施例930实施的小反转栅极的实例。在实现930中(如在本文中所描绘的其他量子电路中),具有一个输入的圆圈中的加号表示CNOT,并且加框H表示Hadamard栅极。加框T表示对量子位施加pi/4相位变化的量子栅极。加框的T-dagger表示T的共轭(即,应用pi/4相变)。实现930具有两个控制A1和A2以及十个CNOT,涉及仅在一个控制与该靶标之间的2-量子位相互作用,并且是一个双控制常规Toffoli栅极的实例。

参见图10,该图描绘了根据一个说明性实施例的一个四控制量子电路的另一个实现方式。电路720与图7中的电路720相同。栅极822与图8中的栅极822相同。

电路720包括具有控制C3和C4以及目标A2的双控制反转栅极822。栅极822是小反转栅极的示例,该小反转栅极可使用实现1030来实现,并且可被用来计算复数个辅助量子位中的每一个。实现方式1030具有两个控制C3和C4,并且仅三个CNOT,涉及仅在一个控制与该靶标之间的2-量子位相互作用,并且是一个双控制相对相位Toffoli栅极的实例。

参见图11,该图描绘了根据说明性实施例的符号布局的附加示例。每个符号布局对应于可以使用图4中的应用程序400实现的量子电路。四控制符号布局710与图7中的四控制符号布局710相同。

四控制符号布局710描绘了四控制布局,其中,每个“c”表示控制,每个“a”表示辅助量子位,并且“t”表示栅极的目标。这里,三控件符号布局610的控件之一己被辅助和附加控件替换。

六控制符号布局1120描绘了六控制布局,其中,每个“c”表示控制,每个“a”表示辅助量子位,并且“t”表示栅极的目标。这里,已经添加了两个附加的辅助和控件,并且四控件符号布局710的现有控件中的两个现在被输入到所添加的辅助。布局还相对于布局710旋转。

八控制符号布局1130描绘了八控制反转栅极,其中,每个“c”表示控制,每个“a”表示辅助量子位,并且“t”表示栅极的目标。这里,已经添加了两个附加的辅助和控件,并且布局1120的现有控件中的两个现在是对所添加的辅助的输入。

N控制符号布局1140描绘了布局1130的扩展。布局1140具有N个控件,具有对应的复数个辅助量子位和在布局中心的目标(未示出)。这里,N可以是大于8的任何整数。应用程序400可以实施在量子处理器上可执行的任何深度的对应的量子电路。

参见图12,该图描绘了根据说明性实施例的六控制符号布局和对应的六控制量子电路的另一示例。该六控制量子电路可以使用图4中的应用程序400来实施。

布局1212描绘了多控制反转栅极的符号布局,该多控制反转栅极可以使用具有三个控制的小反转栅极以及具有两个控制的小反转栅极来实现。区域1212描绘了具有三个控制C1-C3的辅助量子位A1。

电路1220包括反转栅极1222和1224。反转栅极1222和1224中的每一个是具有控制C1、C2和C3以及目标A1的三控制反转栅极。栅极1222对应于布局1210的区域1212。栅极1224是栅极1222的镜像。

参见图13,该图描绘了根据一个说明性实施例的一个六控制量子电路的实现方式。电路1220与图12中的电路1220相同。栅极1222与图12中的栅极1222相同。

电路1220包括具有控制C1、C2和C3以及目标A1的三控制反转栅极1222。栅极1222是小反转栅极的示例,该小反转栅极可以使用实现方式1330来实现,并且可以用于计算复数个辅助量子位中的每一个。实现方式1330具有三个控制C1、C2和C3,并且仅六个CNOT,涉及仅在一个控制与该靶标之间的2-量子位相互作用,并且是一个三控制相对相位Toffoli栅极的实例。

参见图14,该图描绘了根据说明性实施例的符号布局的附加示例。每个符号布局对应于可以使用图4中的应用程序400实现的量子电路。四控制符号布局710与图7中的四控制符号布局710相同。

六控制符号布局1410描绘了六控制布局,其中,每个“c”表示控制,每个“a”表示辅助量子位,并且“t”表示栅极的目标。这里,与六控制布局1120不同,每个辅助量子位具有三个控制。

十二控制符号布局1420描绘了十二控制布局,其中,每个“c”表示控制,每个“a”表示辅助量子位,并且“t”表示栅极的目标。这里,添加了四个附加复数个辅助量子位和六个附加控件,并且六个控件符号布局1410的现有控件中的四个控件现在被输入到所添加的复数个辅助量子位。该布局还相对于布局1410旋转。

参见图15,该图描绘了根据示范性实施例的多控制量子状态反转栅极的示例应用1500的流程图。过程1500可以在图4中的应用400中实现。

在方框1502中,本申请接收一个多控制反转栅极的规范,该多控制反转栅极具有一组n个控制量子位,其中n可以是任何正整数。在方框1504中,该应用程序在量子电路中实施具有两个控制的反转栅极,这些控制各自被连接到从该组n个控制量子位中选择的控制量子位上。在方框1506中,该应用程序选择控制量子位,该控制量子位尚未连接到该量子电路中的栅极上。在方框1508中,该应用程序确定所有当前实施的栅极的每个栅极控制是否连接到控制量子位上。如果是(方框1508的“是”路径),在方框1510中,该应用程序在该量子电路中实施辅助栅极,其中连接到控制量子位的该辅助栅极的控制从当前连接的栅极控制被移动,第二控制被连接到该选定的控制量子位,并且该目标替代该移动后的控制。如果不是(方框1508的“否”路径),在方框1512中,该应用程序将已经在该量子电路中实施的栅极的控制连接到该选定的控制量子位上。在方框1514中,该应用程序确定是否存在要放置的另一个控制量子位。如果是(框1514的“是”路径),则应用返回到框1506。如果不是(框1514的“否”路径),则应用结束。

由此,在说明性实施例中提供了用于多控制量子状态反转栅极和其他相关特征、功能或操作的计算机实现的方法、系统或装置和计算机程序产品。在关于一种类型的设备描述实施例或其一部分的情况下,计算机实施的方法、系统或设备、计算机程序产品或其一部分被适配或配置为与该类型的设备的合适且可比较的表现一起使用。

在实施例被描述为在应用中实现的情况下,在说明性实施例的范围内设想了软件即服务(SaaS)模型中的应用的传递。在SaaS模型中,通过在云基础结构中执行应用来向用户提供实现实施例的应用的能力。用户可通过瘦客户端接口(诸如web浏览器(例如,基于web的电子邮件))或其他轻量级客户端应用使用各种客户端设备来访问应用。用户不管理或控制包括网络、服务器、操作系统或云基础设施的存储的底层云基础设施。在一些情况下,用户甚至可以不管理或控制SaaS应用的能力。在一些其他情况下,应用的SaaS实现可允许有限的用户专用应用配置设置的可能例外。

本发明可以是任何可能的集成技术细节水平的系统、方法和/或计算机程序产品。所述计算机程序产品可包含上面具有计算机可读程序指令的计算机可读存储媒体(或媒体),所述计算机可读程序指令用于致使处理器执行本发明的方面。

计算机可读存储媒质可以是可以保留和存储指令以供指令执行设备使用的有形设备。计算机可读存储媒质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述各项的任何合适的组合。计算机可读存储媒质的更具体例子的非穷举列表包括以下:便携式计算机盘,硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存),静态随机存取存储器(SRAM)、便携式致密盘只读存储器(CD-ROM),数字通用盘(DVD)、记忆棒、软盘、机械编码设备(诸如穿孔卡片)或具有记录在其上的指令的凹槽中的凸起结构),以及上述的任意合适的组合。如本文中所使用的计算机可读存储媒质不应被解释为瞬态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输媒质传播的电磁波(例如,通过光纤电缆的光脉冲)、或通过导线传输的电信号。

本文所述的计算机可读程序指令可从计算机可读存储介质下载到相应的计算/处理设备,或经由网络(例如,互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储媒质中。

用于执行本发明的操作的计算机可读程序指令可以是汇编指令,指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,集成电路的配置数据,或以一种或多种编程语言的任何组合编写的源代码或目标代码,包括面向对象的Smalltalk、C++等编程语言,以及过程式编程语言,例如“C”编程语言或类似的编程语言。计算机可读程序指令可完全在用户”的计算机上执行、部分在用户”的计算机上执行、作为独立软件包执行、部分在用户”的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。在一些实施例中,电子电路(包括例如可编程逻辑电路、现场可编程栅极阵列(FPGA)或可编程逻辑阵列(PLA))可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本发明的方面。

本文中参考根据本发明的实施例的方法、设备(系统)和计算机程序产品的流程图说明和/或框图描述本发明的方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令来实现。

这些计算机可读程序指令可以被提供给通用计算机的处理器,专用计算机或其他可编程数据处理装置,以产生机器,其通过计算机或其他可编程数据处理装置的处理器执行,创建用于实现在流程图和/或方框图的一个或多个方框中指定的功能/动作的装置。这些计算机可读程序指令还可存储在可指导计算机的计算机可读存储媒质中,可编程数据处理装置,和/或以特定方式起作用的其他设备,使得具有存储在其中的指令的计算机可读存储媒质包括制品,该制品包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各方面的指令。

计算机可读程序指令还可以加载到计算机、其他可编程数据处理装置上,或使得在计算机上执行一系列操作步骤的其他装置,其他可编程装置或其他设备,以产生计算机实现的过程,使得在计算机上执行的指令,其他可编程装置或其他设备实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图图示了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。对此,流程图或框图中的每个方框可以代表模块、段或指令的一部分,其包括用于实现规定的逻辑功能的一个或多个可执行指令。在一些替代实施例中,框中所标注的功能可以不以图中所标注的次序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还将注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合可以由基于专用硬件的系统来实现,所述基于专用硬件的系统执行指定的功能或动作或执行专用硬件与计算机指令的组合。

31页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种机器学习模型的数据处理方法、装置及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!