用于量子计算机器的硬件高效的变分量子本征值求解器的制作方法

文档序号:20605953发布日期:2020-05-01 22:05阅读:478来源:国知局
用于量子计算机器的硬件高效的变分量子本征值求解器的制作方法

本申请总体上涉及量子计算,并且更具体地涉及用于量子计算机器的硬件高效的变分量子本征值求解器的实现。



背景技术:

量子计算使用粒子物理学,粒子物理学将费米子定义为通过费米-狄拉克统计来表征的任何粒子。这些粒子遵守泡利不相容原理。费米子包括所有夸克和轻子,以及由奇数个这些粒子制成的任何复合粒子,诸如所有重子以及许多原子和原子核。费米子不同于遵守玻色-爱因斯坦统计的玻色子。费米子可以是基本粒子,诸如电子,或者它可以是复合粒子,诸如质子。根据任何合理的相对论量子场论中的自旋统计定理,具有整数自旋的粒子是玻色子,而具有半整数自旋的粒子是费米子。

除了自旋特征之外,费米子还具有守恒的重子或轻子量子数。因此,通常被称为自旋统计关系的事实上是自旋统计量子数关系。作为泡利不相容原理的结果,在任何给定时间,仅一个费米子可以占据特定的量子态。如果多个费米子具有相同的空间概率分布,则每个费米子的至少一个属性(诸如其自旋)必须是不同的。费米子通常与物质相关联,而玻色子通常是载力粒子,尽管在粒子物理学的当前状态下,这两个概念之间的区别是不清楚的。弱相互作用的费米子在极端条件下也可以显示玻色子行为。在低温处,费米子对于不带电的粒子显示超流动性,并且对于带电的粒子显示超导性。复合费米子,诸如质子和中子,是日常物质的关键构件。量子计算机器使用粒子的这种特性来解决各种计算昂贵的问题。

量子计算基于其在例如密码学、分子建模、材料科学凝聚物质物理学和各种其他领域中的应用而出现,这些领域目前扩大了现有高性能计算资源的限制以用于计算加速。量子计算机器的核心在于量子比特(即,量子位)的利用,其中除了别的以外,量子比特可以被认为是经典位(即,数字位—‘0’或‘1’)的类似物,其具有两个量子力学状态(例如,高态和低态),诸如电子的自旋状态(即,‘1’=↑和‘0’=↓)、光子的偏振状态(即,‘1’=h和‘0’=v)、或传输子(transmon)的基态(‘0’)和第一激发态(‘1’),传输子是由与作为非线性电感器的约瑟夫森结(josephsonjunction)并联的电容器制成的超导谐振器。虽然量子比特能够存储经典的‘1’和‘0’信息,但是它们也提供了将信息存储为‘1’和‘0’状态的叠加的可能性。

对于量子计算机器,其中问题空间的维度指数增长,找到某些算符的本征值可能是难处理的问题。因此,在本领域中需要解决上述问题。



技术实现要素:

从第一方面来看,本发明提供了一种用于使用包括多个量子比特的量子计算机来生成用于变分量子本征值求解器(vqe)的试探状态(trialstate)的系统,该系统包括:包括计算机可执行指令的存储器设备;以及处理器,与存储器耦合并且被配置为执行计算机可执行指令以使用量子计算机生成用于vqe的试探状态,该生成包括:针对特定试探状态,选择要从量子比特捕获的样本的数量s,所述样本包括量子比特状态的测量;将哈密顿量映射到所述量子计算机的量子比特;使用任意单量子比特旋转和纠缠器(entangler)操作的交错序列来在所述量子计算机中设置纠缠器,所述纠缠器定义所述量子计算机的至少量子比特子集之间的纠缠相互作用;在与所述哈密顿量中的泡利项相关联的后旋转(post-rotation)之后,从所述量子计算机读出量子比特状态,所述量子比特状态表示所述泡利项的期望值,并且所述读出是针对所选择的数量s个样本执行的;使用所述哈密顿量中的所述泡利项的测得的期望值来计算估计能量状态;以及响应于估计能量状态未以预期能量状态收敛,计算用于vqe的新试探状态并且迭代以使用新试探状态计算估计能量。

从另一方面来看,本发明提供了一种用于使用包括多个量子比特的量子计算机来生成用于变分量子本征值求解器(vqe)的试探状态的方法,所述生成包括:针对特定试探状态,选择要从量子比特捕获的样本的数量s,所述样本包括量子比特状态的测量;将哈密顿量映射到所述量子计算机的量子比特;在所述量子计算机中设置纠缠器,所述纠缠器定义所述量子计算机的至少量子比特子集之间的纠缠相互作用,所述设置使用任意单量子比特旋转和纠缠器操作的交错序列;在与泡利项相关联的后旋转之后,从所述量子计算机读出量子比特状态的测量,所述读出是针对所选择的数量s个样本执行的;使用所述泡利项的测量来计算估计能量状态;以及响应于估计能量状态未以预期能量状态收敛,计算用于vqe的新试探状态并且迭代以使用新试探状态计算估计能量。

从另一方面来看,本发明提供了一种量子计算设备,包括:多个量子比特;对应于所述量子比特中的每个量子比特的多个谐振器,每个谐振器被配置成接收用于对应量子比特的控制信号,并且发送表示该对应量子比特的量子比特状态的读出信号;其中,所述量子计算设备生成用于变分量子本征值求解器(vqe)的试探状态,所述生成包括:由所述谐振器接收制备试探状态的控制脉冲;使用任意单量子比特旋转和纠缠器操作的交错序列来设置纠缠器以便制备所述试探状态,所述纠缠器定义至少量子比特子集之间的纠缠相互作用;由所述谐振器在与哈密顿量中的泡利项相关联的后旋转之后读出量子比特状态,所述读出是针对所选择的数量s个样本执行的,以用于计算估计能量状态;以及响应于估计能量状态未以预期能量状态收敛,接收控制信号以更新到用于vqe的新试探状态。

从另一方面来看,本发明提供了一种用于使用包括多个量子比特的量子计算机的变分量子本征值求解器(vqe)的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质可由处理电路读取并且存储用于由该处理电路执行以执行用于执行本发明的步骤的方法的指令。

从另一方面来看,本发明提供了一种存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,包括软件代码部分,当所述程序在计算机上运行时,用于执行本发明的步骤。

根据一个或多个实施例,示例系统包括存储器设备,该存储器设备包括计算机可执行指令。该系统还包括与存储器耦合的处理器。处理器执行计算机可执行指令以使用包括多个量子比特的量子计算机来生成用于变分量子本征值求解器(vqe)的试探状态。试探状态的生成包括针对特定试探状态,选择要从量子比特捕获的样本的数量s,样本包括量子比特状态的测量。试探状态的生成还包括根据试探状态将哈密顿量映射到量子计算机的量子比特。试探状态的生成还包括在量子计算机中设置纠缠器,纠缠器定义量子计算机的至少量子比特子集之间的相互作用。试探状态的生成还包括在与泡利项相关联的后旋转之后从量子计算机读出量子比特状态,该读出是针对所选择的数量s个样本执行的。试探状态的生成还包括使用哈密顿量中的每个泡利项的s次测量来计算估计能量状态。试探状态的生成还包括响应于估计能量状态未以预期能量状态收敛,计算用于vqe的新试探状态,并且迭代以使用第二试探状态来计算估计能量。

根据一个或多个实施例,一种用于使用包括多个量子比特的量子计算机来生成用于变分量子本征值求解器(vqe)的试探状态的示例方法包括:针对特定试探状态,选择要从量子比特捕获的样本的数量s,样本是量子比特状态的测量。试探状态的生成还包括将哈密顿量映射到量子计算机的量子比特。试探状态的生成还包括在量子计算机中设置纠缠器,纠缠器定义量子计算机的至少量子比特子集之间的纠缠相互作用。试探状态的生成还包括在与哈密顿量中的泡利项相关联的后旋转之后从量子计算机读出量子比特状态,所述读出是针对所选择的数量s个样本执行的。试探状态的生成还包括使用哈密顿量中的每个泡利项的s次测量来计算估计能量状态。试探状态的生成还包括响应于估计能量状态未以预期能量状态收敛,计算用于vqe的新试探状态,并且迭代以使用新试探状态来计算估计能量。

根据一个或多个实施例,示例量子计算设备包括多个量子比特。所述量子计算设备还包括与所述量子比特中的每个量子比特对应的多个谐振器,每个谐振器接收用于对应量子比特的控制信号,并且接收用于所述对应量子比特的量子比特状态的测量的读出信号。量子计算设备还包括耦合量子设备中的量子比特的谐振器。量子计算设备生成用于变分量子本征值求解器(vqe)的试探状态。试探状态的生成包括由谐振器接收与试探状态相关联的控制脉冲。试探状态的生成还包括根据试探状态设置纠缠器,纠缠器定义至少量子比特子集之间的相互作用。试探状态的生成还包括由谐振器在与泡利项相关联的后旋转之后读出量子比特状态,所述读出是针对所选择的数量s个样本执行的,以用于计算估计能量状态。试探状态的生成还包括响应于估计能量状态未以预期能量状态收敛,接收控制信号以根据用于vqe的新试探状态更新纠缠器。

通过本发明的技术实现了附加的特征和优点。本发明的其他实施例和方面在这里被详细描述,并且被认为是所要求保护的发明的一部分。为了更好地理解本发明的优点和特征,请参考说明书和附图。

附图说明

现在将参照优选实施例仅通过示例的方式描述本发明,如以下附图所示:

图1是根据现有技术的被配置为执行与哈密顿量相关的计算的经典计算机的示例,并且其中可以实现本发明的优选实施例;以及

图2是根据现有技术的被配置为执行与哈密顿量相关的经典计算机的输出的量子计算机的示例,并且在该量子计算机中可以实现本发明的优选实施例;

图3描绘了根据现有技术的量子计算机的框图,并且其中可以实施本发明的优选实施例;

图4描绘了根据一个或多个实施例的用于试探状态制备和能量估计的量子电路。

图5描绘了根据一个或多个实施例的示例脉冲序列。

图6示出了根据一个或多个实施方式的用于使用量子计算机器来执行硬件高效的变分量子本征值求解器的示例方法的流程图。

图7描绘了描绘在示例场景中的参数校准的示例曲线图。

图8描绘了根据一个或多个实施例的使用改进的vqe的分子结构应用的示例优化。

图9描绘了使用根据一个或多个实施例的使用试探状态的改进的vqe的结果与已知值的比较。

具体实施方式

在量子力学中,在大多数情况下哈密顿量是与系统的总能量对应的算符。它通常用h表示,也用表示。哈密顿量的谱是当测量系统的总能量时的一组可能结果。由于哈密顿量与系统的时间演变的紧密关系,因此其在量子理论的大多数公式中是至关重要的。

量子信息处理有希望解决具体的计算问题,这些问题被认为对于传统的经典硬件来说太有挑战性。特别适合于量子计算机的计算任务是量子力学系统的模拟。这里的中心应用是强相互作用费米子系统的模拟,该强相互作用费米子系统可以例如在量子化学、材料科学和核物理学中找到。为了在量子计算机上表示费米子自由度,需要将费米子模式映射到作为量子计算的基本逻辑单元的量子比特。应当注意,费米子模拟仅是量子计算的一种可能的应用,并且其他应用包括诸如量子磁体的量子自旋系统和组合优化问题。

然而,已知物理费米子系统遵守宇称守恒,并且在一些情况下遵守更强的粒子数守恒。在量子比特模拟中,哈密顿量或哈密顿量的方面被编码到量子比特上。在具有量子比特的量子计算机上执行模拟。注意,量子比特是量子计算机中的量子硬件的物理件,并且量子比特是超导量子设备。在哈密顿量中,该量子比特被用作表示物理量子比特的项。

对量子计算机的输入是用于对待模拟的系统进行编码的哈密顿量(或哈密顿量的项)。输出是从量子计算机测量的能量。量子算法是被发送到量子计算机以解决特定问题的逐步指令的有限序列。这里,实验者对获得输入的哈密顿量的基态能量的估计感兴趣。因此,该输入的哈密顿量导致用于量子计算机上的量子模拟的一组输入数据。

图1中的计算机100被编程并且被配置为执行一组量子比特上的量子哈密顿量的编码以及不在量子计算机上执行的任何其他(制备)计算。一个或多个软件应用160被编程有计算机指令,使得处理器110可以执行它们。在计算机100上执行相应的制备计算之后,然后在图2中的量子计算机200上应用并执行输出(即,输出的哈密顿量)。可以有在计算机100上执行一些计算的反馈回路(来回处理),这些计算然后被馈送并由量子计算机200使用。量子计算机200仅用于示例性目的,并且它并不意味着是量子计算机的确切结构。如本领域技术人员所理解的,图1中的经典计算机100运行脉冲的确定等,以及图2中的量子计算机200运行输出。

图2是根据本发明的实施例的可以处理来自计算机100的输出的量子计算机200(量子硬件)的示例。量子处理器是可以利用对非量子设备不可用的量子物理现象(例如叠加、纠缠、以及量子隧穿)的计算设备。量子处理器可以采取超导量子处理器的形式。超导量子处理器可以包括多个量子比特以及相关联的局部偏置设备,例如两个或更多个超导量子比特。量子比特的示例是通量量子比特。超导量子处理器还可以采用耦合设备(即,“耦合器”),这些耦合设备提供量子比特之间的通信耦合。

量子比特的数量、量子比特的相互作用以及量子比特的配置都是出于示例性目的而非限制性的。应当认识到的是,量子比特(以及未示出的读出谐振器)可以以各种不同的配置来构造,并且图2并不意味着是限制性的。通常,量子计算机是遵守满足divincenzo标准的量子力学定律的任何物理系统。这些标准设定了对要被看作是量子计算机的量子力学系统的要求。标准包括(1)具有良好表征的量子比特的可缩放物理系统,(2)将量子比特的状态初始化到简单基准状态的能力,(3)长的相关退相干时间,(4)一组“通用”量子门,(5)特定于量子比特的测量能力,(6)使静止量子比特和飞行量子比特相互转换的能力,和(7)在指定位置之间忠实地传输飞行量子比特的能力。

图2中的量子计算机200示出了作为控制程序的输入205、控制信号210、量子比特215、读出信号220以及作为输出的测量数据225。作为满足这些要求的量子力学系统,量子计算机200被配置成接收控制信号210作为输入205信息(例如,根据哈密顿量的项、方面等)以应用量子门的序列并应用测量操作。不同量子比特215之间的量子门通过它们的相互作用230来调节。测量操作者产生经典信号(作为测量数据225),其可以由控制系统(即,量子计算机200)的实验者读取。

现在转回到图1,示例示出了计算机100,例如,被配置成执行用于编码一组量子比特上的量子哈密顿量的(一种或多种)算法(包括如本领域技术人员所理解的各种数学计算)的任何类型的计算机系统,如本文所讨论的,这样使得结果可以被输入到量子计算机200中。计算机100可以是在多于一个计算机上的分布式计算机系统。本文讨论的各种方法、过程、模块、流程图、工具、应用、电路、元件和技术也可包含和/或利用计算机100的能力。实际上,计算机100的能力可被用于实现本文所讨论的示例性实施例的元素。

通常,在硬件架构方面,计算机100可以包括一个或多个处理器110、计算机可读存储存储器120以及经由本地接口(未示出)通信地耦合的一个或多个输入和/或输出(i/o)设备170。本地接口可以是例如但不限于一个或多个总线或者其他有线或无线连接,如本领域已知的。本地接口可以具有附加元件,诸如控制器、缓冲器(高速缓存)、驱动器、中继器和接收器,以实现通信。此外,本地接口可以包括地址、控制和/或数据连接,以便能够在上述部件之间进行适当的通信。

处理器110是用于执行可以存储在存储器120中的软件的硬件设备。处理器110实际上可以是任何定制的或商业上可获得的处理器、中央处理单元(cpu)、数据信号处理器(dsp)或与计算机100相关联的若干处理器中的辅助处理器,并且处理器110可以是基于半导体的微处理器(以微芯片的形式)或宏处理器。

计算机可读存储器120可以包括易失性存储器元件(例如,随机存取存储器(ram),诸如动态随机存取存储器(dram)、静态随机存取存储器(sram)等)和非易失性存储器元件(例如,rom、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁带、压缩盘只读存储器(cd-rom)、磁盘、盘、磁带盒、盒式磁带等)中的任何一个或组合。此外,存储器120可以包含电、磁、光和/或其他类型的存储介质。注意,存储器120可以具有分布式架构,其中各种部件彼此远离,但是可以由(一个或多个)处理器110访问。

计算机可读存储器120中的软件可以包括一个或多个分开的程序,每个程序包括用于实现逻辑功能的可执行指令的有序列表。存储器120中的软件包括示例性实施例的合适的操作系统(o/s)150、编译器140、源代码130以及一个或多个应用160。如图所示,应用160包括用于实现示例性实施例的元件、处理、方法、功能和操作的许多功能部件。

操作系统150可以控制其他计算机程序的执行,并且提供调度、输入-输出控制、文件和数据管理、存储器管理以及通信控制和相关服务。

应用160可以是源程序、可执行程序(目标代码)、脚本或包括要执行的指令集的任何其他实体。当是源程序时,则通常经由可包括在存储器120内的编译器(诸如编译器140)、汇编器、解释器等来翻译程序,以便结合o/s150正确地操作。此外,应用160可以被写为(a)面向对象的编程语言,其具有数据和方法的类,或者(b)过程编程语言,其具有例程、子例程和/或函数。

i/o设备170可以包括输入设备(或外围设备),诸如,例如但不限于鼠标、键盘、扫描仪、麦克风、相机等。此外,i/o设备170还可以包括输出设备(或外围设备),例如但不限于打印机、显示器等。最后,i/o设备170还可以包括传送输入和输出两者的设备,例如但不限于网络接口控制器(nic)或调制器/解调器(用于访问远程设备、其他文件、设备、系统或网络)、射频(rf)或其他收发器、电话接口、桥接器、路由器等。i/o设备170还包括用于在诸如互联网或内联网的各种网络上进行通信的部件。i/o设备170可以利用蓝牙连接和线缆(经由例如通用串行总线(usb)端口、串行端口、并行端口、firewire、hdmi(高清晰度多媒体接口)等)连接到处理器110和/或与处理器110通信。

在示例性实施例中,在应用160以硬件实现的情况下,应用160可以用本领域均公知的以下技术中的任何一种或组合来实现:具有用于根据数据信号实现逻辑功能的逻辑门的(一个或多个)分立逻辑电路、具有适当的组合逻辑门的专用集成电路(asic)、(一个或多个)可编程门阵列(pga)、现场可编程门阵列(fpga)等。

本发明提供的技术方案解决了当问题空间的维数指数增长时对量子计算机器的技术挑战,其中找到某些算符的本征值可能是难处理的问题。例如,考虑电子结构问题,在电子结构问题中基本目标是确定电子在由静止原子核产生的静电场中的运动状态,并且电子结构问题包括求解多体相互作用的费米子哈密顿量的基态能量。在量子计算机上求解这样的问题依赖于费米子算符与量子比特算符之间的映射,这将该问题重述为一组量子比特上的局部哈密顿量问题的具体实例。给定由作用于至多k个量子比特的项组成的k-局部哈密顿量h,局部哈密顿量问题的解相当于找到其基态本征值eg和基态|φg>,它们满足h|φg>=eg|φg>。对于k≥2,已知问题是量子梅林亚瑟(quantummerlinarthur,qma)-完备。应注意的是,本文描述的技术方案可以应用于除了电子结构问题之外的各种其他技术问题,诸如量子磁性等。

在一个或多个示例中,用于解决诸如电子结构问题等的技术问题的技术方案包括使用变分量子本征值求解器(vqe),其用于找到目标哈密顿量的最低能量状态。在一个或多个示例中,使用量子计算机200来实现vqe包括使用实验上可达到的控制参数来制备用于量子计算机200的试探状态,并且测量与所制备的试探状态相关联的能量。然后,将测得的能量馈送到优化例程,以生成趋于降低能量的下一组控制参数。执行迭代直到获得期望精度的最低能量。

使用诸如幺正耦合簇(unitarycouplecluster,ucc)拟设(ansatz)制备的量子硬件之类的试探状态来实现上述协议的技术挑战包括由于相干和控制等等引起的限制。例如,ucc拟设具有多个变分参数,这些变分参数与单激发和双激发近似中考虑的自旋轨道的数量成四次方比例。此外,ucc拟设的实现对抖动(trotter)和门误差敏感。vqe的实现的其他技术挑战包括需要大量样本,这在没有重置方案的情况下可能导致不合理的大量实验时间。此外,将vqe应用于电子结构问题所需的测量次数等于哈密顿量中的项数,在最一般的情况下,哈密顿量的项数对于电子结构问题的规模为~n4,其中n是自旋轨道的数量。这可能进一步导致大的实验时间。

本文描述的技术方案通过促进适合于具有现有量子硬件的有限相干的实现的硬件高效的试探状态制备,解决了使用量子计算机200来实现vqe的这样的技术挑战。此外,该技术方案促进对相干门误差不敏感的vqe的(一个或多个)实现。在一个或多个示例中,本文描述的技术方案在没有易受通量噪声等影响的频率可调谐部件的情况下使用具有全微波量子比特控制的固定频率架构,其最大化量子硬件的量子相干。此外,通过使用仅微波的单量子比特重置,本文描述的技术方案促进维持量子比特相干,同时减少总优化时间。本文描述的技术方案还促进了门的并行化,从而减少了试探状态制备时间。此外,本文描述的技术方案促进对通过唯一的单量子比特旋转组测量的哈密顿量项的分组,这促进减少要捕获和分析的测量的总数,从而减少模拟的总时间。应当注意,本文描述的技术方案提供了除以上列出的那些之外的附加的优点和益处,这对于本领域技术人员将是明白的。

本文描述的技术方案促进实现用于vqe的硬件高效的ucc拟设制备,其中试探状态通过为可用的物理量子计算机200定制的量子门来参数化。

图3描绘了根据一个或多个实施例的量子计算机的框图。如图3中所描绘的并且本文描述的量子计算机300的结构是用于解释一个或多个实施例,而不是限制本文描述的技术方案。如图所示,量子计算机300包括七个量子比特215,诸如基于约瑟夫森结(jj)的传输子量子比特,其中六个量子比特是固定频率传输子量子比特,以及一个是中心通量可调谐非对称传输子量子比特。在其他示例中,量子硬件可以包括不同数量的量子比特以及固定频率量子比特与通量可调谐量子比特的不同组合。

每个量子比特215具有其自己的单独的共面波导(cpw)谐振器216,用于接收控制信号210和接收读出信号220。量子比特215通过色散测量经由独立的读出谐振器216读出,其中每条读出线具有低温放大器310-约瑟夫森参数转换器(jpc1-jpc6)其后是高电子迁移率晶体管320(hemt;m1-m6)的序列,以实现高分配保真度。

在一个或多个示例中,量子比特仅由经由衰减同轴线递送的微波脉冲控制。单量子比特门通过在特定量子比特qi的频率fi处的微波驱动来实现,而纠缠双量子比特cr门通过在目标量子比特qt的频率ωt处驱动控制量子比特qc来实现,其中i、c、t∈{1;2;3;4;5;6},在所描绘的示例中具有6个或更多个量子比特。应当注意,在使用具有不同数量的量子比特的量子硬件的其他示例中,量子比特耦合可以使用不同数量的控制量子比特和/或目标量子比特。

此外,每个量子比特215的状态在其读出谐振器频率ωmi处被测量。反射的读出信号首先由jpc310放大,以频率ωpi泵浦,随后通过hemt320放大器,例如以4k。每个量子比特215具有对应的特性,这些特性包括量子比特转变(ω01/2π)、平均弛豫时间(t1)、平均相干时间(t2,t2*)、读出谐振器频率(ωr/2π)、量子比特非谐性(δ/2π)、读出分配误差(εr)等等。

此外,为了维持用于试探状态制备的门的稳定性,即使在与大哈密顿量的优化相关联的长时间期间,单量子比特门和双量子比特门的幅度和相位在使用过程期间也被校准。例如,为了估计脉冲幅度和相位的漂移的时间尺度和大小,在预定持续时间(诸如6小时、10小时或任何其他持续时间)内周期性地校准门。

此外,量子计算机300包括用于量子比特-量子比特耦合的共享cpw谐振器218,其被称为“量子总线”218。应当注意,尽管图3描绘了提供量子比特-量子比特耦合的两个谐振器,但是在其他示例中,可以使用更多的谐振器来提供这种耦合。此外,如图3所示,量子总线218使得能够实现一个或多个双量子比特纠缠门,诸如可用于实现纠缠器uent402的仅微波交叉谐振(cr)门。在一个或多个示例中,纠缠器可以包括不同的实现,诸如单比特门等。

在一个或多个示例中,通过利用与目标量子比特qt谐振的微波脉冲驱动控制量子比特qc来实现构成试探状态制备中的纠缠器uent的门。通过添加单量子比特旋转,cr门可以用于构造受控制的not(cnot)。在一个或多个示例中,纠缠门相位可以是用于优化vqe的附加的变分参数。

图4描绘了根据一个或多个实施例的用于试探状态制备和能量估计的量子电路。所描绘的示例电路用于6个量子比特,然而在其他示例中,量子电路可以使用不同数量的量子比特,少于或多于六个。电路400由交错的单量子比特215旋转401和使电路400中所有量子比特215纠缠的纠缠幺正操作uent402的序列组成。

纠缠器402是使量子比特215中的一个或多个纠缠的门的序列。纠缠是通过提供给量子比特215的控制脉冲来递送的。例如,量子计算机300的超导硬件的纠缠相互作用可以通过生成纠缠器uent=exp(-ih0τ)的漂移哈密顿量h0来描述。对于硬件高效的试探状态,这些与任意单量子比特欧拉旋转401交错,该任意单量子比特欧拉旋转被实现为z和x门的组合,由给出,其中q标识了量子比特215并且i=0,1,...d是指深度位置,如图4中所描绘的。

q-量子比特试探状态是从状态|00...0>获得的,应用了与n个欧拉旋转交替的d个纠缠器uent,给出了

因为量子比特215被初始化在它们的基态|0>,所以不实施的第一组z旋转,导致总共p=n(3d+2)个独立的角度。应当注意,可以控制演变时间τ和h0中的各个耦合。然而,将p个控制角度作为试探状态中的变分参数促进技术方案使用固定相位uent来确定准确优化。本文所述的技术方案所使用的硬件高效的方法不依赖于具体的两个量子比特门的精确实现,并且可以与产生足够纠缠的任何uent一起使用。这是对ucc试探状态的改进,ucc试探状态需要近似于根据理论拟设定制的幺正算符的高保真度量子门。

图5描绘了根据一个或多个实施例的示例脉冲序列。该示例描绘了用于量子计算机300的六量子比特试探状态的制备的脉冲序列500。在一个或多个示例中,z旋转在控制软件中被实现为帧变化,而x旋转是通过对于每个单量子比特旋转使用预定持续时间的固定总时间(诸如100ns)来适当地缩放经校准的xπ脉冲的幅度而实现的。

此外,uent402被实现为双量子比特交叉谐振门的组成或序列。在一个或多个示例中,cr谐振门被实现为crc-t门,通过用与目标量子比特qt谐振的微波脉冲驱动控制量子比特qc来实现。此外,crc-t门的哈密顿量断层摄影术被用于揭示各种相互作用项的强度和最大纠缠的门时间。此外,在一个或多个示例中,双量子比特门时间(τ)被设置在固定值,诸如150ns,其表示在与最大成对并发对应的门相位周围的最小能量误差的平台期。使用固定门时间通过使退相干的影响最小化而不妥协优化结果的准确性,进一步改善了量子电路400的性能。

返回参考图4,在一个或多个示例中,在每个试探状态被制备之后,通过测量哈密顿量中的各个泡利项的期望值来估计相关联的能量。这些估计受到由于有限采样效应引起的随机波动的影响。

此外,在一个或多个示例中,在试探状态制备之后应用不同的后旋转410以用于对输入的哈密顿量中的不同泡利算符进行采样。然后,使用读出脉冲420测量量子比特的状态。在一个或多个示例中,将泡利算符分组到使用相同的后旋转410的张量积基组中。这种分组减少了能量波动,保持了相同的样本总数,以这种方式减少了用于能量估计的时间开销。

在一个或多个示例中,然后通过依赖于同时扰动随机近似(spsa)的梯度下降算法以更新控制参数来使用能量估计。spsa算法在存在随机波动的情况下仅使用两个能量测量来近似梯度,而不管参数空间p的维度,实现了与标准梯度下降方法相当的精度水平。因此,该技术方案促进在多个量子比特和长深度上优化以用于试探状态制备,从而促进在多个参数上的优化,例如p=30。应当注意,spsa仅仅是示例优化器,并且在其他示例中,可以使用不同的优化算法来实现技术方案。

在一个或多个示例中,优化器算法是由计算机100使用由量子计算机300输出的能量状态来执行的。计算机100更新控制参数,并因此生成下一个试探状态,该下一个试探状态被馈送到量子计算机300中,以用于试探状态的进一步改进。该来回处理继续直到估计能量的收敛或者如果量子计算机300的资源饱和(例如,退相干极限、采样时间)为止。

图6示出了根据一个或多个实施例的用于使用量子计算机器来执行变分量子本征值求解器的示例方法的流程图。该流程图使用电子结构领域中用于确定分子(诸如h2、lih和beh2分子)的基态能量的方法的示例实现来图示。然而,要理解的是,该方法可应用于任何其他分子,并且进一步可应用于量子计算机器可应用的任何其他技术问题,诸如量子磁性或任何其他。

该方法包括将量子哈密顿量问题映射到量子比特哈密顿量h,如在610处所示。例如,对于分子能量估计,所考虑的分子哈密顿量是在sto-3g基底(basis)中使用诸如pyquantetm之类的软件来计算的。理解的是,分子量子哈密顿量可以以任何方式计算。将哈密顿量映射到量子比特包括基于所计算的哈密顿量来确定量子比特215的自旋轨道的数量。例如,在分子哈密顿量中,对于h2分子,每个原子贡献1s轨道,总共4个自旋轨道。例如,x轴被设定为lih和beh2分子的原子间轴,并考虑每个h原子的轨道1s以及li和be原子的1s、2s、2px,假设2py和2pz轨道为零填充,2py和2pz轨道不与所考虑的轨道子集强烈相互作用。这种轨道的选择总计lih有8个自旋轨道,beh2有10个自旋轨道。应当注意,在其他示例中,映射与以上描述不同。

使用第二量子化语言将哈密顿量表示为

其中,是费米子模式α的费米子模式产生(湮灭)算符,满足费米子对易规则这里,m=4;8;10是h2、lih和beh2各自的自旋轨道的数量,并且使用化学家符号表示两体积分,

其中zi是所定义的原子核电荷,是原子核-电子和电子-电子分离,是第α个轨道波函数,并且假定自旋在自旋轨道指数α、β和α、β、γ、δ中是守恒的。此外,在lih和beh2的情况下,映射考虑了内1s轨道的完美填充,在h1是对角的基础上进行修整。在此程度上,计算机100可对模式实现巴格寥夫(bogoliubov)变换,使得

li和be的“修整的”1s模式现在将被填充,以用于高效地获得作用于形式的一般状态的有效哈密顿量,其中ψβ是一般的归一化系数,并且1sσ={1s↑,1s↓}是指li和be的内1s轨道。注意,每当时,即在不与较高能量的轨道强烈相互作用的非常低能量的轨道的情况下,该近似是有效的。拟设允许在氢原子的1s轨道以及锂和铍的2s和2px上定义有效屏蔽哈密顿量,lih和beh2分别总共6个和8个自旋轨道。根据这个拟设,包含填充轨道的一体费米子项现在将有助于作为总能量的偏移(这里i是恒等算符)

而包含li和be的1s填充模式的f组5={1s↑,1s↓}的一些两体相互作用成为有效一体或能量偏移项,

而包含奇数个f中的模式的两体算符将被忽略。

以这种方式获得的费米子哈密顿量被映射到量子比特215。应当注意,这是用于beh2和lih分子的哈密顿量的一个具体约化,并且在其他示例中,哈密顿量可以基于不同的约化技术而被不同地表示。在一个或多个示例中,使用二叉树映射将h2哈密顿量映射到4个量子比特上。此外,通过首先列出m/2个自旋向上轨道然后列出m/2个自旋向下轨道来对m个自旋轨道进行排序。当使用二叉树映射时,这在第二量子比特和第四量子比特中产生量子比特哈密顿量对角线,其具有被编码在这些量子比特中的总粒子和自旋对称性。在一个或多个示例中,对于lih和beh2,使用哈密顿量宇称映射,其具有被编码在第m/2模式和第m模式中的两个对称性,即使自旋轨道的总数不是2的幂,如在h2的情况下。此外,根据

将基于系统中的电子总数m的值分配给第m/2量子比特和第m量子比特的z泡利算符。其中对于偶数(奇数)m,zm上的+1(-1)意味着偶数(奇数)总电子宇称。zm/2的值+1、-1和±1分别意味着在基态中具有自旋向上的电子总数是偶数、奇数,或者存在偶数/奇数简并。在后一种情况下,+1和-1二者都可以等效地用于zm/2。分别对于h2、lih和beh2,最终的量子比特锥形哈密顿量由2、4、6个量子比特上支持的4、99和164个泡利项组成,每个具有2、25和44个张量积基(tpb)组。如前所述,在其他示例中,哈密顿量被不同地映射到量子比特

通过使用宇称映射将哈密顿量h映射到量子比特(例如,见图8805)。映射的哈密顿量是泡利项的和。tpb中的泡利项的集合的测量样本可以通过使用微波脉冲在tpb中旋转来测量,并且在一个或多个示例中,仅使用微波脉冲。例如,微波脉冲通过可变的幅度和相位来参数化以表示泡利算符/项。替代地,在一个或多个示例中,微波脉冲通过具有变化相位的恒定幅度来参数化以表示泡利算符/项。

返回参考图6的流程图,该方法还包括选择量子电路400的深度d、要针对每个tbp组测量的量子比特状态的数量s、以及控制更新的最大数量n,如框620所示。样本的数量s是指使用给定试探状态的给定测量的重复次数。试探状态是执行任意旋转和纠缠器的单量子比特门的交错序列。纠缠器是使优化中利用的所有量子比特纠缠的门的序列。量子电路深度d是在试探状态制备中使用的纠缠器的数量。门是可以通过波形、幅度和时间来参数化的微波脉冲的序列。例如可以通过改变幅度和相位来参数化的微波脉冲。替代地,微波脉冲可以通过具有变化相位的恒定幅度来参数化。例如,为了表示试探状态,经由微波脉冲发送的控制信号的幅度和/或相位被配置为特定的对应的值。

此外,该方法包括,对于每个tbp组,通过读出根据试探状态设置的量子比特215的状态,使用量子计算机300提取映射的哈密顿量的量子比特状态的s个样本,如在框630处所示。经由量子计算机300确定量子比特状态包括将量子比特215初始化到基态,如在框631所示。计算机100发送重置信号至量子计算机以用于这种初始化。此外,计算机100发送控制信号210以驱动量子比特215到相应的初始试探状态,如在框632所示。此外,量子计算机300在迭代期间将量子比特215驱动到相应的试探状态。

在一个或多个示例中,量子比特被设定到采用门的并行化的试探状态以减少试探状态制备时间。例如,利用表示试探状态的对应的脉冲序列500并发地设置量子比特215。

此外,如在框633所示,执行与tbp组中的泡利项相关联的单量子比特后旋转410。后旋转促进来自量子比特215的读出信号220以计算映射到量子比特215上的(一个或多个)哈密顿算符的期望值。一旦映射到量子比特215,如前所述,每个分子哈密顿量被表示为q个量子比特上支持的t个泡利项的加权和其中每个是q个量子比特上的单量子比特泡利算符x、y、z和恒等式i的张量积,其中hα是实系数。

对于第k控制更新,能量状态估计由给出。这可以通过对来自每次迭代的测量结果进行平均、使用相同的初始状态、应用通过来参数化的量子门以及最后在各个量子比特上执行投影测量来完成。因为取得哈密顿算符<h>及其方差的直接测量是不可用的,所以对各个泡利算符pα进行采样,并且从第α泡利算符的测量结果中估计平均值和方差<pα>、然后,能量和哈密顿量方差可以作为以下来获得:

平均能量的方差var[h]不同于<δh2>,因为各个泡利项被分别采样;例如,h的本征态具有<δh2>=0,但是有限var[h]≠0。平均值上的误差其中hmax=maxα|hα|是最大泡利系数的绝对值。因为对大量试探状态和泡利算符采样s次可造成显著的时间开销,所以使用相同的状态制备来测量不同的泡利算符促进节省用于收集多个样本的这种开销。

因此,在一个或多个示例中,量子计算机300将不同的泡利项分组以用于改进时间效率。通过在z基底上将单量子比特色散读出的测量结果相关来测量各个泡利算符,这可以同时进行,因为每个量子比特215都具有单独的读出谐振器216。在目标多量子比特泡利算符包含非对角单量子比特泡利算符的情况下,在z基底中的测量之前执行单量子比特旋转(后旋转)。例如,具体地,沿x(y)轴的-π/2(π/2)旋转以测量y(x)单量子比特泡利算符。

此外,为了最小化采样开销,我们将t个泡利算符pα分组在a个组s1、s2、...sa中,这些组具有在相同张量积基中是对角的项。测量给定tpb组中的所有泡利项所需的后旋转是相同的,并且可以使用唯一的状态制备来对同一组中的所有泡利算符进行采样。然而,通过这样做,相同tpb组中的协方差效应对总哈密顿量的方差有贡献,

其中smax=maxi|si|是最大tpb组中的元素的数量。保持与上述误差等式中相同的测量总数ts,在这种情况下,使用分组,平均值上的误差由下式给出:

这可以与单独采样单个泡利项的情况(上述)相比较。来自协方差的误差贡献(其可以是正的或负的)必须与来自分组的较少样本的使用进行折衷。此外,能量和哈密顿量方差可以被估计为

其中xi,α是在第α泡利项上的第i次测量的结果。此外,在s次测量之后,协方差矩阵元素被定义为

返回参考图6,该方法还包括读出量子比特状态,如在框634所示。如在框635所示,如果需要,在制备进一步的迭代时,量子比特215被进一步重置。使用仅微波脉冲方案来执行重置,其中计算机100向量子计算机300发送重置微波脉冲,特别是对于要被重置的(一个或多个)量子比特。重置微波脉冲是与量子计算机300的谐振器相关联的预定脉冲,并且可以根据所使用的量子计算机300而变化。该方法在多个tpb组上循环,如在框630所示。利用相同的试探状态获得每组泡利算符的期望值。

此外,量子比特状态被用于使用s个被采样的量子比特状态来计算能量,如在框640所示。该方法还包括确定n个控制更新是否已经完成,如在框660所示。如果n次迭代尚未完成,则该方法包括使用优化器来分析使用当前试探状态已捕获的能量估计值,并通过修正用于纠缠的脉冲序列410来优化试探状态,如在框670所示。例如,可以使用机器学习算法来执行优化,该机器学习算法诸如梯度下降算法,如同时扰动随机算法(spsa)。该优化提供了更新的角度,根据该更新的角度将控制脉冲(微波)401发送到量子比特215。

在角度的每次更新之前的能量估计是基于参数的数量p=n(3d+2),并且随着电路的深度d和量子比特的数量q而线性增长。随着参数数量的增加,算法的优化部分的开销也增加。优化的精度也可能由于在第k步εk处存在能量波动而显著降低。此外,在量子硬件300上,存在与在电子器件、谐振器和量子比特重置上的脉冲波形的加载以及量子比特读出的重复采样相关联的时间开销。优化器还必须对统计波动具有鲁棒性,并且每次迭代使用最少数量的能量测量。spsa给出了成本函数优化的精度水平,其可与有限差分梯度近似相当,同时节省了成本函数评估的阶数o(p),并且可应用于量子控制和量子断层摄影的背景环境中。

在一个或多个示例中,在spsa方法中,对于优化的每个步骤k,来自p个对称伯努利分布的样本与来自收敛到零的两个序列ck和ak的预先分配的元素一起使用。在处的梯度是使用在处的能量评估来近似的并且被构造为

如图7中曲线图710所示。梯度近似仅需要两次能量估计,而不管中的变量的数量p。然后,控制被更新为

如果起始点在该问题的吸引域内,则即使在存在随机波动的情况下,θk也会收敛到最优解如果控制的起始点不在吸引域内,则收敛仍然是开放的问题。在这种情况下,采用了类似多个竞争起始点的策略。例如,序列ck、ak被选为

这里,参数α、γ是预定的,例如{α,γ}={0.602,0:101},用于确保沿着针对上述定义的近似梯度的最平滑下降。调整c的值以调节梯度评估相对于能量波动大小的鲁棒性。在一个或多个示例中,能量的大波动需要具有大ck的梯度评估,使得波动基本上不影响梯度近似。这种情况在体系中是有效的,如在710中所示。换句话说,如果能量差大于能量的随机波动,则获得好的梯度近似,并且启发式地选择参数c以满足该条件。例如,c=10-1被用于确保在包括退相干噪声和能量波动的情况下的鲁棒性,而较小的c=10-2因子被用在无波动情况下评估能量时的数值优化中。

然后,参数a被实验地校准,以便在优化的第一步骤上实现合理的角度更新,例如对于所有角度i=1,2,...p,为在一个或多个示例中,为了实现这一点,使用基于如下的逆公式

其中符号指示来自生成第一梯度近似的分布的不同样本上的平均值。在一个或多个示例中,通过沿不同方向进行平均,测量可在起始点附近测量的功能景观(functionallandscape)的平均斜率并相应地校准实验。

例如,图7包括示例曲线图720和730,这些曲线图描绘了通过测量25次针对在所描绘的键距处的lih分子测量的能量而校准的参数a,其中d=1,从针对不同随机梯度近似的起始角度起。应当注意的是,在通过该方法执行进行的优化期间,未测量到针对第k优化角度的能量值并且相反仅测量并且报告了值这些值用于生成新的梯度近似。仅在优化结束时测量下面的优化角度在最后25个和25个上进行平均以进一步最小化随机波动效应。此外,该最后的平均是用105个样本完成的,与在优化期间用于生成的103个样本相反,以便减少测量的误差。

返回参考图6的流程图,一旦已经执行了使用优化器的控制更新的n次迭代,并且如果尚未发生能量收敛,则将参数递增预定值,如在框680所示。例如,增加样本的数量s,并且增加迭代的数量n。此外,在一个或多个示例中,增加量子电路400的深度d。在一个或多个示例中,在n已经增加到预定最大值之后,或者如果n已经增加了预定次数,则增加深度d。

评估用于第k控制的能量如在框685处所示。例如,计算机100确定能量状态是否收敛。如果能量收敛,则能量被报告为vqe的解。例如,在预定期望值的预定阈值内的能量状态估计被认为是达到收敛的能量估计。例如,当最佳能量估计接近达到化学精度的精确解时,可以使用大约0.0016哈特里(hartree)的能量误差来认为收敛。如果检测到收敛,则可以停止执行该方法,而将试探状态用来提供作为解。例如,正在进行的分子结构示例中的试探状态提供了被分析的原子的粒子之间的角度和/或距离。如果作为计算机100和量子计算机300之间的反馈回路的优化结果的能量估计已经收敛,在这种情况下增加、改变参数d、n和/或s将不再进一步改进能量估计的最终结果。因此,认为该方法的执行完成。

如果能量估计尚未收敛,则该方法继续迭代,直到检测到量子计算机300的资源饱和。一旦参数已经增加,该方法包括验证增加的值不引起量子电路400处的资源饱和,如在框690处所示。例如,预定的退相干极限和/或预定的采样时间可以用于限制参数增加得多快,因为随着参数增加,用于生成与测量能量状态相关联的量子比特状态的退相干和采样时间增加。

如果不满足饱和极限,则该方法迭代通过本文所述的操作,直到满足停止条件中的一个或多个。在一个或多个示例中,监视校准时间并且在每个校准时间持续时间之后重新校准量子计算机300。

图8描绘了根据一个或多个实施例的使用改进的vqe的分子结构应用的示例优化。图8中的曲线图805描绘了根据一个或多个实施例的8个自旋轨道到8个量子比特上的宇称映射,经由费米子自旋宇称对称性的量子比特逐渐减小(qubittapering)减少到6个量子比特。条(bar)指示被编码在每个量子比特215中的自旋轨道的宇称。例如,该映射可以用于使用宇称映射来映射beh2自旋轨道哈密顿量的8自旋轨道哈密顿量,并且如在h2的情况中一样,去除与自旋宇称对称性相关联的两个量子比特,将其减少为编码8个自旋轨道的6量子比特问题。类似的方法也可以用于将lih映射到4个量子比特上。映射基于在h2、lih和beh2的前述键距处的h2、lih和beh2的哈密顿量的映射。

此外,在图8的曲线图810中示出了来自优化过程的结果,其中使用了针对的原子间距离的beh2哈密顿量。所呈现的结果是针对d=1,其中总共有30个与6个量子比特相关联的欧拉控制角度(p=30)。曲线图810的插图示出了在更新能量估计时的30个欧拉角度的同时扰动。在该示例情形中,为了获得h2、lih和beh2的势能表面,对于深度d=1,对于一系列不同原子间距离,分别使用2个、4个和6个量子比特来搜索h2、lih和beh2的分子哈密顿量的基态能量。在此,对于每次迭代k,使用103个样本(s=103)来近似在每个控制处的梯度,以用于在处的能量估计。插图示出了控制试探状态制备的30个欧拉角度的同时优化。使用在最后预定数量的角度更新(例如最后25个)上进行平均的角度来获得最终能量估计。在一个或多个示例中使用最后预定数量的角度更新以便减轻随机波动的影响,利用更高数量的105个样本,以得到更准确的能量估计。

图9描绘了使用根据一个或多个实施例的使用试探状态的改进的vqe的结果与已知值的比较。图9的曲线图a、b和c描述了h2(曲线图a)、lih(曲线图b)和beh2(曲线图c)的多个原子间距离的分子结构建模的结果的比较。将来自量子计算机300的结果与来自使用深度d=1的电路的数值模拟的结果进行比较。此外,在图9中,每个曲线图的顶插图突出用于每个分子建模的量子比特,以及构成uent的交叉谐振门。例如,对于h2分子,量子比特q2和q4之间的交叉谐振(cr)门构成纠缠器uent,对于lih分子,量子比特对q2-q4、q2-q1和q1-q3之间的cr门构成纠缠器uent,并且对于beh2分子,量子比特对q2-q4、q2-q1、q1-q3、q4-q5和q6-q5之间的cr门构成纠缠器uent。每个曲线图的底插图是分子几何形状的表示,未按比例绘制。对于所有三种分子,实验结果与精确曲线的偏离被随机模拟很好地解释。

因此,本文描述的技术方案促进了依赖于在量子硬件上可访问的门的硬件高效的试探状态制备的使用。在一个或多个示例中,本文描述的技术方案使用固定频率超导量子比特架构。例如,试探状态制备可以使用固定频率单量子比特和纠缠量子门用于试探状态制备,其仅使用微波脉冲来实现。微波脉冲可以通过可变的幅度和相位来参数化。替代地,微波脉冲可以通过具有变化相位的恒定幅度来参数化。本文描述的技术方案还促进了使用量子门的并行化用于试探状态制备。例如,本文描述的技术方案描述了在量子硬件中的不同量子比特处使用唯一的单量子比特后旋转组,使用微波脉冲来实现旋转,以用于测量属于相同张量积基组的多个哈密顿量项。本文描述的技术方案还促进了使用仅微波的量子比特重置方案。

因此,本文描述的技术方案改进了用于量子模拟的vqe的使用,并且因此通过基于超导量子处理器生成和使用硬件高效的试探状态来提供对计算技术本身的改进。本文描述的技术方案进一步改进了用于量子模拟的vqe的应用,因为本文描述的技术方案在近期量子硬件上是可实现的,与包括ucc中的单位元的完全参数化的典型方案相反。此外,本文描述的技术方案促进以高效方式将费米子映射到量子比特以用于哈密顿量的模拟(例如,将8个哈密顿量映射到6个量子比特),因此提高所使用的量子计算机的效率。通过使用在张量积基(tpb)中对泡利算符进行对角划分的测量方案,进一步提高了效率。

已经出于说明的目的给出了本发明的各种实施例的描述,但是其不旨在是穷尽的或限于所公开的实施例。在不脱离所描述的实施例的范围的情况下,许多修改和变化对于本领域的普通技术人员将是清楚的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。

在任何可能的技术细节结合层面,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质(或多个计算机可读存储介质),其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的示例的非穷举的列表包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备(诸如其上存储有指令的打孔卡或凹槽内凸起结构)以及上述的任意合适的组合。如本文所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或者通过电线传输的电信号。

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

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

本文参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图描述了本发明的各个方面。将理解的是,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可以由计算机可读程序指令来实现。

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

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

附图中的流程图和框图图示了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示模块、程序段或指令的部分,所述模块、程序段或指令的部分包含用于实现指定的(一个或多个)逻辑功能的一个或多个可执行指令。在一些替代实现中,框中所标注的功能可以以不同于附图中所标注的顺序发生。例如,连续示出的两个框实际上可以基本并发地执行,或者这些框有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图图示中的每个框以及框图和/或流程图图示中的框的组合可以通过执行指定的功能或动作或者执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1