CN111149116B - 通过电路重写调试量子电路 - Google Patents
通过电路重写调试量子电路 Download PDFInfo
- Publication number
- CN111149116B CN111149116B CN201780095433.1A CN201780095433A CN111149116B CN 111149116 B CN111149116 B CN 111149116B CN 201780095433 A CN201780095433 A CN 201780095433A CN 111149116 B CN111149116 B CN 111149116B
- Authority
- CN
- China
- Prior art keywords
- circuit
- computer
- quantum
- instrumented
- measurement data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 81
- 238000005259 measurement Methods 0.000 claims abstract description 61
- 230000008569 process Effects 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims description 29
- 230000001902 propagating effect Effects 0.000 claims description 14
- 230000000694 effects Effects 0.000 claims description 13
- 238000004587 chromatography analysis Methods 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 claims description 8
- 238000011137 process chromatography Methods 0.000 claims description 7
- 238000005192 partition Methods 0.000 claims description 5
- 238000003325 tomography Methods 0.000 claims 1
- 230000003278 mimic effect Effects 0.000 abstract 1
- 239000002096 quantum dot Substances 0.000 description 34
- 238000010586 diagram Methods 0.000 description 26
- 238000010801 machine learning Methods 0.000 description 17
- 230000000670 limiting effect Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 13
- 238000004590 computer program Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 239000000835 fiber Substances 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 229910052802 copper Inorganic materials 0.000 description 2
- 239000010949 copper Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005184 irreversible process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000000341 volatile oil Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
Abstract
提供了用于使量子电路调试自动化的技术,该技术模拟标准调试行为。该技术包括基于被插入到与源量子电路对应的软件代码中的仪器指令信息将源量子电路重写成仪器化电路。仪器化电路可以被执行以获得与源量子电路内的量子位的不同状态数据对应的测量数据。测量数据可以被处理以输出与关联于源量子电路的量子计算机的一个或多个内部状态或过程对应的生成的信息。
Description
背景技术
本公开涉及量子计算,并且更具体地,涉及调试量子电路。诸如在单步通过代码执行时观察常规计算机器的内部状态的标准调试方法在量子计算机上是不可能的,因为内部状态的测量改变了执行结果并且是不可逆的过程。
发明内容
以下呈现了用以提供对本发明的一个或多个实施例的基本理解的发明内容。本发明内容并不旨在标识关键或重要元素,或描绘特定实施例的任何范围或权利要求的任何范围。其唯一目的是以简化形式呈现概念,作为稍后被呈现的更详细的描述的序言。在本文描述的一个或多个实施例中,描述了促进使量子电路调试自动化的设备、系统、计算机实现的方法、装置和/或计算机程序产品。
根据一个实施例,一种系统可以包括电路重写组件,该电路重写组件基于与对应于量子计算机的源电路的软件代码相关联的仪器指令信息来将源电路重写成仪器化电路。执行组件可以执行仪器化电路以产生测量数据。电路重写组件可以应用电路重写规则以移除产生自仪器指令信息的死代码。在一个方面中,由系统产生的测量数据可以提供被调试的和/或改进的量子电路。
根据另一实施例,提供了一种计算机实现的方法。该计算机实现的方法可以包括由被操作地耦合到处理器的系统基于将源量子电路仪器化的仪器指令信息来将源量子电路自动地重写成仪器化电路,其中源量子电路与量子计算机相关联。此外,计算机实现的方法可以包括由设备执行仪器化电路以获得与源电路中的不同位置对应的测量数据,并且由设备输出测量数据。在一个方面中,由计算机实现的方法产生的测量数据可以提供被调试的和/或改进的量子电路。
根据又一实施例,一种促进量子电路调试的计算机程序产品可以包括计算机可读存储介质,该计算机可读存储介质具有利用其被体现的程序指令。程序指令能够由处理器可执行并且使得处理器基于被插入到对应于源量子电路的软件代码中的仪器指令信息来将源量子电路自动地重写成仪器化电路,执行仪器化电路以获得对应于源量子电路内的量子位的不同状态数据的测量数据,并且处理测量数据以输出与关联于源量子电路的量子计算机的一个或多个内部状态或过程的生成的信息。在一个方面中,由计算机程序产品产生的生成的信息可以提供被调试的和/或改进的量子电路。
在另一实施例中,一种计算机实现的方法可以包括基于被插入到对应于源量子电路的软件代码中的仪器指令信息来将源量子电路重写成仪器化电路,执行仪器化电路以获得对应于源量子电路内的量子位的不同状态数据的测量数据;以及处理测量数据以输出与关联于源量子电路的量子计算机的一个或多个内部状态或过程对应的生成的信息。处理测量数据可以包括执行状态层析(tomography)和重建,或者执行过程层析和重建。在一个方面中,由计算机实现的方法产生的生成的信息可以提供被调试的和/或改进的量子电路。
在又一实施例中,一种系统可以包括电路重写组件,该电路重写组件基于被插入到对应于源量子电路的软件代码中的仪器指令信息来将源量子电路重写成仪器化电路。执行组件可以执行仪器化电路以获得对应于源量子电路内的量子位的不同状态数据的测量数据。统计估计组件,该统计估计组件处理测量数据以输出与关联于源量子电路的量子计算机的一个或多个内部状态或过程对应的生成的信息。在一个方面中,由系统产生的生成的信息可以提供被调试的和/或改进的量子电路。
附图说明
图1至图3示出了根据本文描述的一个或多个实施例的包括量子调试器组件的示例非限制性系统的框图。
图4示出了根据本文描述的一个或多个实施例的包括被重写成仪器化电路实例的具有断点的输入电路的另一示例非限制性系统的框图。
图5和图6示出了根据本文所述的一个或多个实施例的使用通过经由电路(例如,相对于断点)向后传播仪器化的影响来确定其状态可以被有因果地连接到仪器化的(多个)量子位的方式重写仪器化电路的示例非限制性系统的框图。
图7和图8示出了根据这里描述的一个或多个实施例的使用通过经由电路(例如,相对于断点)向前传播仪器化的影响来确定其状态可以被有因果地连接到仪器化的(多个)量子位的方式来重写仪器化电路的示例非限制性系统的框图。
图9和图10示出了根据本文描述的一个或多个实施例的示例非限制性计算机实现的方法的流程图,该方法促进将经注释的量子电路重写成促进调试(图10)的仪器化电路(图9)。
图11示出了根据本文描述的一个或多个实施例的示例非限制性计算机实现的方法的流程图,该方法促进将经注释的量子电路重写成仪器化电路、执行仪器化电路以提供输出以及处理输出。
图12示出了其中可以促进本文描述的一个或多个实施例的示例非限制性操作环境的框图。
具体实施方式
以下具体实施方式仅是说明性的,并且并不旨在限制实施例和/或实施例的应用或使用。此外,并不旨在受前面的背景技术或发明内容部分或具体实施方式部分中呈现的任何明示或暗示的信息的约束。
现在参考附图描述一个或多个实施例,其中相同的附图标记始终被用于指代相同的元件。在以下描述中,出于说明的目的,阐述了许多具体细节以便提供对一个或多个实施例的更透彻理解。然而,在各种情况中,显然可以在没有这些具体细节的情况下实践上述一个或多个实施例。
与基于晶体管的二进制数字技术相比,量子计算采用量子物理来将信息编码。例如,量子计算机可以采用量子位(例如,量子位),这些量子位是量子信息的基本单元。量子位根据量子物理的叠加原理和量子物理的纠缠原理操作。量子物理的叠加原理表明,每个量子位可以同时表示值“1”和值“0”。量子物理的纠缠原理表明,叠加中的量子位可以彼此相关。例如,第一值(例如,值“1”或值“0”)的状态可以取决于第二值的状态。这样,量子计算机可以采用量子位来将信息编码。
量子计算的已知特性是测量量子计算电路中的量子位或量子位的子集的状态相对于没有被测量的结果改变了电路的结果。作为结果,量子位的测量通常是不可逆的过程,由此标准调试技术方法(诸如,在单步通过指令的执行的同时观察计算机器的内部状态)在量子计算机上是不可能的。
图1至图3示出了根据本文描述的一个或多个实施例的包括量子调试器组件的示例非限制性系统的框图。为了简洁,省略了本文描述的其他实施例中采用的类似元件的重复描述。
图1至图3示出了示例非限制性系统100的框图,该系统诸如包括促进调试量子电路的调试器组件102。与源量子电路(例如,要被调试的)对应的量子电路代码104可以被获得作为对调试器组件102的输入。用户接口106(或自动化过程)可以被用于例如通过在适当位置插入至少一个断点,例如以促进测量在代码/电路中的该点处的量子位或量子位集合的状态,和/或通过在指令集合周围插入至少一对开始断点和结束断点,来将量子电路代码104修改成仪器的量子电路代码108。如所理解的,在一些实施例中,用户接口106(和/或任何自动化操作机制)可以在调试器组件102外部,从而使得仪器化量子电路代码108可以被更直接地提供作为对调试器组件102的输入。
如图1中被进一步表示的,电路重写组件110可以将源电路(基于仪器化量子电路代码108和电路重写规则111)重写成多个仪器化量子电路(112(1)-112(n));仪器化量子电路是变化的实例,以便经由仪器化量子电路获得不同位置处的测量。一般而言并且如本文所述,电路重写可以插入仪器指令并且移除产生自仪器化的死代码。
系统100可以采用硬件和/或软件以解决本质上是高度技术性的问题,包括调试量子电路,这些问题不是抽象的并且不能作为人类的一组精神动作而被执行。此外,在某些实施例中,杯执行的过程中的一些过程可以由一个或多个专用计算机(例如,一个或多个专用处理单元、诸如层析和重建、统计估的专用计算机计等)执行,以用于执行与机器学习相关的定义的任务。系统100和/或系统100的组件可以被用来解决由于上述技术、计算机架构等的进步而引起的新问题。系统100的一个或多个实施例可以提供对量子电路系统、量子处理器系统、量子计算系统、人工智能系统和/或其他系统的技术改进。系统100的一个或多个实施例还可以通过改进量子处理器的处理性能、改进量子处理器的处理效率、改进量子处理器的处理特性、改进量子处理器的定时特性和/或改进量子处理器的功率效率来提供对量子处理器(例如,超导量子处理器)的技术改进。
图2表示系统100的另一组件,其可以被并入调试器组件102中,即电路执行组件114。电路执行组件114可以执行仪器化量子电路112(1)-112(n)以获得与各个执行操作对应的测量数据116(1)-116(n)。例如,执行组件可以将一个或多个量子位输入到门和/或仪器化电路中,并且在指定的测量点处测量结果,然后利用下一仪器化电路重复过程,等等。测量数据可以被组合以推断关于源电路的状态信息。
如图3中所示,测量数据116(1)-116(n)可以由统计估计组件118处理,以输出量子计算机在源电路中的各个位置处的推断数据120(例如,推断的内部状态/推断的过程)。例如,统计估计组件118可以对测量数据执行公知的状态层析和重建操作,和/或公知的过程层析和重建操作。辅助传统计算系统(例如,大型集群或专用机器)可以专用于处理所得到的测量数据116(1)-116(n)。推断数据120可以按照适当的形式被输出在用户接口实例122上,用户接口实例122可以是图1的用户接口106的一部分。以这种方式,关于量子电路代码104的信息(对应于量子源电路)可以被获得,就好像在不改变总体执行结果的情况下实际上能够测量量子位状态或来自量子位的相关性的状态一样。
更一般地,在此描述的一个或多个实施例中,推断量子计算机的内部状态和/或过程的任何统计估计过程可以通过创建经注释的输入电路的仪器电路(使用电路重写规则111,图1)、执行仪器电路并且例如使用众所周知的统计分析技术对测量结果的总体进行后处理而被实现,以估计关于输入电路中不同位置处的量子位状态和数据正在发生什么。还应注意,如经由图3中的测量数据116(4)和用户接口122之间的虚线箭头所示,统计估计仅是一个选项,并且测量数据的表示可以经由用户接口122被直接地呈现。例如,可以直接评估量子位状态,该量子位状态被预期由电路基于到该电路的给定输入而被变换到特定状态,以查看该量子位在该点处是否实际上处于该预期状态。
本文描述了一种在系统100中被体现的、通过执行量子电路的总体来模拟调试(经由调试组件102)和相关操作行为的技术,该量子电路的总体包括从经注释的/仪器化源量子电路/代码108得到的仪器化电路112。如将被理解的,可以通过应用电路重写规则111以插入仪器指令来产生仪器化电路。规则111还可以移除产生自仪器化的死代码。
本文描述的实施例包括系统、计算机实现的方法和计算机程序产品,其通过自动地重写量子电路来促进调试量子电路,如经由电路重写组件110所图示的。在与单步进通过量子程序有关的方面中,在仪器化软件代码中,在与源量子电路对应的软件代码内的一对量子电路指令之间插入断点(例如,图4)。源电路和仪器化电路可以使用合适的电路表示而被指定,例如由量子汇编语言(QASM)软件代码体现。断点包括系统的量子位的(部分)分区,其可以在硬件或模拟器或其他数学模型被中实例化。
使用任何适当形式的状态层析和重建(被表示为统计估计组件118),可以估计与源量子电路中不同位置处的量子位对应的状态。这可以包括在断点之前和之后对子电路/操作的适当修改,以及通过促进层析方法的前操作和后操作来替换这些操作。
在另一方面中,可以将上述概念应用于一组指令(感兴趣的量子代码段)以估计这些指令所应用的量子过程。在感兴趣的量子代码段周围插入开始断点和结束断点。量子位的(部分)分区被给定。
使用任何形式的过程层析和重建(被表示为统计估计组件118),对应于分区的每个子集的过程被估计。这可以包括在断点之前和之后对子电路/操作的适当修改,以及通过促进层析方法的前操作和后操作来替换这些操作。
因此,无论是经由单个断点还是围绕一组指令的开始断点和结束断点,通过改变门的组合上的电路并重新执行它们,可以例如使用任何合适形式的状态或过程层析和重构来针对分区中的量子位的每个子集估计系统的减小密度的矩阵(即,可观察的系统状态中一些或所有可观察的系统状态)。电路根据重写规则被重写以使能每个估计。例如,通过将仪器化的影响向前传播通过电路,其状态可以被有因果地连接到仪器化的(一个或多个)量子位可以被确定以移除分区中的未来操作,并且由适当的后旋转和测量来替换。
在图1至图3中所示的实施例中,系统100可以包括调试器组件102。如图1中所示,调试器组件102可以包括电路重写组件110。调试器组件102的各方面可以构成在(多个)机器内被体现的(多个)机器可执行组件,例如,在与一个或多个机器相关联的一个或多个计算机可读介质中被体现的。当由一个或多个机器(例如,(多个)计算机、(多个)计算设备、(多个)虚拟机等)执行时,(多个)这样的组件可以使得(多个)机器执行所描述的操作。在一个方面中,调试器组件102还可以包括存储计算机可执行组件和指令的存储器。此外,调试器组件102可以包括处理器以促进由调试器组件102执行指令(例如,计算机可执行组件和对应的指令)。如图所示,在一个或多个实施例中,调试器102的各种组件可以彼此被电耦合和/或通信地耦合。
调试器组件102可以接收量子电路数据104、108。量子电路数据104、108可以是例如量子电路的机器可读描述。量子电路可以是用于与量子门的序列相关联的一个或多个量子计算的模型。在一个示例中,量子电路数据可以包括指示描述量子电路的文本格式语言(例如,QASM文本格式语言)的文本数据。例如,文本数据可以例如以文本方式描述与一个或多个量子位相关联的量子电路的一个或多个量子位门。在一个实施例中,量子电路数据可以附加地包括指示用于一个或多个元素的信息的标记数据,该一个或多个元素标识与量子电路相关联的一个或多个位置。例如,可以将元素添加到代码中以标记与一个或多个量子位相关联的量子电路的一个或多个量子位门的测量位置。
在某些实施例中,调试器组件102可基于与人工智能的原理相关联的分类、相关、推断和/或表达来生成仪器化量子电路代码108或仪器化量子电路112。例如,基于被学习的先前用户行为,一个或多个断点可以被自动地插入(或建议插入)到对应于要被调试的电路的代码中。此外,调试器组件102可以采用自动分类系统和/或自动分类过程来确定经重写的仪器化量子电路112。在一个示例中,调试器组件102可以采用基于概率和/或统计的分析(例如,分解成分析效用和成本)来学习和/或生成关于该组仪器化量子电路的推断,例如,使用层析和重构。在一个方面中,电路重写组件110可以包括推断组件(未示出),该推断组件可以进一步增强部分地利用基于推断的方案来促进学习和/或生成与该组仪器化量子电路112相关联的推断的调试器组件102的自动化方面。例如,调试器可以识别出源电路的某一部分先前已经被调试,其中测量和/或推断数据被保存,并且调用被保存的数据以减少总调试时间。
电路重写组件110可以采用任何合适的基于机器学习的技术、基于统计的技术和/或基于概率的技术。例如,电路重写组件110可以采用专家系统、模糊逻辑、SVM、隐马尔可夫模型(HMM)、贪婪搜索算法、基于规则的系统、贝叶斯模型(例如,贝叶斯网络)、神经网络、其他非线性训练技术、数据融合、基于效用的分析系统、采用贝叶斯模型的系统等。在另一方面中,调试器组件102可以执行与仪器化量子电路112的生成相关联的机器学习计算的集合,如果诸如群集机器学习计算、逻辑回归机器学习计算的集合、决策树机器学习计算的集合、随机森林机器学习计算的集合、回归树机器学习计算的集合、最小平方机器学习计算的集合、基于实例的机器学习计算的集合、回归机器学习计算的集合、支持向量回归机器学习计算的集合、k均值机器学习计算的集合、谱群集机器学习计算的集合、规则学习机器学习计算的集合、贝叶斯机器学习计算的集合、深度波尔兹曼机器计算的集合、深度置信网络计算的集合和/或不同机器学习计算的集合。
将领会到,调试器组件102(例如,电路重写组件110和/或电路执行组件114)可以执行不能由人执行的电路生成过程和/或执行过程(例如,大于单个人的头脑的能力)。例如,有调试器组件102(例如,电路重写组件110和/或电路执行组件114)在特定时间段上处理的数据量、处理的数据速度和/或处理的数据类型可以比有单个人类大脑在相同时间段上处理的量、速度和数据类型更大、更快和不同。通常,量子电路处理对于单个人的思想来说太复杂,并且可能的状态和组合的数量可能是巨大的。量子调试器组件102(例如,电路重写组件110和/或电路执行组件114)还以可完全操作以执行一个或多个其他功能,同时还执行上述过程。此外,由调试器组件102生成的测量数据116可以包括不可能由用户手动获得的信息,因为状态大部分是不可预测的。
图4示出了根据本文描述的一个或多个实施例的包括具有被重写成仪器化电路实例的断点的输入电路的另一示例非限制性系统的框图。为了简洁,省略了本文描述的其他实施例中采用的类似元件的重复描述。
图4例示了经由电路重写组件110将具有断点的输入电路(块444)重写成由块444表示的多个仪器化电路实例的概念。注意,块444中的示例断点可以指定要执行的分析的类型和任何相关联的分析参数。
由块444表示的一个或多个(或者,在一些实施例中,每个)仪器化电路实例将一个或多个量子位输入到重写的仪器代码中,这可以是直接的或经由一个或多个门。重写的仪器代码可以在仪器化电路的可执行实例之间变化。
转到与重写电路相关的方面,图5和图6示出了根据本文描述的一个或多个实施例的使用确定(多个)量子位的方法来重写仪器化电路的示例非限制性系统的框图,该(多个)量子位的状态可以通过经由电路(例如,相对于断点)向后传播仪器化的影响而被有因果地连接到仪器化。为了简洁,省略了本文描述的其他实施例中采用的类似元件的重复描述。
图5例示了基于在电路中的指定位置处被插入的断点而利用断点554将源电路552(对应于软件)处理成输入电路。例如通过改变每个仪器化电路中的Pj和/或Pk,利用针对每个仪器化电路实例的不同仪器化代码重写仪器化电路实例556。例如,Pj、Pk可以在所有门上以{身份,X,Y,Z}变化,从而导致总共十六个仪器化电路。执行这些仪器化电路中的每个仪器化电路,从而导致在与多个门对应的变化电路中的各个位置处的测量数据。
如所理解的,一旦对量子位状态进行了测量,量子位状态(以及任何相关的量子位的状态)不再是有效的,从而导致“死的”代码;(通过将测量出的量子位传递到另一个门,不能学习任何内容,因为如果不进行测量,测量操作可以相对于量子位状态改变量子位状态,并且因此剩余的代码相对于进一步的测量基本上是死的)。注意,当量子位经由门相互作用时,它们的状态不再是可分离的。仪器化量子电路的重写可以将其考虑在内并且移除任何死代码。
如图6的块660中所示,图5中所示的一种移除死代码的方式是通过在断点之前通过电路向前/向后传播仪器化的影响来确定其状态可以被有因果地连接到仪器化的(多个)量子位。概念上,这可以被认为类似于“过去光锥”。例如,如果在一个仪器化电路中的门处测量了量子位(或一组量子位)的状态,则可以在下一仪器化电路中移除该门,并且可以将测量出的量子位状态或模拟量子位状态输入到下一仪器化电路中的适当的门中。这一方式产生更小的电路(相对于下面描述的备选方法),但是假设门仅作用于预期量子位。
图7和图8示出了根据本文所述的一个或多个实施例的使用通过通过电路(例如,相对于断点)向前传播仪器化的影响来确定其状态可以被有因果地连接到仪器化的(多个)量子位的方式来重写仪器化电路的示例非限制性系统的框图。为了简洁,省略了本文描述的其他实施例中采用的类似元件的重复描述。
图7和图8中表示的备选方法删除了经过断点的未来代码/子电路,例如,通过经由电路向前传播仪器化的影响来确定其状态可以被有因果地连接到仪器化的(多个)量子位;也就是说,这种备选方式删除了类似于超过该断点的量子位的“未来光锥”(量子位的可能的目的地集合)的东西。例如,一旦电路772被重写(具有断点774的输入电路)以使得基于重写的电路中的某个断点进行测量,则在该特定重写的仪器化电路时刻776的其余部分中,相对于测量出的量子位状态/任何相关量子位,没有进一步的执行是有意义的(并且因此是不需要的)。如由图8的块880所示,未来的子电路因此可以被删除,如由断点之外的斜虚线所示。可以在下一重写的仪器化电路实例中移动测量点,该重写的仪器化电路实例被执行以获得该下一测量点处的测量数据,以此类推,以获得期望的测量数据的全集。如可以看到的,在任一方式中,在仪器化电路中移除非必要的门(对应于死代码)。
图9和图10示出了根据本文描述的一个或多个实施例的促进使量子电路调试自动化的示例非限制性计算机实现的方法的流程图。为了简洁,省略了本文描述的其他实施例中采用的类似元件的重复描述。
在902,输入量子电路。在904,利用一个或多个断点和一个或多个分析参数对量子电路注释,从而产生具有断点的量子电路906。在908,调试量子电路,如本文参照图10所述。调试提供量子电路的状态和数据的快照,如经由910所表示的。
图10概述了促进每个注释的调试操作。在1002,处理经注释的输入电路和相关断点,以例如使用如本文所述的向前/向后传播仪器化的影响的方式来移除非必要的门。所得到的仪器化电路在1006处被生成,并且在1008处被执行。在1010,来自仪器化电路的执行的结果被组合,并且被处理以用于在1012返回。
该过程可以按照以下方式在软件中被自动化,该方式使得用户不需要查看仪器化电路和重构软件(除非期望),从而产生标准调试环境的假象。
为了解释的简单起见,将计算机实现的方法描绘和描述为一系列动作。可以理解和明白,本发明不受所示动作和/或动作次序的限制,例如,动作可以按各种次序和/或并发地发生,并且可以与本文未呈现和描述的其他动作一起发生。此外,并非所有示出的动作都是实现根据所公开的主题内容的计算机实现的方法所必需的。另外,本领域技术人员将理解和明白,计算机实现的方法可以替换地经由状态图或事件被表示为一系列相互关联的状态。另外,还应当理解,下文中以及贯穿本说明书所公开的计算机实现的方法能够被存储在制品上,以促进将这些计算机实现的方法传输和转移到计算机。如本文所使用的术语制品旨在涵盖可从任何计算机可读设备或存储介质访问的计算机程序。
此外,因为至少生成仪器化电路和执行仪器化电路以获得测量数据等是从电气和机械组件和电路的组合建立的,所以人不能复制或执行由量子电路调试器组件102执行的处理。
图11示出了根据本文描述的一个或多个实施方式的促进量子电路的调试的示例非限制性计算机实现的操作的流程图,该调试包括通过将经注释的量子电路重写成仪器化电路、执行仪器化电路以提供输出以及处理该输出。
操作1102表示基于被插入到与源量子电路对应的软件代码中的仪器指令信息来将源量子电路重写成仪器化电路。操作1104表示执行仪器化电路以获得与源量子电路内的量子位的不同状态数据对应的测量数据。操作1106表示处理测量数据以输出与关联于源量子电路的量子计算机的一个或多个内部状态或过程对应的生成的信息。
为了提供所公开的主题内容的各个方面的上下文,图12以及以下讨论旨在提供对其中可以实现所公开的主题内容的各个方面的合适环境的一般描述。图12示出了其中可以促进本文描述的一个或多个实施例的示例非限制性操作环境的框图。为了简洁,省略了本文描述的其他实施例中采用的类似元件的重复描述。
参考图12,用于实现本公开的各方面的合适的操作环境1200还可以包括计算机1212。计算机1212还可以包括处理单元1214、系统存储器1216和系统总线1218。系统总线1218将包括但不限于系统存储器1216的系统组件耦合到处理单元1214。处理单元1214可以是各种可用处理器中的任何处理器。双微处理器和其他多处理器架构也可以被用作处理单元1214。系统总线1218可以是若干类型的(多个)总线结构中的任何总线结构,包括存储器总线或存储器控制器、外围总线或外部总线和/或使用任何各种可用总线架构的局部总线,这些总线架构包括但不限于工业标准架构(ISA)、微通道架构(MSA)、扩展ISA(EISA)、智能驱动电子设备(IDE)、VESA局部总线(VLB)、外围组件互连(PCI)、卡总线、通用串行总线(USB)、高级图形端口(AGP)、火线(IEEE1394)和小型计算机系统接口(SCSI)。
系统存储器1216还可以包括易失性存储器1220和非易失性存储器1222。基本输入/输出系统(BIOS)包含诸如在启动时在计算机1212内的元件之间传送信息的基本例程,它被存储在非易失性存储器1222中。计算机1212还可包括可移动/不可移动、易失性/非易失性计算机存储介质。例如,图12示出了盘存储装置1224。盘存储装置1224还可包括但不限于,如磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡或记忆棒的设备。盘存储装置1224还可包括单独的或与其他存储介质组合的存储介质。为了促进将盘存储装置1224连接到系统总线1218,通常使用可移除或不可移除的接口,诸如接口1226。图12还描绘了充当用户和在合适的操作环境1200中被描述的基本计算机资源之间的中介的软件。这样的软件还可以包括例如操作系统1228。可以被存储在盘存储装置1224上的操作系统1228行动以控制和分配计算机1212的资源。
系统应用1230通过例如被存储在系统存储器1216或盘存储装置1224中的程序模块1232和程序数据1234来利用由操作系统1228对资源的管理。应当领会到,本公开可以利用各种操作系统或操作系统的组合而被实现。用户通过(多个)输入设备1236向计算机1212中输入命令或信息。输入设备1236包括但不限于诸如鼠标、跟踪球、指示笔、触摸垫的指点设备、键盘、麦克风、操纵杆、游戏板、圆盘式卫星天线、扫描仪、TV调谐卡、数码相机、数码摄像机、web相机等等。这些和其他输入设备经由(多个)接口端口1238通过系统总线1218连接到处理单元1214。(多个)接口端口1238包括例如串行端口、并行端口、游戏端口和通用串行总线(USB)。(多个)输出设备1240使用与(多个)输入设备1236相同类型的端口中的一些端口。因此,例如,USB端口可以被用于向计算机1212提供输入,以及从计算机1212向输出设备1240输出信息。输出适配器1242被提供以说明在其他输出设备1240中存在某些输出设备1240,如监视器、扬声器和打印机,它们需要特殊的适配器。通过示例而非限制,输出适配器1242包括提供输出设备1240和系统总线1218之间的连接的手段的视频卡和声卡。应当注意到,其他设备和/或设备的系统提供输入和输出能力二者,诸如(多个)远程计算机1244。
计算机1212可以使用到诸如(多个)远程计算机1244的一个或多个远程计算机的逻辑连接在联网环境中操作。(多个)远程计算机1244可以是计算机、服务器、路由器、网络PC、工作站、基于微处理器的电器、对等设备或其他常见的网络节点等,并且通常还可包括相对于计算机1212而被描述的元件中的许多或所有元件。为了简洁起见,仅存储器存储设备1246与(多个)远程计算机1244被一起示出。(多个)远程计算机1244通过网络接口1248被逻辑地连接到计算机1212,并且然后精油通信连接1250被物理地连接。网络接口1248包括有线和/或无线通信网络,诸如局域网(LAN)、广域网(WAN)、蜂窝网络等。LAN技术包括光纤分布式数据接口(FDDI)、铜线分布式数据接口(CDDI)、以太网、令牌环等。WAN技术包括但不限于点对点链路、如综合业务数字网(ISDN)及其变体的电路交换网络、分组交换网络以及数字用户线(DSL)。(多个)通信连接1250是指被用于将网络接口1248连接到系统总线1218的硬件/软件。虽然为了清楚说明,通信连接1250被示出为在计算机1212内部,但是它也可以在计算机1212外部。仅出于示例性目的,用于连接到网络接口1248的硬件/软件还可包括内部和外部技术,诸如包括常规电话级调制解调器、电缆调制解调器和DSL调制解调器的调制解调器、ISDN适配器和以太网卡。
本发明可以是任何可能的技术细节集成水平的系统、方法、装置和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),这些计算机可读程序指令用于使得处理器执行本发明的各方面。计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
尽管以上已经在运行在一个和/或多个计算机上的计算机程序产品的计算机可执行指令的一般上下文中描述了本主题内容,但是本领域技术人员将认识到,本公开也可以结合其他程序模块而被实现或可以结合其他程序模块而被实现。通常,程序模块包括执行特定任务和/或实现特定抽象数据类型的例程、程序、组件、数据结构等。此外,本领域技术人员将领会到,创造性计算机实现的方法可以利用其他计算机系统配置而被实践,这些计算机系统配置包括单处理器或多处理器计算机系统、小型计算设备、大型计算机以及计算机、手持式计算设备((例如,PDA、电话)、基于微处理器的或可编程的消费者或工业电子产品等。所说明的各方面也可以在其中任务由通过通信网络而被链接的远程处理设备执行的分布式计算环境中杯实践。然而,本公开的一些方面,如果不是所有方面,可以在独立计算机上被实践。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备二者中。
如本申请中所使用的,术语“组件”、“系统”、“平台”、“接口”等可以是指和/或可以包括计算机相关的实体或与具有一个或多个具体功能的操作机器相关的实体。本文公开的实体可以是硬件、硬件和软件的组合、软件、或执行中的软件。例如,组件可以是但不限于在处理器上运行的进程、处理器、对象、可执行文件、执行的线程、程序和/或计算机。通过说明,在服务器上运行的应用和服务器二者可以是组件。一个或多个组件可以驻留在程和/或执行的线程内,并且组件可以位于一个计算机上和/或在两个或更多计算机之间被分布。在另一示例中,相应的组件可以从其上存储有各种数据结构的各种计算机可读介质执行。组件可以经由本地和/或远程进程通信,诸如根据具有一个或多个数据分组的信号(例如,来自一个组件的数据,该组件经由该信号与本地系统、分布式系统中的另一组件交互和/或跨诸如因特网的网络与其他系统交互)。作为另一示例,组件可以是具有由被电气或电子电路操作的机械零件提供的具体功能的装置,该电气或电子电路由被处理器执行的软件或固件应用操作。在这样的情况中,处理器可以在装置的内部或外部,并且可以执行软件或固件应用的至少一部分。作为又一示例,组件可以是通过电子组件而不是机械零件来提供具体功能的装置,其中电子组件可以包括处理器或其他装置以执行至少部分地赋予电子组件的功能的软件或固件。在一方面中,组件可经由虚拟机来模拟电子组件,例如在云计算系统内。
此外,术语“或”旨在意指包含性的“或”而不是排他性的“或”。也就是说,除非另外指定,或者从上下文清楚,否则“X采用A或B”旨在意指任何自然的包含性排列。也就是说,如果X采用A;X采用B;或者X采用A和B两者,则在任何前述实例下都满足“X采用A或B”。此外,除非另外指定或从上下文中清楚是指单数形式,否则如在本说明书和附图中使用的冠词“一”和“一个”一般应当被解释为意指“一个或多个”。如本文所使用的,术语“示例”和/或“示例性”被用于意指用作示例、实例或说明。为了避免疑惑,本文公开的主题内容不受这样的示例限制。此外,本文中被描述为“示例”和/或“示例性”的任何方面或设计不一定被解释为比其他方面或设计优选或有利,也不意指排除本领域普通技术人员已知的等效示例性结构和技术。
如在本说明书中所采用的,术语“处理器”可以指代基本上任何计算处理单元或设备,包括但不限于单核处理器;具有软件多线程执行能力的单处理器;多核处理器;具有软件多线程执行能力的多核处理器;具有硬件多线程技术的多核处理器;平行平台;以及具有分布式共享存储器的并行平台。另外,处理器可以指代被设计为执行本文描述的功能的集成电路、专用集成电路(ASIC)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑控制器(PLC)、复杂可编程逻辑器件(CPLD)、分立门或晶体管逻辑、分立硬件组件或它们的任何组合。此外,处理器可以采用纳米级架构,诸如但不限于基于分子和量子点的晶体管、开关和门,以便优化空间使用或增强用户设备的性能。处理器也可以被实现为计算处理单元的组合。在本公开中,诸如“存储库”、“存储装置”、“数据存储库”、“数据存储装置”、“数据库”以及与组件的操作和功能相关的基本上任何其他信息存储组件的术语被用来指代“存储器组件”、被体现在“存储器”中的实体或包括存储器的组件。应领会到,本文描述的存储器和/或存储器组件可以是易失性存储器或非易失性存储器,或可以包括易失性存储器和非易失性存储器两者。通过说明而非限制,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEPROM)、闪存或非易失性随机存取存储器(RAM)(例如,铁电RAM(FeRAM)),易失性存储器可以包括RAM,RAM例如可以用作外部高速缓存存储器。通过说明而非限制,RAM按照许多形式可获得,诸如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、直接Rambus RAM(DRRAM)、直接Rambus动态RAM(DRDRAM)和Rambus动态RAM(RDRAM)。此外,本文的系统或计算机实现的方法的所公开的存储器组件旨在包括但未被限制为包括这些和任何其他合适类型的存储器。
以上已经被描述的内容仅包括系统和计算机实现的方法的示例。当然,不可能出于描述本公开的目的而描述组件或计算机实现的方法的每个可想到的组合,但是本领域普通技术人员可以认识到,本公开的许多进一步的组合和置换是可能的。此外,就在具体实施方式、权利要求书、附录和附图中被使用的术语“包括”、“具有”、“拥有”等的程度而言,这些术语旨在以与术语“包括”在该“包括”在权利要求书中被用作过渡词时而被解释的类似的方式为包含性的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施例。
Claims (25)
1.一种系统,包括:
存储器,所述存储器存储计算机可执行组件;
处理器,所述处理器执行被存储在所述存储器中的计算机可执行组件,其中所述计算机可执行组件包括:
电路重写组件,所述电路重写组件基于与表示量子计算机的源量子电路的源量子电路表示的软件代码相关联的仪器指令信息,来将所述源量子电路重写成仪器化电路,
其中所述重写包括通过经由所述源量子电路向前或向后传播所述仪器指令信息的一个或多个影响,来对所述软件代码的、与一个或多个量子位对应的死代码的移除,所述一个或多个量子位的状态被有因果地连接到所述仪器指令信息;以及
执行组件,所述执行组件执行所述仪器化电路以产生测量数据。
2.根据权利要求1所述的系统,其中所述电路重写组件基于所述仪器指令信息来应用电路重写规则。
3.如权利要求1所述的系统,其中所述电路重写组件利用经由应用编程接口而被接收的一个或多个分析参数。
4.根据权利要求1所述的系统,其中所述仪器指令信息包括被插入在所述软件代码中的两个量子电路指令之间的断点。
5.根据权利要求1所述的系统,其中所述仪器指令信息包括在所述软件代码中的量子代码段之前被插入的开始断点和在所述量子代码段之后被插入的结束断点。
6.根据权利要求1所述的系统,还包括统计估计组件,所述统计估计组件评估所述测量数据以推断与所述量子计算机的一个或多个内部状态或过程对应的信息。
7.根据权利要求6所述的系统,其中所述统计估计组件利用状态层析和重建来评估所述测量数据。
8.根据权利要求6所述的系统,其中所述统计估计组件利用过程层析和重建来评估所述测量数据。
9.一种计算机实现的方法,包括:
由被操作地耦合到处理器的系统基于将表示源量子电路的源电路表示的软件代码仪器化的仪器指令信息来将所述源量子电路自动地重写成仪器化电路,其中所述源量子电路与量子计算机相关联,其中将所述源量子电路自动地重写成所述仪器化电路包括通过相对于断点向前或向后传播所述仪器指令信息的一个或多个影响通过所述源量子电路来移除一个或多个门;
由所述系统执行所述仪器化电路以获得与所述源量子电路中的不同位置对应的测量数据;以及
由所述系统输出所述测量数据。
10.根据权利要求9所述的计算机实现的方法,还包括经由状态层析来统计地评估所述测量数据。
11.根据权利要求9所述的计算机实现的方法,还包括经由过程层析来统计地评估所述测量数据。
12.根据权利要求9所述的计算机实现的方法,其中所述断点被插入在所述软件代码中,并且包括一个或多个量子位的分区。
13.根据权利要求9所述的计算机实现的方法,还包括接收标识开始断点和结束断点的信息,其中所述开始断点被插入在所述软件代码中的量子代码段之前,并且所述结束断点被插入在所述量子代码段之后。
14.根据权利要求9所述的计算机实现的方法,其中将所述源量子电路自动地重写成所述仪器化电路包括从所述软件代码移除死代码以生成所述仪器化电路中的至少一个仪器化电路。
15.一种促进调试量子计算机软件的计算机可读存储介质,所述计算机可读存储介质具有随利用其被体现的程序指令,所述程序指令由处理器可执行以使得所述处理器:
基于被插入到表示源量子电路的源量子电路表示的软件代码中的仪器指令信息,来将所述源量子电路自动地重写成仪器化电路,其中所述重写包括通过经由所述源量子电路向前或向后传播所述仪器指令信息的一个或多个影响,来对所述软件代码的、与一个或多个量子位对应的死代码的移除,所述一个或多个量子位的状态被有因果地连接到所述仪器指令信息;
执行所述仪器化电路以获得与所述源量子电路内的量子位的不同状态数据对应的测量数据;以及
处理所述测量数据以输出与关联于所述源量子电路的量子计算机的一个或多个内部状态或过程对应的生成的信息。
16.根据权利要求15所述的计算机可读存储介质,其中所述程序指令还由所述处理器可执行以使得所述处理器:
经由应用编程接口来输入所述仪器指令信息。
17.根据权利要求15所述的计算机可读存储介质,其中所述程序指令还由所述处理器可执行以使得所述处理器:
经由应用编程接口来输入一个或多个分析参数。
18.根据权利要求15所述的计算机可读存储介质,其中所述程序指令还由所述处理器可执行以使得所述处理器:
经由应用编程接口来将所述测量数据或所述生成的信息输出为图形数据。
19.一种计算机实现的方法,包括:
由被操作地耦合到处理器的系统基于被插入到表示源量子电路的源量子电路表示的软件代码中的仪器指令信息来将所述源量子电路重写成仪器化电路,其中将所述源量子电路重写成所述仪器化电路包括通过经由所述源量子电路向前或向后传播所述仪器指令信息的一个或多个影响,来移除所述软件代码的、与一个或多个量子位对应的死代码,所述一个或多个量子位的状态被有因果地连接到所述仪器指令信息;
由所述系统执行所述仪器化电路以获得与所述源量子电路内的量子位的不同状态数据对应的测量数据;以及
由所述系统处理所述测量数据以输出与关联于所述源量子电路的量子计算机的一个或多个内部状态或过程对应的生成的信息。
20.根据权利要求19所述的计算机实现的方法,其中处理所述测量数据包括执行过程层析和重建。
21.根据权利要求19所述的计算机实现的方法,其中处理所述测量数据包括执行状态层析和重建。
22.一种系统,包括:
存储器,所述存储器存储计算机可执行组件;
处理器,所述处理器执行被存储在所述存储器中的计算机可执行组件,其中所述计算机可执行组件包括:
电路重写组件,所述电路重写组件基于被插入到表示源量子电路的源量子电路表示的软件代码中的仪器指令信息,来将所述源量子电路重写成仪器化电路,其中所述重写包括通过相对于断点向前或向后传播所述仪器指令信息的一个或多个影响通过所述源量子电路来移除一个或多个门;
执行组件,所述执行组件执行所述仪器化电路以获得与所述源量子电路内的量子位的不同状态数据对应的测量数据;以及
统计估计组件,所述统计估计组件处理所述测量数据以输出与关联于所述源量子电路的量子计算机的一个或多个内部状态或过程对应的生成的信息。
23.根据权利要求22所述的系统,其中对所述源量子电路的所述重写包括从所述软件代码移除死代码以生成所述仪器化电路中的至少一个仪器化电路。
24.根据权利要求22所述的系统,其中所述统计估计组件利用状态层析和重建来处理所述测量数据。
25.根据权利要求22所述的系统,其中所述统计估计组件利用过程层析和重建来处理所述测量数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/720,814 US10614371B2 (en) | 2017-09-29 | 2017-09-29 | Debugging quantum circuits by circuit rewriting |
US15/720,814 | 2017-09-29 | ||
PCT/EP2017/081429 WO2019063114A1 (en) | 2017-09-29 | 2017-12-05 | DEBUGGING QUANTUM CIRCUITS BY CIRCUIT REWRITING |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111149116A CN111149116A (zh) | 2020-05-12 |
CN111149116B true CN111149116B (zh) | 2023-10-27 |
Family
ID=60627618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780095433.1A Active CN111149116B (zh) | 2017-09-29 | 2017-12-05 | 通过电路重写调试量子电路 |
Country Status (5)
Country | Link |
---|---|
US (3) | US10614371B2 (zh) |
EP (1) | EP3688682A1 (zh) |
JP (1) | JP7048930B2 (zh) |
CN (1) | CN111149116B (zh) |
WO (1) | WO2019063114A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11170137B1 (en) * | 2017-11-15 | 2021-11-09 | Amazon Technologies, Inc. | Cloud-based simulation of quantum computing resources |
WO2019113600A1 (en) * | 2017-12-08 | 2019-06-13 | Microsoft Technology Licensing, Llc | Debugging quantum programs |
US11605033B2 (en) | 2019-11-27 | 2023-03-14 | Amazon Technologies, Inc. | Quantum computing task translation supporting multiple quantum computing technologies |
US11704715B2 (en) | 2019-11-27 | 2023-07-18 | Amazon Technologies, Inc. | Quantum computing service supporting multiple quantum computing technologies |
US11605016B2 (en) | 2019-11-27 | 2023-03-14 | Amazon Technologies, Inc. | Quantum computing service supporting local execution of hybrid algorithms |
US11294797B1 (en) * | 2021-06-22 | 2022-04-05 | Classiq Technologies LTD. | Debugger for quantum computers |
US11429512B1 (en) * | 2021-06-22 | 2022-08-30 | Classiq Technologies LTD. | Controlled propagation in quantum computing |
US11687821B2 (en) * | 2021-06-22 | 2023-06-27 | Classiq Technologies LTD. | Efficient execution of a quantum program |
US11907092B2 (en) | 2021-11-12 | 2024-02-20 | Amazon Technologies, Inc. | Quantum computing monitoring system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101868802A (zh) * | 2007-09-24 | 2010-10-20 | D-波系统公司 | 用于量子位状态读出的系统、方法以及装置 |
CN102769527A (zh) * | 2012-08-14 | 2012-11-07 | 中国人民解放军国防科学技术大学 | 基于大规模单原子腔体量子网络的组网方法 |
CN103092772A (zh) * | 2011-08-18 | 2013-05-08 | 国际商业机器公司 | 用于在多线程图像处理流水线中保持状态数据的上下文数据结构的向量寄存器文件高速缓存 |
CN106462808A (zh) * | 2014-06-06 | 2017-02-22 | 微软技术许可有限责任公司 | 用于算术和函数合成的量子算法 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6081882A (en) * | 1998-04-09 | 2000-06-27 | Silicon Graphics, Inc. | Quantum acceleration of conventional non-quantum computers |
US7246240B2 (en) * | 2001-04-26 | 2007-07-17 | Massachusetts Institute Of Technology | Quantum digital signatures |
US7113967B2 (en) * | 2001-05-29 | 2006-09-26 | Magiq Technologies, Inc | Efficient quantum computing operations |
US7376547B2 (en) * | 2004-02-12 | 2008-05-20 | Microsoft Corporation | Systems and methods that facilitate quantum computer simulation |
US7321884B2 (en) * | 2004-02-23 | 2008-01-22 | International Business Machines Corporation | Method and structure to isolate a qubit from the environment |
US7985965B2 (en) * | 2007-03-29 | 2011-07-26 | Raytheon Company | Quantum computing device and method including qubit arrays of entangled states using negative refractive index lenses |
US8832165B2 (en) * | 2007-12-12 | 2014-09-09 | Lockheed Martin Corporation | Computer systems and methods for quantum verification and validation |
JP5091717B2 (ja) * | 2008-02-21 | 2012-12-05 | 株式会社東芝 | 量子計算方法および量子計算機 |
US8315969B2 (en) * | 2008-10-10 | 2012-11-20 | Nec Laboratories America, Inc. | Estimating a quantum state of a quantum mechanical system |
JP4786727B2 (ja) * | 2009-03-27 | 2011-10-05 | 株式会社東芝 | 量子計算方法、量子計算機およびプログラム |
GB2470069A (en) * | 2009-05-08 | 2010-11-10 | Hewlett Packard Development Co | Quantum Repeater and System and Method for Creating Extended Entanglements |
US9064067B2 (en) * | 2012-08-06 | 2015-06-23 | Microsoft Technology Licensing, Llc | Quantum gate optimizations |
JP5992292B2 (ja) * | 2012-10-30 | 2016-09-14 | 株式会社東芝 | 復号装置、方法およびプログラム |
US9530873B1 (en) * | 2013-01-28 | 2016-12-27 | Sandia Corporation | Semiconductor adiabatic qubits |
US9858531B1 (en) * | 2013-08-02 | 2018-01-02 | University Of Maryland | Fault tolerant scalable modular quantum computer architecture with an enhanced control of multi-mode couplings between trapped ion qubits |
US9588940B2 (en) * | 2013-12-05 | 2017-03-07 | D-Wave Systems Inc. | Sampling from a set of spins with clamping |
US10031887B2 (en) * | 2014-09-09 | 2018-07-24 | D-Wave Systems Inc. | Systems and methods for improving the performance of a quantum processor via reduced readouts |
US9438245B2 (en) * | 2014-10-13 | 2016-09-06 | International Business Machines Corporation | Reducing spontaneous emission in circuit quantum electrodynamics by a combined readout and filter technique |
SG11201706982YA (en) * | 2015-02-27 | 2017-09-28 | Univ Yale | Techniques of oscillator control for quantum information processing and related systems and methods |
JP6989387B2 (ja) * | 2015-05-05 | 2022-01-05 | キンダイ、インコーポレイテッドKyndi, Inc. | 古典的なプロセッサで量子類似計算をエミュレートするためのquanton表現 |
WO2016200747A1 (en) * | 2015-06-08 | 2016-12-15 | Microsoft Technology Licensing, Llc | System for reversible circuit compilation with space constraint, method and program |
EP3186735A4 (en) * | 2015-11-06 | 2018-01-10 | Rigetti & Co., Inc. | Analyzing quantum information processing circuits |
US10352992B1 (en) * | 2016-01-11 | 2019-07-16 | Rigetti & Co, Inc. | Quantum error-correction in microwave integrated quantum circuits |
US10565514B2 (en) * | 2016-03-31 | 2020-02-18 | Board Of Regents, The University Of Texas System | System and method for emulation of a quantum computer |
US20180046933A1 (en) * | 2016-08-11 | 2018-02-15 | Board Of Regents, The University Of Texas System | System and method for controlling a quantum computing emulation device |
US10255555B2 (en) * | 2016-11-10 | 2019-04-09 | Rigetti & Co, Inc. | Generating quantum logic control sequences for quantum information processing hardware |
WO2018106702A1 (en) * | 2016-12-06 | 2018-06-14 | Rubicon Labs, Inc. | Systems and methods for quantum coherence preservation of qubits |
US10430162B2 (en) * | 2017-05-18 | 2019-10-01 | Microsoft Technology Licensing, Llc | Quantum resource estimates for computing elliptic curve discrete logarithms |
US10990677B2 (en) * | 2017-06-05 | 2021-04-27 | Microsoft Technology Licensing, Llc | Adversarial quantum machine learning |
US10262727B2 (en) * | 2017-07-10 | 2019-04-16 | Northrop Grumman Systems Corporation | Gradiometric flux qubit system |
-
2017
- 2017-09-29 US US15/720,814 patent/US10614371B2/en active Active
- 2017-12-05 CN CN201780095433.1A patent/CN111149116B/zh active Active
- 2017-12-05 WO PCT/EP2017/081429 patent/WO2019063114A1/en unknown
- 2017-12-05 EP EP17811271.0A patent/EP3688682A1/en active Pending
- 2017-12-05 JP JP2020517092A patent/JP7048930B2/ja active Active
-
2020
- 2020-02-04 US US16/781,054 patent/US11210603B2/en active Active
-
2021
- 2021-11-22 US US17/531,945 patent/US11809962B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101868802A (zh) * | 2007-09-24 | 2010-10-20 | D-波系统公司 | 用于量子位状态读出的系统、方法以及装置 |
CN103092772A (zh) * | 2011-08-18 | 2013-05-08 | 国际商业机器公司 | 用于在多线程图像处理流水线中保持状态数据的上下文数据结构的向量寄存器文件高速缓存 |
CN102769527A (zh) * | 2012-08-14 | 2012-11-07 | 中国人民解放军国防科学技术大学 | 基于大规模单原子腔体量子网络的组网方法 |
CN106462808A (zh) * | 2014-06-06 | 2017-02-22 | 微软技术许可有限责任公司 | 用于算术和函数合成的量子算法 |
Non-Patent Citations (3)
Title |
---|
Damian S.等.ProjectQ: An Open Source Software Framework for Quantum Computing.arviv.2016,图2、6、第2页,第1栏,第7-10行、第3页,第2栏,第14-17行、第6页,第1栏,第19-23行. * |
Experimental adaptive process tomography;I. A.Pogorelov等;arxiv;第1页,第1栏,第16-20行,23-26行 * |
ProjectQ: An Open Source Software Framework for Quantum Computing;Damian S.等;arviv;图2、6、第2页,第1栏,第7-10行、第3页,第2栏,第14-17行、第6页,第1栏,第19-23行 * |
Also Published As
Publication number | Publication date |
---|---|
US20200175414A1 (en) | 2020-06-04 |
WO2019063114A1 (en) | 2019-04-04 |
EP3688682A1 (en) | 2020-08-05 |
US10614371B2 (en) | 2020-04-07 |
US11809962B2 (en) | 2023-11-07 |
US20190102690A1 (en) | 2019-04-04 |
JP2020535519A (ja) | 2020-12-03 |
CN111149116A (zh) | 2020-05-12 |
US20220083894A1 (en) | 2022-03-17 |
US11210603B2 (en) | 2021-12-28 |
JP7048930B2 (ja) | 2022-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111149116B (zh) | 通过电路重写调试量子电路 | |
Dam et al. | Explainable software analytics | |
Salvatier et al. | Probabilistic programming in Python using PyMC3 | |
US10559058B1 (en) | Translation of artificial intelligence representations | |
US20210350060A1 (en) | Quantum circuit decomposition by integer programming | |
WO2020114825A1 (en) | Gate fusion for measure in quantum computing simulation | |
CN111566676A (zh) | 量子计算设备设计 | |
Prosvirnova et al. | Automated generation of minimal cut sets from AltaRica 3.0 models | |
Miranskyy et al. | On testing and debugging quantum software | |
Yue et al. | DARE: disentanglement-augmented rationale extraction | |
CN112036563A (zh) | 使用起源数据的深度学习模型洞察 | |
CN111164710A (zh) | 促进量子断层摄影 | |
Eggers | Direct handling of ordinary differential equations in constraint-solving-based analysis of hybrid systems | |
De Maria et al. | Verification of temporal properties of neuronal archetypes modeled as synchronous reactive systems | |
Szabo et al. | Semantic validation of emergent properties in component-based simulation models | |
Chattopadhyay | Causality networks | |
US20200387578A1 (en) | Representing the operation of a quantum computing device over time | |
Riviere et al. | Formalising liveness properties in event-b with the reflexive EB4EB framework | |
Wu et al. | Program-to-circuit: Exploiting gnns for program representation and circuit translation | |
Bock et al. | Conceptual modeling | |
US20230161934A1 (en) | Data model based simulation utilizing digital twin replicas | |
Hammerling et al. | Ensemble consistency testing using causal connectivity | |
Gonçalves | Improving Software Fault Prediction Using a Data-Driven Approach | |
Reinhardt et al. | Computational Methods for Modeling Migration | |
Luff | The use of systems engineering principles for the integration of existing models and simulations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |