CN113614728A - 量子电路优化 - Google Patents
量子电路优化 Download PDFInfo
- Publication number
- CN113614728A CN113614728A CN202080016172.1A CN202080016172A CN113614728A CN 113614728 A CN113614728 A CN 113614728A CN 202080016172 A CN202080016172 A CN 202080016172A CN 113614728 A CN113614728 A CN 113614728A
- Authority
- CN
- China
- Prior art keywords
- quantum
- gate
- circuit
- cost
- pattern
- 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.)
- Pending
Links
- 238000005457 optimization Methods 0.000 title claims description 35
- 238000000034 method Methods 0.000 claims abstract description 55
- 230000006870 function Effects 0.000 claims description 36
- 238000004422 calculation algorithm Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 19
- 239000002096 quantum dot Substances 0.000 description 38
- 238000013507 mapping Methods 0.000 description 31
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 13
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 150000002500 ions Chemical class 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000003909 pattern recognition Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000010923 batch production Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000005233 quantum mechanics related processes and functions Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/337—Design optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- 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
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/20—Design reuse, reusability analysis or reusability optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Artificial Intelligence (AREA)
- Geometry (AREA)
- Logic Circuits (AREA)
Abstract
本文描述了实现优化器的技术,该优化器接收量子电路的部分;从所接收的量子电路的部分内识别量子门模式以执行量子功能;在库中搜索所识别的量子门模式的量子门替换模式,该替换模式也执行该量子功能;确定所述量子门替换模式的量子成本低于所识别的量子门模式的量子成本;以及用所述量子门替换模式替换所识别的量子门模式。
Description
技术领域
本文描述的实施例一般涉及优化由经典工艺构建的量子电路。
背景技术
量子计算机是一种利用诸如叠加和纠缠的量子力学现象来处理数据的计算***。在数字计算机中,数据被编码成两个确定状态之一(“0”或“1”)的二进制数字(比特),与数字计算机不同,量子计算要求数据被编码成量子比特(以下简称“量子比特(qubit)”),其中单个量子比特可以表示“1”、“0”或两个量子比特状态的任何量子叠加。一般来说,具有N个量子比特的量子计算机可以同时处于多达2N个不同状态的任意叠加中,即,一对量子比特可以处于四个状态的任何量子叠加中,而三个量子比特可以处于八个状态的任何叠加中。
大规模量子计算机解决某些问题比数字计算机(这里也称为“经典计算机”)快得多。在量子计算机的操作中,可以通过将量子比特设置在受控的初始状态来使计算初始化。通过操纵这些量子比特,实现预定的量子逻辑门序列,该量子逻辑门序列代表要解决的问题的解,这被称为量子算法。量子算法,如肖尔(Shor)算法、西蒙(Simon)算法等,可以比任何可能的经典算法更高效地运行。
基于量子计算机在解决某些问题中的固有优势,挑战在于对量子计算机进行编程,以高效和经济的方式利用其优势。
发明内容
在一个示例实施例中,一种优化量子电路的方法包括:识别旨在执行功能的一组量子电路门;从模板库中找到也执行该功能的量子电路门模板;以及用所述量子电路门模板替换所识别的一组量子电路门。
在另一示例实施例中,一种计算机可读介质存储指令,所述指令在执行时使数字计算处理器接收量子电路的部分;从所述量子电路的所接收部分内识别与来自预先生成的模板库的模式的一部分相匹配的量子门模式;在所述模板库中搜索量子门替换模式;确定所述量子门替换模式的量子成本低于所识别的量子门模式的量子成本;以及用所述量子门替换模式替换所识别的量子门模式。
在又一实施例中,一种优化器包括:量子电路分析器,用于识别与来自预先生成的模板库的模式的至少一部分相匹配的量子门模式;所述模板库,用于:执行算法以搜索量子门替换模式,识别量子门替换模式,以当确定所述量子门替换模式的量子成本小于所识别的量子门模式的量子成本时,替换所识别的量子门模式,并且用所述量子门替换模式替换所识别的量子门模式。
前述内容仅仅是说明性的,并且不意图以任何方式用于限制。除了上述的说明性的方面、实施例和特征之外,通过参照附图和下面的详细说明,其他方面、实施例和特征将变得明显。
附图说明
在以下详细描述中,仅作为例示描述实施例,这是因为根据以下详细描述,各种改变和修改对于本领域技术人员而言将变得显而易见。在不同附图中使用相同的附图标记指示相似或相同的项目。
图1示出表示如本文所述的具有多个元件的模板的示例实施例的量子电路图。
图2A示出表示如本文所述的具有多个元件的输入电路的示例实施例的量子电路图。
图2B示出根据本文所述的至少一些实施方式的表示通过基于模板优化获得的优化电路的电路图。
图3示出表示根据本文描述的至少一些实施例布置的用来优化量子电路的示例经典计算***的框图;
图4示出表示根据本文描述的至少一些实施例布置的示例经典计算***优化器的框图;
图5示出根据本文描述的至少一些实施例布置的用于在经典计算环境中优化量子电路的示例处理流程;
图6示出说明性计算实施例,其中优化量子电路的任何过程和子过程可以被实现为存储在计算机可读介质上的可执行指令。
具体实施方式
在下面的详细描述中,参考构成说明书的一部分的附图。在附图中,类似的符号通常标识类似的组件,除非文中另有规定。此外,除非另外指出,否则对每个连续附图的描述可以参考来自一个或多个先前附图的特征,以提供当前示例性实施例的更清楚的背景和更实质性的解释。然而,在详细说明书、附图和权利要求中描述的示例实施例不意味着限制。在不背离本文中所提出的主题的精神和范围的情况下,可以利用其他实施方式,并可以进行其他改变。容易理解的是,可以用各种不同的配置中对本文中一般描述的和附图中例示的本发明的方面进行设置、替换、结合、分离和设计,这些配置全部都在本文中明确地考虑到。
本文描述了以***、装置、应用、程序和方法中的一个或多个体现的手段,由此通过使用例如映射和替换(map-and-replace)技术的量子门模板的算法合成来简化量子电路。
在本说明书中,除了它们被接受的含义之外,还可以如下使用术语:
“经典计算”、“经典程序”、“数字计算”、“数字程序”或其变体可以指已经被转换成二进制数的数据的计算/处理。经典计算处理器可包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、张量处理单元(TPU)、专用集成电路(ASIC)、现场可编程门阵列等以及它们的自由排列(unbound permutations)。其非限制性示例可包括可被并行化并在多核经典计算机上运行的经典优化功能;具有用于执行并行计算的GPU的经典计算机等。
“量子计算”或其变体可以指已经被编码为量子比特的数据的计算/处理。量子计算利用量子比特进行计算,以产生比经典计算快得多的结果,或者使经典计算中难以解决的问题变得易于处理。本文描述的实施例当然考虑到随着技术的发展在甚至更快和更高效的量子计算***中的实施方式。
“环境”可以指其中存在组件的计算环境,这些组件在执行程序时可以利用例如实用程序,如库、其他程序、其他硬件等。因此,在本文中可以指经典计算环境、量子计算环境等。
“量子门”可以指一种受控的相互作用,其操纵量子计算***中量子比特的状态和/或相位,从而改变***的信息内容。
“量子电路”可以指作用于一组量子比特的一系列量子门操作。这个名字在历史上来自于被表达为一系列量子逻辑门的量子算法,类似于传统电路设计中的经典逻辑门。
可以使用量子电路来表示量子信息处理(QIP)算法。抽象的门操作已被用于QIP算法的设计和构造,当在物理层上实现时,必须将QIP算法编译成操纵量子比特状态的一组硬件特定操作。在此背景中,逻辑门可以指抽象的、面向设计的操作,而物理门可以指硬件特定的实施方式。
通常,在逻辑门中可能存在算法功能的多种(非唯一)表达。对于给定的量子电路,在全局相位因子(global phase factor)内可能存在表达相同功能的其他逻辑表示。尽管对于量子计算的目的,这些电路在数学上可以彼此等效,但当在实际硬件中实现时,它们各自的性能特征可能不同。也就是说,虽然可能存在引起相同的计算状态演化的多个等效电路,但当映射到物理门时,一些实际表示可能比其他表示更好地工作。
“量子成本”可以指被映射且执行为物理门的逻辑电路的预期性能损失(penalty);因此,被认为具有较低性能的量子电路的逻辑表示被认为具有较高量子成本。
因此,本文公开和叙述的优化器实施方式通过操纵一个或多个电路表示来降低预期成本。本文描述的装置、组件、***、方法和程序涉及将抽象电路转换为具有较低量子成本的逻辑上相同表示并且因此更适合于量子处理的经典计算优化器。
将逻辑门映射到物理门的过程可以称为编译器步骤或编译。选择优选的(即最低成本的)逻辑表示的过程可以被称为优化。每个逻辑门序列的量子成本可以取决于编译步骤的方法。因此,当考虑逻辑电路的优化时,可以将一致的编译过程以及因此量子成本功能的一致定义用于优化。
根据本文描述的示例实施例,量子计算可以包括执行迭代过程,通过该迭代过程可以在经典计算环境中写入一个或多个量子电路以在量子计算环境中执行。可以使用的这种经典计算环境的非限制性示例包括台式计算机、膝上型计算机、移动设备、虚拟现实环境等。量子电路可经由网络(例如,因特网)提交到量子计算设备,在该量子计算设备处,所述一个或多个量子电路可与其他量子电路一起排队,类似于例如大型机计算设备的批处理。排队的量子电路可以被依次执行。
如上文所阐述的,QIP算法可由描述相同功能的不同量子电路以各种方式表示。理论上,能够在没有误差、退相干、噪声等的情况下执行相同算法的这些不同电路表示的量子计算机忠实地产生相同的结果。然而,实际上,物理量子计算***在一种表示下相对于另一种表示可能更容易出错,从而导致与理想结果具有不同程度的一致性的不同结果。因此,使用逻辑门设计的并提交用于在量子计算机上执行的任意量子程序的编译器可以通过首先将逻辑电路转换为较低成本的表示而受益于成本降低。
因此,本文描述的实施方式可以包括在主电路中找到门的子列表,即,模式(patterns),其操作可以通过用实现更好的物理结果(即,具有降低的量子成本,但是其逻辑功能在其他方面等效)的一组门来替换所述模式来改进。这些搜索和替换模式是先前生成的模板恒等式(identity)的表达,即,模板。
如本文所引用的,模板可以被视为对理想***中的量子***状态没有净影响的门的列表;即,恒等操作,例如,串联的两个NOT门等效于非操作。模板也可以被认为是在全局相位内形成恒等式的门列表。具有跨越多个量子比特的许多门的非平凡模板可以预先生成并用于将输入电路减少到具有较少门的相同电路和/或在计算上更高效或更具成本效益的电路解决方案。模板通常被定义为一圈门(aring of gates),因为当酉算子U1U2...UN的乘积评估为恒等时,其中Un,n=1,2,...N表示第n算子,乘积的任何循环排列也是恒等式。
图1示出量子电路图100,其表示如本文所述的具有多个元件的模板的示例。CNOT门110、120、130、140和150由符号⊕表示,该符号表示NOT门,连接到表示控制的实心圆。在此描述和叙述的实施例和实施方式在数量上不限于图1所示。
模板100评估为恒等操作。即,在图1的非限制性示例实施例中,CNOT门110、120和130可以用包括CNOT门140和150的该电路的剩余部分的逆(inverse)来代替。这是恒等操作的功能的直接扩展,因为作为恒等式的两个算子的乘积意味着一个算子是另一个算子的逆。
示例模板100可以用于将具有与前三个CNOT门模式110、120和130匹配的量子门模式的任意输入量子电路中的CNOT门的数量减少一个,从而用包括CNOT门140和150的子电路的逆有效地替换该门模式。输入量子电路中出现的模式越多,通过本文所描述和叙述的应用基于模板的量子电路优化,量子门数量减少得越多。量子门的数量可以被认为是量子成本的示例。
对基于模板的优化的经典计算效率的需求是必不可少的,因为输入量子电路可能潜在地包括许多已知的门模式,并且需要以及时的方式进行管理。为了高效地识别已知模式,可以产生量子电路的有向非循环图(directed acyclic graph,DAG)表示,以暴露沿着所选量子比特线的门连接模式。
为了识别输入电路中与给定模板电路匹配的子电路,执行两个映射,即,量子比特映射和门映射。量子比特映射包括在输入电路和模板电路之间匹配量子比特标签。门映射包括在输入电路和模板电路之间匹配在电路的DAG表示上定义的量子门的类型和顺序。当完成这两个映射时,可以进行标识,并且可以应用基于模板的优化。
作为标识的示例,并且为了使上述实施例和实施方式情境化,下面描绘和描述了示例图解1和2:
图解1:从模板到电路的量子比特映射
图解2:门模式匹配
图解1和图解2的示例一般涉及输入电路的扫描、识别与所存储的模板的匹配、以及用所存储的模板代替所识别的模式以降低量子成本。
该匹配可以实现为DAG搜索,该DAG搜索建立从模板量子比特到电路量子比特的候选映射。为了将模板模式匹配到输入电路的门上,非确定性有限自动机(non-deterministic finite automaton,NFA)可以在替换之前评估门映射。基于正则表达式匹配的NFA可用于计算门映射。
图2A示出量子电路图示200a,量子电路图示200a表示具有包括CNOT门210a、240a、260a、270a的多个元件的输入电路的示例,其中,Rz(a)对应于角度a的单量子比特z旋转门(Rz(a)220a),H表示哈达玛门(H 230a),⊕对应于单量子比特NOT门250a。
在非限制性示例中,为了识别电路200a中与示例模板100匹配的子电路,可以将CNOT门240a视为种子门。根据该示例中种子门的选择,量子比特映射读取为模板100中的第一和第二量子比特分别映射到示例输入电路200a中的第二和第三量子比特。沿着作为CNOT门240a的目标被施加到的量子比特线的电路200a中从顶部开始的第三量子比特线,从种子门240a向右执行DAG搜索,遇到NOT门250a的下一个量子门。使用换向(commutation)规则,可以确定CNOT门240a与NOT门250a换向。因此,根据示例模板100,虽然NOT门250a不是要被识别的模式的一部分,但是识别过程并不终止,因为已经确定非匹配门250a可以被换向,使得存在种子门240a仍然可以用于形成模板模式100的机会。沿着电路200a中相同的第三量子比特线继续DAG搜索,找到符合期望模式100的CNOT门260a和270a,同时成功地将模板100中的第三和最后一个量子比特映射(即,量子比特映射)到电路200a中的第四和最后一个量子比特,并且识别过程可以终止,因为根据量子比特映射和门映射,门240a、260a、以及270a匹配期望模板100的大部分(3)。
可以一次对一个模板或者并行地对多个模板执行该识别过程。根据至少一些示例实施方式,该识别过程可以被实施为建立从模板电路到输入电路(或与之相反)的候选映射的DAG搜索。也就是说,还可以通过应用从输入电路到已知的模板集合的映射来实现该识别过程。
图2B示出电路图示200b,其表示相对于电路200a中的上述识别的模式,通过使用模板100应用基于模板的优化而获得的优化电路。所识别的门240a、260a和270a的模式可用包含门220b和260b的较低成本的电路替换。这相当于将CNOT门的数量从3减少到2。因为CNOT门220b作用在电路200b的第二和第四量子比特线,所以它可以通过不作用于电路200b的第二和第四量子比特线的任何门来换向。门230b、240b和250b是可以应用于电路200b的第三量子比特线的单量子比特门。因此,CNOT门220b可以设置在CNOT门210b和CNOT门260b之间的任何地方。
可以使用的另一个量子成本度量是量子电路深度。注意,电路执行时间是量子计算性能中的重要考虑因素,因为诸如定时、激光振幅和相位误差的某些误差、诸如场漂移和发热的***误差以及完全状态退相干的可能性的累积都随着时间而增加。因此,除了每个门的量子成本的总和之外,电路性能的第二试探可以包括显著地减少或者甚至最小化电路执行时间。虽然实际执行时间可取决于硬件级参数,但是可以使用电路深度(其可被视为从电路开始到结束的最长连接路径)来估计执行时间。
可以通过确定电路的DAG表示中的最长路径来计算电路深度,其中长度被认为是在每个路径上遇到的门的数量、沿着路径的量子成本的总和、或某个其他构造值。纠缠门可以诱导每一对纠缠量子比特之间的量子比特连接,即电路图中量子比特之间的垂直线;但在全连接拓扑可用的情况下,某些量子比特可以并行纠缠,而不是当前量子算法设计中常用的顺序纠缠。将一个或多个成对门正向换向并将它们合并为具有一个或多个成对门的单个并行操作可减小电路深度。这样的操作可以被表示为例如具有两个或更多个规则纠缠门的模板,随后是并行版本。作为又一示例,对电路210a执行的输出优化电路210b的上文所描述的基于模板的优化显示缠绕门210b和220b可被并行实施。预优化电路210a的两量子比特电路深度为4,其可与后优化电路210b的后优化电路深度2进行比较,从而将电路深度从4减小到2。因此,本文显式和隐式描述的解决方案可通过并行门应用于电路深度减小。
因为基于模板的优化可以改变量子比特连接的拓扑,所以它可以例如与保持连接拓扑的量子电路优化器串联使用,以当要实现优化电路的底层目标量子硬件能够本地实现新引入的连接时,促进在包括门的数量和电路深度二者的量子成本方面的进一步电路优化。即,本文描述和叙述的优化可以在结合量子电路编译和附加量子电路优化方法的流水线中应用。可以执行不同量子电路优化器(包括基于模板的优化器)之间的多次迭代,直到例如不能再实现对量子成本的进一步优化,从而输出针对给定优化策略的优化电路。
俘获离子的全部到全部(all-to-all)连接允许高效实施量子电路,所述量子电路包括或可经变换以包括平行门。并行门是双量子比特量子纠缠门的推广。标准的纠缠门,例如Molmer-Sorensen或“MS”门,可以对一对量子比特进行操作,以创建多量子比特状态的不可分离叠加。这种操作被用于量子算法中,以探索经典计算中不可行的复杂问题领域。
平行门可以同时作用于多个对,而不是单个对。与并行实现纠缠门相关的一个挑战是对感兴趣的量子比特进行操作,同时使所有其他对不受影响。并行地执行纠缠在成本上最多可以是单对性能成本的恒定倍数。因此,并行门提供减少电路执行的累积量子资源需求的第二优化器功能。此外,俘获离子量子计算机的全部到全部连接允许在多个任意对之间同时实现纠缠门。
在此结合例如在图2A和图2B中所示的量子成本降低描述和叙述用于生成模板库的方法。使用广度优先搜索(breadth-first search,BFS)的生成器的示例实施方式被描述如下:
如以上示例中所示,可以通过选择要在其上生成模板的量子比特的数量来执行用于模板库生成的BFS。针对选定数量的量子比特,创建一组可能的门,这些门被选择用于模板库生成。将用于模板库生成的所选门称为裸门,BFS首先考虑第一个子级的每个裸门,其中树的根是空的。库生成然后检查根据从根到叶的分支定义的每个完整分支,以确定是否有任何完整分支(即,在该完整分支的路径中沿着该分支顺序出现的所有裸门的乘积)导致恒等。如果感兴趣的分支没有评估为恒等,则沿着该分支继续搜索。如果感兴趣的分支评估为恒等,则在该分支终止搜索,并且将与该分支相对应的裸门的乘积记录为模板库中的模板。当检查了给定级别上的所有分支时,如果还有未终止的分支,则将向这些分支添加下一个子分支。一旦不再存在可供进一步搜索的分支,并且所有分支都被用于模板库的生成,则BFS终止。
在一个示例中,可以优化上述BFS方法以降低BFS的运行时间成本。例如,当添加子级时,基于模板的优化可以应用于在BFS时具有存储在模板库中的模板的所有完整分支。如果任何分支允许基于模板的优化,例如T,则可以从搜索中消除该分支,因为这样的分支表示次优模板。也就是说,如果沿着该分支继续搜索,则该分支将导致形式为U1U2U3...UmUm+1...Um+MUm+M+1...UN的模板,其中,Um+1…Um+M是所识别的模板T,因此在输入量子电路的基于模板的优化的应用中,通过首先考虑模板Um+1...Um+M,然后考虑模板U1U2U3...UmUm+M+1...UN更短的最优模板U1U2 U3…UmUm+M+1…UN,可以替换次优模板。这极大地减少了BFS中的计算开销。
BFS可以重复任意次数,以搜索任意数量量子比特的模板。为了帮助更大数量的量子比特搜索,可以将先前较小数量的量子比特搜索树保存在存储器中,并且因此所有新发现的模板可以用作模板库的一部分,这有助于减少后续搜索的计算开销。因此,虽然搜索空间可以被表示为对于给定数量的量子比特和固定数量的裸门在模板长度上指数增长的树,但是可以发现许多增长的搜索路径等效于先前搜索的模板。因此,针对先前发现的模板的检查可以将问题大小减小到更易于管理的大小。该循环可在预定量的时间或迭代之后终止。
图3示出表示根据本文描述的至少一些实施例布置的可以用来优化量子电路的示例经典计算***300的框图。如图所示,配置300至少包括程序源305、程序307和数字处理器310。数字处理器310可以至少包括预处理器315、包括量子电路优化器325的编译器320和操作***330。根据本文描述的至少一些实施例,库410A可以与量子电路优化器325相关联。
源305可以指可以托管在基于云的基础设施上的多个服务器中的一个,可以通过它从网络上的用户或用户实体接收程序307。源305可以被进一步配置为接收和/或存储程序307的执行的部分或完整结果,并且还经由网络将这样的结果返回给用户或用户实体。此外,源305可以由单个或多个机器来实现,并且程序307可以通过单个或多个连接或信道来传输。
程序307可以指经由源305从用户或用户实体接收的一个或多个程序。程序307可以包括用于在量子计算环境中执行的在经典环境中编写或编程的至少一个或多个量子电路。程序307中的各个程序可以部分地或完全地以任何量子计算语言来编写或编程,仅包括量子电路,或者包括与经典计算功能结合的量子电路。除非上下文另外要求,否则将参考程序307的单个实施例继续描述,但不排除包括多个程序的实施例和实施方式。
数字处理器310可以指经典计算环境的一个或多个实施例,其可以是或包括经典计算机、处理设备和/或甚至程序307在其上被组装、管理和/或执行的个别处理器。数字处理器310可以指高性能计算(HPC)环境,其至少包括CPU和GPU,所述GPU存在于例如视频卡上、嵌入在母板上或CPU管芯上。根据本文描述的实施例,量子电路的优化可以完全在CPU上执行,或者部分在CPU和GPU上执行。替代实施例可在等效于本文中所描述的演进HPC组件中执行。
预处理器315可以指被设计、编程或以其他方式配置的程序,用于修改输入数据以符合另一程序的输入要求。根据本文描述的实施例,对预处理器315的输入包括程序307的至少部分,其可以包括一个或多个量子电路。输出可被称为输入数据的预处理形式,即程序307,其可由数字处理器310上的其他程序使用或执行。根据本文描述的实施例,预处理器315可以预处理或以其他方式翻译源代码,通过该源代码编写程序307以准备编译。
编译器320可以指被设计、编程或以其他方式配置的优化编译器,用于渲染适合于在量子环境中执行的程序307的至少部分。如本领域中已知的,编译器可以执行促进高效设计和校正源输入到目标输出的转换的操作。因此,编译器320可被设计、编程或以其他方式被配置为最小化或最大化程序307的一些属性,即,降低量子成本。为此,编译器320包括量子电路优化器325或与量子电路优化器325相关联,量子电路优化器325使用算法来实现量子电路优化,所述算法可以将程序307中包括的一个或多个量子电路分别转换为功能等效但量子成本较低的对应量子电路。
量子电路优化器325可以被设计、编程或以其它方式经配置为识别旨在执行功能的程序307中的量子电路门模式,在模板库410A中搜索以较低量子成本同样执行所述功能的量子电路门模板,并且用该量子电路门模板替换所识别的量子电路门的集合。
根据至少一些实施方式,量子电路优化器325可将库410A中存储的模板模式映射到程序307中的一个或多个所识别的量子门模式。如本文所引用的,模式匹配可以包括量子比特映射和门映射两者。如果在模式识别过程期间遇到非换向门,则该过程可终止,并且可以将下一模板映射到对应于程序307的输入电路。由量子电路优化器325描述的程序可以执行从模式量子比特到电路量子比特的映射以及模式门到电路门的映射,两者均可用于识别来自电路的子区域内的给定模式功能。
当实施电路修改算法时,可以确定哪些门换向。通常,可以记录门换向的特定规则,包括与一组门换向的门的换向规则。然而,换向关系可以在字典类型结构中定义并可被离线修改,从而便于快速查找、任意地在线或离线修改以及从多个软件包使用的简单性,而不是硬编码换向规则(其在一些实施方式中可能是默认)。
根据至少一个实施例,量子电路优化器325可以被设计、编程或以其他方式配置为接收程序307的至少部分,识别其中被编程为执行量子功能的量子门模式,在库中搜索也被编程为执行该量子功能的量子门替换模板,确定该量子门替换模板的量子成本是否低于所识别的量子门模式的量子成本,并且如果所述确定是肯定的,则用所述量子门替换模板替换所识别的量子门模式。
操作***(OS)330可以被设计、编程或以其他方式配置为控制经典计算软件和硬件组件。因此,根据量子电路优化的至少一些实施例,OS 330可以接收优化程序307,调度和/或排序针对其功能的处理,包括将功能分配给作业队列以在QPU上最终执行,并启动其执行。
本文显式和隐式描述的解决方案包括通过优化器运行量子算法以降低量子成本的自动化过程。该优化器可以产生等效电路,该等效电路在被实施时例如量子计算状态退相干的机会较低。
图4示出根据本文描述的至少一些实施例布置的可以用来实现量子电路优化的量子电路优化器325的示例配置。如图所示,量子电路优化器325被包括在优化编译器320中或与优化编译器320相关联;并且量子电路优化器325至少包括接收器405、库生成器410、成本仲裁器415、功能仲裁器420、库管理器425和替换管理器430。虽然示出为分立组件,但是在所公开主题的范围内同时考虑到,可以将各种组件划分为附加组件、结合成较少组件、或完全消除。所属领域的技术人员将理解,组件的每个功能和/或操作可个别地和/或共同地通过广泛范围的硬件、软件、固件或其任何组合来实施。
接收器405可以被设计、配置或以其他方式编程为接收程序107,程序107包括在经典环境中编写或编程以用于在量子计算环境中执行的一个或多个量子电路。
库生成器410可以被设计、配置或以其他方式编程为使用BFS方法生成库410A。库生成器410可以在其中将构造的排列***到根节点是裸门类型的树中。新的第一级节点是不同裸门的实例,因此增加了树的宽度。库生成器410还可以针对任何数量的量子比特重复该过程,并且将在较小数量的量子比特实例中找到的模板保存在存储器中可以有益于较大数量的量子比特实例。
成本仲裁器415可以被设计、配置或以其他方式编程为利用算法来确定存储在库410A中的模板以及在程序307中识别的模式的量子成本。如本文所引用的,量子成本可以涉及门和任意门序列的效率和资源花费的定制字典实施方式。门成本可以被存储为例如经由散列在恒定时间内可访问的密钥-值对,但是这种实施方式不是限制性的。可以使用定制的评分标度来将成本分配给门和/或门序列,更大的数字指示成本。因此,根据至少一个实例实施方式,单门可具有相对低的成本,但CNOT/双量子比特门可能具有与其相关联的较高成本。可以基于实验结果或实际经验对门或门序列的量子成本进行动态或离线调整。当替换管理器425要用来自库410A的模板替换来自程序307的所识别的门模式时,恒定时间查找预防性能损失。
根据至少一些实施方式,成本仲裁器415可以在生成或存储模板时确定库410A中的各个模板的量子成本。然后,成本仲裁器415还可以在通过功能仲裁器识别时确定程序307中各个模式的量子成本,如下文所述。
功能仲裁器420可以被设计、配置或以其他方式编程为在所接收的程序307内执行模式搜索,并且执行一个或多个模板到程序307中的试验映射,即,一个或多个目标电路。可以一次针对一个功能或并行地针对多个功能执行搜索或映射。此外,搜索或映射可以部分地取决于对有向非循环图(即,DAG,量子电路的表示)的搜索,其建立从模板量子比特到电路量子比特的候选映射。
库管理器425可以被设计、配置或以其他方式编程为搜索库410A以确定其中是否存储有在功能性上等效于由功能仲裁器420在所接收的程序307中识别的模式的模板;即,确定存储在库410A中的模板的量子比特是否可以被映射到对应于程序307的至少一个量子电路的量子比特,使得模板的门可以被映射到程序307的门。如果该确定是肯定的,则量子电路优化器325实施用于经由例如非确定性有限自动机(即,NFA)将所存储的模板与对应于程序307的门的子集进行模式匹配的快速技术。可以应用基于模板的优化来降低输入量子电路的量子成本。
根据至少一个实施方式,库管理器425可以在库410A中搜索模板,使得程序307内所识别的模式可以由较低成本的序列替换。只有在使用如本文所描述的用于存储、读取和评估门换向关系的高效实施方式来应用某些门换向器的情况下,该模式才是可识别的。换向关系可以在抽象数据结构中定义,例如字典或前缀树,并可以离线修改,从而促进快速查找、任意的在线或离线修改,以及从多个软件包使用的简单性,而不是硬编码门换向规则。
替换管理器430可以被设计、配置或以其他方式编程为通过例如修改程序307的拓扑而经由模板促进拓扑变异。例如,可以在俘获离子***上以实质节省的方式实现量子SWAP门(其交换两个量子比特的状态)作为逻辑量子比特再分配,因为在示例性实施方式中SWAP门可以包括三个CNOT门。可容易用于俘获离子***(其可利用全部对全部连接)的逻辑再分配/再映射是低成本的,因为在该***中的再映射带来零量子成本。因此,当在优化编译期间在输入电路中识别充当SWAP门的三个CNOT门时,替换管理器430可以移除所识别的模板,并且对输入电路中剩余门的量子比特进行切换。
图5示出可以用来至少根据上述图3和图4的实施例和实施方式实施量子电路优化的至少部分的示例处理流程500。如图所示,处理流程500包括由可包括在***300中的编译器320的各种组件执行的子过程。然而,处理流程500不限于这样的组件,因为可以通过将这里描述的子过程中的两个或更多个重新排序、消除子过程中的至少一个、添加另外的子过程、替换组件或者甚至使各种组件承担符合以下描述中的其他组件的子处理角色来进行明显的修改。处理流程500可以包括如框505A、505B、510、515、520、525和530中的一个或多个所示的各种操作、功能或动作。这些各种操作、功能或动作可以例如对应于可由处理器执行以使功能被执行的软件、程序代码或程序指令。处理可在框505A或框505B中的一者或两者处开始。
在框505A(构建库),库生成器410可以利用BFS树来生成模板库410A。如上文所阐述,库410A可以指或包含门库,该门库存储供程序307的至少一部分使用的可能门的一个或多个列表。
此外,在框505A处,成本仲裁器415可在生成相应的模板时或在相应模板被存储在库410A中时,同时或串行地确定模板的数量子成本。根据至少一个示例实施方式,成本仲裁器415可以在生成或存储对应的模板时利用定制评分标准来向门和/或门序列分配成本。
在框505B(接收程序)处,接收器405可以从源305接收程序307。
根据本文描述的实施例,可以并行地或串行地或者不按预定顺序实施框505A和框505B处的处理。处理可以进行到框510。
在框510(识别用于模板-模式匹配的候选门),功能仲裁器420可以在接收的程序307内执行模式搜索。
在框515(搜索模板库)处,功能仲裁器420可执行将存储在模板库410A中的一个或多个模板试验映射到程序307中。可以一次对一个模板或者并行地对多个模板执行模式识别。根据至少一些示例实施方式,搜索可以被实现为DAG搜索,该DAG搜索构建从模板量子比特到电路量子比特的候选映射。处理可以进行到框520。
在框520(比较量子成本)处,如果尚未确定对应的量子成本,则成本仲裁器415可以利用算法来确定存储在库410A中的一个或多个模板的量子成本;并且成本仲裁器415可以利用相同的算法来确定在程序307中识别的模式的量子成本。即,对于每个实施方式,可以利用公共算法来确定模板以及该模板替换的模式的量子成本。处理可进行到决策框525。
在决策框525(节省?)处,成本仲裁器415可确定量子门替换模式的量子成本低于所识别的量子门模式的量子成本。在否定确定时,处理可返回到框510;在肯定确定时,处理可前进到框530。
在框530(替换)处,替换管理器430可以通过用量子门替换模式替换所识别的量子门模式来修改程序107的拓扑。
本文描绘和描述的解决方案涉及用于将模板映射到包括在程序307中的目标电路的快速技术,以及用于将所存储的模板与目标电路中的门的子集进行模式匹配的快速技术。也就是说,给定程序307中的量子电路和存储在库410A中的模板,函数仲裁器420确定存储的模板的量子比特是否可以映射到量子电路的量子比特。如果确定是肯定的,则将相应模板映射到电路。可执行多次迭代以实现由经修改的电路中出现的新模式所导致的成本降低。
可以通过在电路中步进并在与门模式匹配的第一门处停止而将存储在库410A中的模板模式映射到包括在程序307中的目标电路。这产生从模式量子比特到目标量子比特的映射。可以通过沿着DAG从种子门步进,首先定位与下一个模式门匹配并且通过控制连接到种子比特的门来映射其他模式量子比特。可以针对控制比特执行类似的程序。如果遇到非换向门,或者不是所有量子比特都被映射,则该过程可以终止,并且可以执行用于下一个模板的映射。
图6示出说明性的计算实施例,其中量子混合计算的任何过程和子过程可以作为存储在计算机可读介质上的计算机可读指令来实现。计算机可读指令可以例如由如本文所述的设备的处理器来执行,该处理器具有网络元件和/或与其相对应的任何其他设备,特别是当适用于与用于量子混合计算的***300和400相对应的上述应用程序和/或程序时。
在非常基本的配置中,计算设备600通常可以至少包括一个或多个处理器602、***存储器604、一个或多个输入组件606、一个或多个输出组件608、显示组件610、计算机可读介质612和收发机614。
处理器602可以指例如微处理器、微控制器、数字信号处理器或其任何组合。
存储器604可以指例如易失性存储器、非易失性存储器或其任何组合。存储器604可以在其中存储操作***30、应用程序和/或程序数据。也就是说,存储器604可以存储用于实现上述任何功能或操作的可执行指令,因此,存储器604可以被认为是计算机可读介质。
输入组件606可以是指内置的或可通信地耦合的键盘、触摸屏或电信设备。可替换地,输入组件606可以包括麦克风,该麦克风被配置为与可以存储在存储器604中的语音识别程序合作,从计算设备600的用户接收语音命令。此外,输入组件606如果不是内置于计算设备600,则可以经由包括但不限于射频或蓝牙(Bluetooth)的短程通信协议可通信地耦合到计算设备600。
输出组件608可以指被配置为向外部设备输出命令和数据的内置或可从计算设备600移除的组件或模块。
显示组件610可以指例如可以具有触摸输入能力的固态显示器。也就是说,显示组件610可以包括可与输入组件606共享或替换输入组件606的能力。
计算机可读介质612可以指可分离的机器可读介质,其被配置为存储体现上述任何功能或操作的一个或多个程序。也就是说,计算机可读介质612可被接收到计算设备600的驱动组件中或以其他方式连接到计算设备600的驱动组件,该计算机可读介质612可存储用于实现上述任何功能或操作的可执行指令。这些指令可以是存储器604所存储的那些指令的补充或独立于那些指令。
收发机614可以指计算设备400的网络通信链路,其被配置为有线网络或直接有线连接。可替换地,收发机614可以被配置为无线连接,例如,射频(RF)、红外、蓝牙和其他无线协议。
由上述可知,本文已经为了说明性目的描述了本公开中的各种实施例,并且在不偏离本公开的范围和精神的情况下可以进行各种修改。因此,本文公开的各种实施例不意在限制性的,真正的范围和精神由所附权利要求指示。
Claims (20)
1.一种优化量子电路的方法,该方法包括:
识别旨在执行功能的一组量子电路门;
从模板库中找到也执行该功能的量子电路门模板;以及
用所述量子电路门的模板替换所识别的一组量子电路门。
2.根据权利要求1所述的方法,其中所述量子电路门模板具有比所识别的一组量子电路门更低的量子成本。
3.根据权利要求2所述的方法,其中使用相同的算法来计算所识别的量子电路门的量子成本和所述量子电路门模板的量子成本。
4.根据权利要求1所述的方法,其中所述模板库中的模板是利用并行门生成的,以修改电路拓扑。
5.根据权利要求1所述的方法,其中在结合量子电路编译和附加量子优化的流水线中执行所述方法。
6.根据权利要求1所述的方法,其中在接收所述量子电路时自动执行所述方法。
7.根据权利要求6所述的方法,其中以串行方式执行所述方法。
8.根据权利要求6所述的方法,其中以并行方式执行所述方法。
9.一种存储可执行指令的计算机可读介质,所述可执行指令在执行时使数字计算处理器执行功能,所述功能包括:
接收量子电路的至少部分;
从所述量子电路的所接收部分内识别与来自预先生成的模板库的至少一个模式的至少一部分匹配的量子门模式;
在所述模板库中搜索量子门替换模式;
确定所述量子门替换模式的量子成本低于所识别的量子门模式的量子成本;以及
用所述量子门替换模式替换所识别的量子门模式。
10.根据权利要求9所述的计算机可读介质,其中所识别的量子电路门模式的量子成本和所述量子电路门替换模式的量子成本可通过抽象数据结构高效地访问。
11.根据权利要求10所述的计算机可读介质,其中根据可定制的成本函数,为所识别的量子电路门模式的量子成本和所述量子电路门替换模式的量子成本分配相应的值。
12.根据权利要求9所述的计算机可读介质,其中所述量子电路门替换模式包括至少一个量子门。
13.根据权利要求9所述的计算机可读介质,其中恒等地替换所识别的量子门模式。
14.根据权利要求9所述的计算机可读介质,其中所述库的搜索至少部分地在图形处理单元GPU上并且至少部分地在中央处理单元CPU上执行。
15.一种优化器,包括:
量子电路分析器,用于识别与来自预先生成的模板库的模式的至少一部分相匹配的量子门模式;
所述模板库,用于:
执行算法以搜索量子门替换模式,
识别量子门替换模式,以当确定所述量子门替换模式的量子成本小于所识别的量子门模式的量子成本时替换所识别的量子门模式,并且
用所述量子门的替换模式替换所识别的量子门的模式。
16.根据权利要求15所述的优化器,其中所述库存储可高效访问的抽象数据结构,所述抽象数据结构分别表示所识别的量子电路门模式的量子成本和所述量子电路门替换模式的量子成本。
17.根据权利要求15所述的优化器,其中根据可定制的成本函数,为所识别的量子电路门模式的量子成本和所述量子电路门替换模式的量子成本分配相应的值。
18.根据权利要求15所述的优化器,其中各个量子门模式的换向特性是可修改的。
19.根据权利要求15所述的优化器,其中所述模板库中的模板利用并行门生成以修改电路拓扑。
20.根据权利要求15所述的优化器,其中所述模板库中的模板利用并行门生成以减少量子电路深度。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/281,241 US11783217B2 (en) | 2019-02-21 | 2019-02-21 | Quantum circuit optimization |
US16/281,241 | 2019-02-21 | ||
PCT/US2020/019170 WO2020172504A1 (en) | 2019-02-21 | 2020-02-21 | Quantum circuit optimization |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113614728A true CN113614728A (zh) | 2021-11-05 |
Family
ID=72142601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080016172.1A Pending CN113614728A (zh) | 2019-02-21 | 2020-02-21 | 量子电路优化 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11783217B2 (zh) |
EP (1) | EP3928241A4 (zh) |
JP (1) | JP7439109B2 (zh) |
CN (1) | CN113614728A (zh) |
WO (1) | WO2020172504A1 (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10901896B2 (en) * | 2018-11-27 | 2021-01-26 | International Business Machines Corporation | Cached result use through quantum gate rewrite |
US11748665B2 (en) * | 2019-04-03 | 2023-09-05 | International Business Machines Corporation | Quantum feature kernel alignment |
US11074104B2 (en) * | 2019-04-09 | 2021-07-27 | International Business Machines Corporation | Quantum adaptive circuit dispatcher |
US11474867B2 (en) * | 2019-07-11 | 2022-10-18 | Microsoft Technology Licensing, Llc | Measurement sequence determination for quantum computing device |
US11829737B2 (en) * | 2020-01-16 | 2023-11-28 | Microsoft Technology Licensing, Llc | Using compiler optimization to enable automatic generation of combinational circuits from high-level programs |
US11886380B2 (en) | 2020-04-27 | 2024-01-30 | Red Hat, Inc. | Quantum file management system |
US11416221B2 (en) | 2020-05-12 | 2022-08-16 | Red Hat, Inc. | Quantum entanglement protection |
US11823010B2 (en) * | 2020-05-28 | 2023-11-21 | IonQ, Inc. | Accelerated pattern matching method on a quantum computing system |
US11676059B2 (en) * | 2020-06-23 | 2023-06-13 | Red Hat, Inc. | Performing quantum file pattern searching |
CN111814362B (zh) * | 2020-08-28 | 2020-12-15 | 腾讯科技(深圳)有限公司 | 量子噪声过程分析方法、***及存储介质和终端设备 |
EP4222661A2 (en) | 2020-09-30 | 2023-08-09 | IonQ, Inc. | Optimizing circuit compiler for trapped-ion quantum computers |
US20220114468A1 (en) * | 2020-10-09 | 2022-04-14 | International Business Machines Corporation | Efficient synthesis of optimal multi-qubit clifford circuits |
WO2022087143A1 (en) * | 2020-10-20 | 2022-04-28 | Zapata Computing, Inc. | Parameter initialization on quantum computers through domain decomposition |
CA3200270A1 (en) * | 2020-10-28 | 2022-05-05 | The Governing Council Of The University Of Toronto | Operator implementations for quantum computation |
US11983600B2 (en) * | 2020-12-14 | 2024-05-14 | International Business Machines Corporation | Compilation of a quantum program |
US11681845B2 (en) * | 2021-01-28 | 2023-06-20 | International Business Machines Corporation | Quantum circuit valuation |
CN115146778A (zh) * | 2021-03-31 | 2022-10-04 | 合肥本源量子计算科技有限责任公司 | 待运行量子线路确定方法、装置及量子计算机操作*** |
CN115146782A (zh) * | 2021-03-31 | 2022-10-04 | 合肥本源量子计算科技有限责任公司 | 量子线路编译方法、装置、编译框架及量子操作*** |
CN115271079B (zh) * | 2021-04-29 | 2024-07-16 | 本源量子计算科技(合肥)股份有限公司 | 量子线路的替换方法、装置、介质及量子计算机操作*** |
CN115730670B (zh) * | 2021-08-31 | 2024-07-16 | 本源量子计算科技(合肥)股份有限公司 | 模式文件的生成方法、装置、介质及电子装置 |
CN113849187B (zh) * | 2021-10-12 | 2022-05-10 | 中国人民解放军战略支援部队信息工程大学 | 面向量子线路噪声的编译优化方法及装置 |
CN113918168B (zh) * | 2021-10-29 | 2022-07-01 | 中国人民解放军战略支援部队信息工程大学 | 面向量子线路深度的编译优化方法及装置 |
CN114330730A (zh) * | 2021-12-25 | 2022-04-12 | 北京量子信息科学研究院 | 量子线路分块编译方法、装置、设备、存储介质和产品 |
CN115392469A (zh) * | 2022-08-16 | 2022-11-25 | 北京中科弧光量子软件技术有限公司 | 基于动态深度搜索的量子线路映射方法、***和电子设备 |
WO2024111068A1 (ja) * | 2022-11-22 | 2024-05-30 | 富士通株式会社 | 情報処理プログラム、情報処理方法、および情報処理装置 |
WO2024116344A1 (ja) * | 2022-11-30 | 2024-06-06 | 富士通株式会社 | 量子回路設計プログラム、量子回路設計方法および量子回路設計装置 |
CN115618955B (zh) * | 2022-12-19 | 2023-04-07 | 量子科技长三角产业创新中心 | 一种量子线路优化方法、装置、设备及存储介质 |
CN116702914B (zh) * | 2023-07-07 | 2024-06-25 | 北京师范大学 | 一种基于量子电路的模式匹配方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107977541A (zh) * | 2018-01-17 | 2018-05-01 | 合肥本源量子计算科技有限责任公司 | 一种优化量子线路仿真的方法 |
CN108334952A (zh) * | 2017-11-24 | 2018-07-27 | 南京航空航天大学 | 一种新型通用量子门及量子线路优化方法 |
US20180330265A1 (en) * | 2015-11-06 | 2018-11-15 | Julian Shaw Kelly | In-situ quantum error correction |
CN109165741A (zh) * | 2018-08-02 | 2019-01-08 | 合肥本源量子计算科技有限责任公司 | 量子线路的处理方法、装置、存储介质和电子装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060123363A1 (en) | 2004-12-07 | 2006-06-08 | Williams Colin P | Method and apparatus for automated design of quantum circuits |
CA2681147A1 (en) | 2007-04-19 | 2008-10-30 | D-Wave Systems Inc. | Systems, methods, and apparatus for automatic image recognition |
US9235396B2 (en) | 2011-12-13 | 2016-01-12 | Microsoft Technology Licensing, Llc | Optimizing data partitioning for data-parallel computing |
US9514415B2 (en) | 2013-03-15 | 2016-12-06 | Microsoft Technology Licensing, Llc | Method and system for decomposing single-qubit quantum circuits into a discrete basis |
CA3011415C (en) | 2016-01-26 | 2023-01-03 | Michele MOSCA | Decoding-based method for quantum circuit optimization |
US11010517B2 (en) * | 2018-12-07 | 2021-05-18 | IonQ, Inc. | Methods and apparatuses for two-qubit gate reduction in quantum circuits |
-
2019
- 2019-02-21 US US16/281,241 patent/US11783217B2/en active Active
-
2020
- 2020-02-21 CN CN202080016172.1A patent/CN113614728A/zh active Pending
- 2020-02-21 JP JP2021542569A patent/JP7439109B2/ja active Active
- 2020-02-21 WO PCT/US2020/019170 patent/WO2020172504A1/en unknown
- 2020-02-21 EP EP20760232.7A patent/EP3928241A4/en active Pending
-
2023
- 2023-08-30 US US18/458,783 patent/US12033031B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180330265A1 (en) * | 2015-11-06 | 2018-11-15 | Julian Shaw Kelly | In-situ quantum error correction |
CN108334952A (zh) * | 2017-11-24 | 2018-07-27 | 南京航空航天大学 | 一种新型通用量子门及量子线路优化方法 |
CN107977541A (zh) * | 2018-01-17 | 2018-05-01 | 合肥本源量子计算科技有限责任公司 | 一种优化量子线路仿真的方法 |
CN109165741A (zh) * | 2018-08-02 | 2019-01-08 | 合肥本源量子计算科技有限责任公司 | 量子线路的处理方法、装置、存储介质和电子装置 |
Non-Patent Citations (1)
Title |
---|
MASLOV等: "Quantum circuit simplification using templates", 《DESIGN, AUTOMATION AND TEST IN EUROPE》, pages 1 - 6 * |
Also Published As
Publication number | Publication date |
---|---|
WO2020172504A8 (en) | 2021-08-19 |
JP7439109B2 (ja) | 2024-02-27 |
EP3928241A4 (en) | 2023-03-29 |
JP2022521143A (ja) | 2022-04-06 |
WO2020172504A1 (en) | 2020-08-27 |
US11783217B2 (en) | 2023-10-10 |
US12033031B2 (en) | 2024-07-09 |
EP3928241A1 (en) | 2021-12-29 |
US20240062087A1 (en) | 2024-02-22 |
US20200272926A1 (en) | 2020-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113614728A (zh) | 量子电路优化 | |
JP7163500B2 (ja) | 量子化学回路合成のための古典的オプティマイザー | |
Burgholzer et al. | Verifying results of the IBM Qiskit quantum circuit compilation flow | |
US11321625B2 (en) | Quantum circuit optimization using machine learning | |
US20030055614A1 (en) | Method for optimizing a solution set | |
US11954418B2 (en) | Grouping of Pauli strings using entangled measurements | |
JP7350867B2 (ja) | 量子特徴カーネル・アライメント | |
US20200042882A1 (en) | Monte carlo markov chain based quantum program optimization | |
JP2022502734A (ja) | 最適化のためのハイブリッド量子−古典アルゴリズムの強化 | |
Fan et al. | Optimizing quantum circuit placement via machine learning | |
Rooshenas et al. | Discriminative structure learning of arithmetic circuits | |
Munera et al. | Solving the quadratic assignment problem with cooperative parallel extremal optimization | |
JP2020123270A (ja) | 演算装置 | |
Zheng et al. | In-network machine learning using programmable network devices: A survey | |
Broni-Bediako et al. | Evolutionary NAS with gene expression programming of cellular encoding | |
Bernard et al. | Stochastic L-system inference from multiple string sequence inputs | |
Zhao et al. | Parallelized incremental support vector machines based on MapReduce and Bagging technique | |
Ediger et al. | Computational graph analytics for massive streaming data | |
JP2024505467A (ja) | テンプレートなしの反応予測のためのシステム及び方法 | |
US20220180211A1 (en) | Training decision tree-based predictive models | |
Fu et al. | Ess-infogail: Semi-supervised imitation learning from imbalanced demonstrations | |
Xavier et al. | Genome assembly using reinforcement learning | |
Bernard et al. | Inferring stochastic L-systems using a hybrid greedy algorithm | |
CN116187458B (zh) | 量子电路处理方法、装置及电子设备 | |
LIPTÁK et al. | Constructing unrooted phylogenetic trees with reinforcement learning |
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 |