CN111247538A - 量子电路的仿真 - Google Patents
量子电路的仿真 Download PDFInfo
- Publication number
- CN111247538A CN111247538A CN201780096102.XA CN201780096102A CN111247538A CN 111247538 A CN111247538 A CN 111247538A CN 201780096102 A CN201780096102 A CN 201780096102A CN 111247538 A CN111247538 A CN 111247538A
- Authority
- CN
- China
- Prior art keywords
- quantum
- quantum circuit
- function
- classical
- representing
- 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
- 238000004088 simulation Methods 0.000 title claims description 24
- 230000006870 function Effects 0.000 claims abstract description 120
- 238000000034 method Methods 0.000 claims abstract description 102
- 238000005192 partition Methods 0.000 claims abstract description 35
- 238000012360 testing method Methods 0.000 claims abstract description 8
- 239000002096 quantum dot Substances 0.000 claims description 76
- 238000004422 calculation algorithm Methods 0.000 claims description 59
- 230000008030 elimination Effects 0.000 claims description 58
- 238000003379 elimination reaction Methods 0.000 claims description 58
- 239000011159 matrix material Substances 0.000 claims description 24
- 238000003860 storage Methods 0.000 claims description 14
- NHTMVDHEPJAVLT-UHFFFAOYSA-N Isooctane Chemical compound CC(C)CC(C)(C)C NHTMVDHEPJAVLT-UHFFFAOYSA-N 0.000 claims description 6
- JVSWJIKNEAIKJW-UHFFFAOYSA-N dimethyl-hexane Natural products CCCCCC(C)C JVSWJIKNEAIKJW-UHFFFAOYSA-N 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 5
- 239000000126 substance Substances 0.000 claims description 4
- 230000008569 process Effects 0.000 description 27
- 238000012545 processing Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 19
- 230000009471 action Effects 0.000 description 18
- 238000004590 computer program Methods 0.000 description 17
- 230000008878 coupling Effects 0.000 description 7
- 238000010168 coupling process Methods 0.000 description 7
- 238000005859 coupling reaction Methods 0.000 description 7
- 238000012805 post-processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000005281 excited state Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000006698 induction Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 230000005283 ground state Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- 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/33—Design verification, e.g. functional simulation or model checking
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
- G06N10/20—Models of quantum computing, e.g. quantum circuits or universal quantum computers
-
- 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
- G06N10/80—Quantum programming, e.g. interfaces, languages or software-development kits for creating or handling programs capable of running on quantum computers; Platforms for simulating or accessing quantum computers, e.g. cloud-based quantum computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- 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
- G06N10/40—Physical realisations or architectures of quantum processors or components for manipulating qubits, e.g. qubit coupling or qubit control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Artificial Intelligence (AREA)
- Geometry (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Tests Of Electronic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
用于对包括多个量子逻辑门的量子电路进行仿真的方法、系统和装置。在一个方面中,方法包括以下动作:将多个量子逻辑门表示为一个或多个经典布尔变量的函数,该一个或多个经典布尔变量的函数定义了无向图形模型,其中,每个经典布尔变量表示模型中的顶点并且相应经典布尔变量的每个函数表示与相应经典布尔变量对应的顶点之间的团;将从量子电路获得特定输出位串的概率表示为函数的第一乘积之和;以及通过直接地评估函数的乘积之和来计算从量子电路获得特定输出位串的概率。计算的配分函数用于对实现量子电路的量子计算硬件进行(i)校准、(ii)验证或(iii)基准测试。
Description
技术领域
本说明书涉及量子计算。
背景技术
量子电路是用于量子计算的模型,其中,计算是量子逻辑门的序列——n量子位(n-qubit)寄存器上的可逆变换。
发明内容
本说明书描述了用于对量子电路进行仿真的技术。具体地,描述了用于二维量子电路的配分函数仿真和使用受控相位门的量子电路的仿真的方法以及系统。
通常,在本说明书中描述的主题的一个创新方面可以实现为一种用于对量子电路进行仿真的方法,其中,量子电路包括多个量子逻辑门,该方法包括:将多个量子逻辑门表示为一个或多个经典布尔(Boolean)变量的函数,其中,一个或多个经典布尔变量的函数定义了无向图形模型,每个经典布尔变量表示无向图形模型中的顶点并且相应经典布尔变量的每个函数表示与相应经典布尔变量对应的顶点之间的团(clique);将从量子电路获得特定输出位串的概率表示为函数的第一乘积之和;以及通过直接地评估函数的乘积之和来计算从量子电路获得特定输出位串的概率。
该方面的其他实施方式包括对应的计算机系统、装置和记录在一个或多个计算机存储设备上的计算机程序,计算机系统、装置和计算机程序中的每个被配置为执行该方法的动作。一个或多个计算机的系统可以被配置为借助在系统上安装软件、固件、硬件或其组合来执行特定操作或动作,该软件、固件、硬件或其组合在操作中使得系统执行动作。一个或多个计算机程序可以被配置为借助包括指令来执行特定操作或动作,该指令在由数据处理装置执行时使得该装置执行动作。
前述和其他实施方式可以各自可选地、单独地或组合地包括以下特征中的一个或多个。在一些实施方式中,直接地评估函数的乘积之和包括应用用于对无向图形模型执行精确推断的技术。
在一些实施方式中,应用用于对无向图形模型执行精确推断的技术包括应用变量消除算法。
在一些实施方式中,应用变量消除算法包括:近似定义的无向图形模型的树宽;基于近似的树宽来确定用于变量消除算法的消除顺序;以及通过以确定的消除顺序执行变量消除算法来评估函数的乘积之和。
在一些实施方式中,应用变量消除算法包括:确定用于变量消除算法的垂直消除顺序;以及使用确定的顺序执行变量消除算法。
在一些实施方式中,经典布尔变量列举(i)量子电路在其上操作的量子位的系统中的每个量子位,并且对于每个量子位列举(ii)沿着量子位的世界线的新变量。
在一些实施方式中,通过直接地评估函数的乘积之和来计算从量子电路获得特定输出位串的概率,包括:将每个世界线中的第一个经典布尔变量的值固定为零;以及将量子位j(qubit j)的世界线中的最后一个经典布尔变量的值固定为位串中的与位置j对应的值。
在一些实施方式中,将多个量子逻辑门表示为一个或多个经典布尔变量的函数,包括,针对每个对角的一个量子位的量子逻辑门:将量子逻辑门表示为单变量函数,该单变量函数采用对量子逻辑门的矩阵表示的对角线上的元素进行索引的经典布尔变量作为输入并且提供该元素的值作为输出。
在一些实施方式中,单变量函数的每个输入经典布尔变量被映射到无向图形模型中的与该变量对应的顶点。
在一些实施方式中,将多个量子逻辑门表示为一个或多个经典布尔变量的函数,包括,针对每个非对角的一个量子位的量子逻辑门:将量子逻辑门表示为二变量函数,该二变量函数采用对量子逻辑门的矩阵表示的元素进行索引的一对两个经典布尔变量作为输入并且提供该元素的对应的值作为输出。
在一些实施方式中,一对输入的经典布尔变量的每个函数被映射到无向图形模型中的连接与这些变量对应的两个顶点的边。
在一些实施方式中,将多个量子逻辑门表示为一个或多个经典布尔变量的函数,包括,针对每个对角的两个量子位的量子逻辑门:将量子逻辑门表示为二变量函数,该二变量函数采用对量子逻辑门的矩阵表示的对角线上的元素进行索引的一对两个经典布尔变量作为输入并且提供该元素的值作为输出。
在一些实施方式中,一对输入的经典布尔变量的每个函数被映射到无向图形模型中的连接与这些变量对应的两个顶点的边。
在一些实施方式中,将多个量子逻辑门表示为一个或多个经典布尔变量的函数,包括,对于每个非对角的两个量子位的量子逻辑门:将量子逻辑门表示为四变量函数,该四变量函数采用对量子逻辑门的矩阵表示的元素进行索引的四个经典布尔变量作为输入并且提供该元素的对应的值作为输出。
在一些实施方式中,四个输入经典布尔变量的每个函数被映射到无向图形模型中的连接与这些变量对应的四个完全地连接的顶点的链路。
在一些实施方式中,该方法还包括使用计算的概率来确定量子电路的性能。
在一些实施方式中,该方法还包括使用计算的概率来对实现量子电路的量子计算硬件进行(i)校准、(ii)验证或(iii)基准测试。
在一些实施方式中,该方法还包括将算符的期望值表示为函数的第二乘积之和;以及通过直接地评估函数的乘积之和来计算定义的算符的期望值。
通常,在本说明书中描述的主题的另一个创新方面可以实现为一种用于对量子电路进行仿真的方法,该方法包括:将量子电路表示为与时钟周期序列对应的酉矩阵的乘积;将在量子位的系统上应用量子电路的最终时钟周期之后输出预定义的位串的概率表示为虚(imaginary)温度处的经典伊辛(Ising)模型的配分函数,该概率依赖于酉矩阵的乘积;以及精确地计算配分函数,以确定在量子位的系统上应用量子电路的最终时钟周期之后输出预定义的位串的概率包括应用对图形模型执行精确推断的算法。
该方面的其他实施方式包括对应的计算机系统、装置和记录在一个或多个计算机存储设备上的计算机程序,计算机系统、装置和计算机程序中的每个被配置为执行该方法的动作。一个或多个计算机的系统可以被配置为借助在系统上安装软件、固件、硬件或其组合来执行特定操作或动作,该软件、固件、硬件或其组合在操作中使得系统执行动作。一个或多个计算机程序可以被配置为借助包括指令来执行特定操作或动作,该指令在由数据处理装置执行时使得该装置执行动作。
前述和其他实施方式可以各自可选地、单独地或组合地包括以下特征中的一个或多个。在一些实施方式中,精确地计算配分函数包括将经典伊辛模型表示为图形模型,该图形模型包括:表示经典伊辛模型中的自旋的节点和表示自旋之间的相互作用的边;确定图形模型的树宽;以及使用确定的树宽应用被开发用于对图形模型执行精确推断的算法,以计算经典伊辛模型的配分函数。
在一些实施方式中,被开发用于对图形模型执行精确推断的算法包括桶(bucket)消除算法或变量消除算法。
在一些实施方式中,算法的计算成本与经典伊辛模型的图形模型表示的树宽成指数关系。
在一些实施方式中,将在应用量子电路的最终时钟周期之后输出预定义的位串的概率表示为虚温度处的经典伊辛模型的配分函数包括:将概率表达为路径积分,该路径积分包括与路径积分中的路径相关联的多个相位因子;以及确定作为与量子电路中的量子逻辑门相关联的离散相位改变之和而累积的相位因子的值。
在一些实施方式中,量子电路被配置为对布置为二维晶格(lattice)的量子位进行操作。
在一些实施方式中,量子电路包括(i)受控相位、(ii)X1/2、(iii)Y1/2和(iv)非克利福德(non-Clifford)T量子逻辑门。
在一些实施方式中,量子电路包括d个时钟周期的深度。
在一些实施方式中,在量子位的系统上应用量子电路的最终时钟周期之后输出预定义的位串的概率由下式给出:
其中,|x>表示预定义的位串,|ψd>表示在应用了量子电路的最终时钟周期d之后的n个量子位的系统的状态,U(t)表示与时钟周期1到d的序列对应的酉矩阵的乘积,以及其具有分别地对应于第j量子位的状态0和1的分配(assignment)
在一些实施方式中,虚温度处的经典伊辛模型的配分函数由下式给出:
在一些实施方式中,计算的配分函数用于确定量子电路的性能。
在一些实施方式中,计算的配分函数用于对实现量子电路的量子计算硬件进行(i)校准、(ii)验证或(iii)基准测试。
本说明书中描述的主题可以以特定方式实现,以实现以下优点中的一个或多个。
如本说明书中描述地,用于对量子电路进行仿真的系统和方法提供了对计算资源的更有效的使用,并且相对于用于对量子电路进行仿真的现有方法提供了计算上和实践上的改进。
此外,如本说明书中描述地,用于对量子电路进行仿真的系统和方法可以用于改进量子计算硬件。例如,由本说明书中描述的系统和方法生成的仿真结果可以用于校准或验证量子计算硬件,或者确定可以改进现有量子计算硬件的准确性或效率的调整。
如本说明书中描述地,用于对量子电路进行仿真的系统和方法可以使用适度的计算资源(例如在工作站上)大规模地(at scale)实现。
在附图和以下描述中阐述了本说明书的主题的一个或多个实施方式的细节。根据说明书、附图和权利要求书,本主题的其他特征、方面和优点将变得明显。
附图说明
图1描绘了用于对量子电路进行仿真的示例系统。
图2是用于对使用受控相位门的量子电路进行仿真的示例处理的流程图。
图3A是示例的对角的一个量子位的量子逻辑门和对应的图形模型表示的图。
图3B是示例的非对角的一个量子位的量子逻辑门和对应的图形模型表示的图。
图3C是示例的对角的两个量子位的量子逻辑门和对应的图形模型表示的图。
图3D是示例的非对角的两个量子位的量子逻辑门和对应的图形模型表示的图。
图4是示例的量子电路和量子电路的对应的无向图形模型表示的图。
图5是应用变量消除算法以直接地评估表示多个量子逻辑门的一个或多个经典布尔变量的函数的乘积之和的示例处理的流程图。
图6是用于量子电路的配分函数仿真的示例处理的流程图。
图7是用于精确地计算虚温度处的经典伊辛模型的配分函数的示例处理的流程图。
图8是作为电路深度的函数的、与具有6×6、7×6和7×7量子位的量子电路对应的伊辛模型的相互作用图形的树宽的数值上限的曲线图(plot)。
图9是使用垂直消除排序的、对于具有6×6、7×6和7×7量子位的量子电路的作为电路深度的函数的最大张量秩(rank)的大小的曲线图。
在各个附图中,相同的附图标记和名称指示相同的元件。
具体实施方式
对量子电路进行仿真是制造量子硬件的必要部分。例如,对量子电路进行仿真可以用于对新兴的量子计算硬件和架构进行校准、验证和基准测试。
用于对通用量子电路(例如,不具有允许更快的短路(shortcut)或模拟的对称性的电路)进行仿真的常规处理通常需要大量的计算资源和技术上的优化。例如,用于对量子电路进行仿真的常规处理使用大量的技术上的优化技术将包括在量子电路中的量子逻辑门的应用转换为相应的优化的有效矩阵乘法。然后,使用具有高水平计算性能的计算机(例如经典超级计算机),将优化的有效矩阵乘法直接地应用于向量状态。
超级计算机中的计算稀缺并且昂贵。此外,甚至超级计算机也可能不能够对量子电路进行大规模地仿真。例如,用于对仅具有9×5量子位和深度25的量子电路进行仿真的基准测试结果耗尽了当前的经典超级计算机。
因此,在不使用蛮力计算、近似和/或大量的计算资源的情况下,对通用量子电路进行大规模地仿真是量子计算领域中非常重要的技术问题。
本说明书描述了用于对具有受控相位门的低深度量子电路进行更有效地仿真的方法和系统。量子电路的输出幅度表示为无向图形模型,然后使用计算基础中的受控相位门为对角的属性、使用概率图形模型中的精确推断算法(例如,变量消除算法)来对其进行求解。该方法的计算成本与无向图形的树宽成指数关系。
本说明书还描述了用于通过将量子电路直接地映射到在虚时间中的伊辛模型的配分函数来对通用量子电路进行更有效地仿真的方法和系统。可以使用在图形模型的精确推断的情境中开发的算法来精确地求解配分函数。术语“精确地求解”或“精确地计算”意指在不应用近似的情况下进行求解或计算。因此,可以使用适度的计算资源(例如在工作站上)大规模地实现本说明书中描述的方法。
描述的系统和方法导致对计算资源的更有效的使用,并且相对于用于对量子电路进行仿真的现有方法提供了计算上和实践上的改进。此外,描述的系统和方法可以用于改进量子计算硬件。例如,由本说明书中描述的系统和方法生成的仿真结果可以用于校准或验证量子计算硬件,或者确定可以改进现有量子计算硬件的准确性或效率的调整。
示例硬件
图1描绘了用于对量子电路进行仿真的示例系统100。示例系统100是实现为在一个或多个位置的一个或多个经典计算机上的经典计算机程序的系统的示例,其中,可以实现以下描述的系统、组件和技术。
系统100包括经典处理器102和后处理(post processing)模块108。系统100可以进一步包括量子计算硬件112或与量子计算硬件112数据通信。
量子计算硬件112的组件可以包括但不限于多个量子位、量子电路(包括量子逻辑门)、控制和测量设备。通常,包括在量子计算硬件112中的组件的类型可以依赖于包括在量子计算硬件112中的量子位的物理实现和由量子计算硬件112执行的计算的类型。
例如,在一些实施方式中,量子位可以是超导量子位,例如,例如,超导电荷量子位、超导通量量子位或超导相位量子位。在这些示例中,量子计算硬件112可以包括一个或多个量子电路,其将受控相位量子逻辑门(例如,受控Z量子逻辑门)实现为两个量子位的门以及其他的单个量子位和多个量子位的门。在一些实施方式中,包括在量子硬件112中的量子电路可以包括低深度量子电路,例如,其深度不大于用于在L乘L个量子位的二维晶格中实施的电路的L的近似线性。
替代地或另外地,量子计算硬件可以包括在量子位的二维晶格上操作的量子电路。在一些实施方式中,量子电路可以包括用于具有深度d的时钟周期的电路的量子逻辑门的下述集合:(1)包括受控相位(CZ)量子逻辑门的两个量子位的量子逻辑门,以及(2)包括来自集合{X1/2,Y1/2,T}的门的单个量子位的门,其中,X1/2表示绕布洛赫球(Bloch sphere)的X轴的旋转,Y1/2表示绕布洛赫球的Y轴的旋转,以及T表示非克利福德对角矩阵
经典处理器102可以接收指定要仿真的量子电路的输入数据,例如输入数据104。例如,经典处理器102可以接收指定量子硬件112中包括的量子电路的属性的输入数据。
经典处理器102可以生成表示已处理的输入数据104的输出数据,例如输出数据106。例如,生成的输出数据106可以包括表示在量子位的系统上应用由输入数据104指定的量子电路的最终时钟周期之后获得特定位串的概率的数据。
可以将生成的输出数据106提供给后处理模块108以用于处理或分析,例如作为量子仿真处理的一部分。例如,可以由后处理模块108处理或分析表示在量子位的系统上应用量子电路之后输出不同位串的概率的输出数据,以确定量子电路的属性(例如其性能),或者对量子电路进行校准、验证或基准测试。后处理模块108可以生成表示确定的量子电路的属性的数据作为输出,例如仿真数据110。
在一些实施方式中,后处理模块108可以进一步生成表示可以用于调整量子硬件(例如量子硬件112)的一个或多个调整114的数据作为输出。例如,后处理模块108可以使用生成的仿真数据110来确定对由接收的输入数据104指定的对量子电路的调整。例如,仿真数据110可以与交叉熵基准测试一起使用,以估计量子电路和量子逻辑门实施方式的实验保真度。然后,可以执行外循环以找到最佳的实验控制以改进保真度。
在一些实施方式中,经典处理器102可以包括具有增强的计算能力的处理器,例如工作站。例如,在系统100被配置为执行用于量子电路的仿真的方法的情况下,如以下参考图2描述地,系统100可以使用工作站有效地并且精确地实现该方法,而不需要超级计算机。在一些实施方式中,经典处理器102可以包括例如运行TensorFlow的张量处理单元和中央处理单元的集群。
对硬件进行编程
图2是用于对包括多个量子逻辑门的量子电路进行仿真的示例处理200的流程图。为了方便,处理200将被描述为由位于一个或多个位置的一个或多个经典计算设备的系统执行。例如,根据本说明书适当地编程的图1的系统100可以执行处理200。
例如,在一些实施方式中,量子电路可以包括一个或多个对角的一个量子位的量子逻辑门,其中,每个对角的一个量子位的门可以由下式给出
在这些实施方式中,系统可以将量子逻辑门表示为单变量函数,该单变量函数采用对量子逻辑门的矩阵表示的对角线上的元素进行索引的经典布尔变量作为输入,并且提供该元素的值作为输出。例如,系统可以将量子逻辑门表示为由下式给出的单变量函数:
作为另一示例,在一些实施方式中,量子电路可以包括一个或多个非对角(也称为二稀疏(two-sparse))的一个量子位的量子逻辑门,其中,每个非对角的一个量子位的门可以由下式给出:
在这些实施方式中,系统可以将量子逻辑门表示为二变量函数,该二变量函数采用对量子逻辑门的矩阵表示的元素进行索引的一对两个经典布尔变量作为输入并且提供该元素的对应的值作为输出。例如,系统可以将量子逻辑门表示为由下式给出的二变量函数:
作为另一示例,在一些实施方式中,量子电路可以包括一个或多个对角的两个量子位的量子逻辑门,其中,每个对角的两个量子位的量子逻辑门可以由下式给出:
在这些实施方式中,系统可以将量子逻辑门表示为二变量函数,该二变量函数采用对量子逻辑门的矩阵表示的元素进行索引的一对两个经典布尔变量作为输入并且提供该元素的值作为输出。例如,系统可以将量子逻辑门表示为由下式给出的二变量函数:
作为另一示例,在一些实施方式中,量子电路可以包括一个或多个非对角的两个量子位的量子逻辑门,其中,每个非对角的两个量子位的量子逻辑门可以由下式给出:
在这些实施方式中,系统可以将量子逻辑门表示为四变量函数,该四变量函数采用对量子逻辑门的矩阵表示的元素进行索引的四个经典布尔变量作为输入并且提供该元素的对应的值作为输出。例如,系统可以将量子逻辑门表示为由下式给出的四变量函数:
其中,通过引入两个新变量,索引j,j'标记量子逻辑门在其上作用的两个量子位,并且世界线索引k,k'沿着两个量子位的世界线增加一。四个输入经典布尔变量的每个组合定义了无向图形模型中的四个完全地连接的顶点。下面参考图3D给出非对角的两个量子位的量子逻辑门的示例量子电路表示和对应的图形模型表示。
在量子电路包括在三个或更多个量子位上操作的量子逻辑门的情况下,可以相应地扩展用于将量子门表示为经典布尔变量的函数的上述描述。
系统将从量子电路获得特定输出位串的概率表示为函数的第一乘积之和(步骤204)。概率可以由下式给出:
p(x)=|<x|U|0>|2=|φ(x)|2 (9)
函数的第一乘积之和ψ可以使用类似于费曼路径表示的技术来定义,并且可以由下式给出
其中,参考步骤202如上定义了函数ψ。
系统通过直接地评估函数的乘积之和来计算从量子电路获得特定输出位串的概率(步骤206)。系统使用在针对无向图形模型(也称为马尔可夫随机场)的精确推断的情境中开发的技术来直接地评估函数的乘积之和。例如,系统可以应用桶消除算法或变量消除算法。
通常,将在针对无向图形模型的精确推断的情境中开发的算法(诸如变量消除算法)应用于经典概率模型,即表示通过实数描述的系统的概率模型。然而,在本说明书中,扩展了这种算法的适用性。该算法被应用于取虚值的量子电路的图形模型,并且因此,不是经典意义上的概率。下面参考图5描述应用变量消除算法来直接地评估函数的乘积之和的示例处理。
在一些实施方式中,量子电路的图形模型可以直接地解释为虚温度处的伊辛模型,如以下参考图6描述地。在这些实施方式中,针对无向图形模型的精确推断的情境中开发的算法的适用性也被扩展为计算虚温度处的伊辛模型的配分函数。下面参考图7描述用于使用变量消除算法精确地计算虚温度处的经典伊辛模型的配分函数的示例处理。
在一些实施方式中,通过直接地评估函数的乘积之和来计算从量子电路获得特定输出位串的概率可以包括:在该和中,将每个世界线j中的第一经典布尔变量的值固定为零以及将量子位j的世界线中的最后一个经典布尔变量的值固定为位串中的值xj,以说明(account for)初始状态|0>和最终位串x。
系统可以使用计算的从量子电路获得特定输出位串的概率来确定量子电路的属性(步骤208)。例如,计算的概率可以用于确定量子电路的性能。作为另一示例,计算的概率可以用于对实现量子电路的量子计算硬件进行(i)校准、(ii)验证或(iii)基准测试。
上面描述的处理200可以用于计算算符O的期望值为了计算期望值,系统可以遵循以上步骤将算符的期望值表示为函数的第二乘积之和,并且通过直接地评估函数的乘积之和来计算定义的算符的期望值。对于局域算符,可以通过以门Uα的形式写电路酉矩阵U并且在可能的情况下消除项来简化算符的期望值。
图3A是对角的一个量子位的量子逻辑门302和对应的图形模型表示304的图300。如以上参考步骤202和图2的等式(1)所描述地,对角的一个量子位的量子逻辑门302映射到包括对角的一个量子位的量子逻辑门302的量子电路的图形表示中的单个顶点304。
图3B是示例的非对角的一个量子位的量子逻辑门312和对应的图形模型表示314a,314b的图310。如以上参考步骤202和图2的等式(3)所描述地,非对角的一个量子位的量子逻辑门312映射到包括非对角的一个量子位的量子逻辑门312的量子电路的图形表示中的两个连接的顶点314a,314b。
图3C是示例的对角的两个量子位的量子逻辑门322和对应的图形模型表示324a,324b的图320。如以上参考步骤202和图2的等式(5)所描述地,对角的两个量子位的量子逻辑门322映射到包括非对角的一个量子位的量子逻辑门322的量子电路的图形表示中的两个连接的顶点324a,324b之间的链路。
图3D是示例的非对角的两个量子位的量子逻辑门332和对应的图形模型表示334a,334b的图330。如以上参考步骤202和图2的等式(7)所描述地,非对角的两个量子位的量子逻辑门322映射到包括非对角的一个量子位的量子逻辑门332的量子电路的图形表示中的四个完全地连接的顶点334a,334b,334c,334d。
图4是示例的量子电路400和量子电路400的对应的无向图形模型表示450的图。示例的量子电路400被配置为在两个量子位402a和402b的寄存器上操作。示例的量子电路400包括在第一量子位402a上操作的第一阿达玛(Hadamard)门(非对角的单个量子位门)404a,在第二量子位402b上操作的第二阿达玛404b,在量子位402a和402b两者上操作的受控Z门(对角的两个量子位的门)406,在第一量子位402a上操作的第三阿达玛门408a,和在第二量子位402b上操作的第四阿达玛门408b以及两个测量门410a,410b。
量子电路400的对应的无向图形模型表示450包括六个顶点452a,452b,452c,452d,452e,452f。顶点452a和452b对应于阿达玛门404a。顶点452d和452e对应于阿达玛门404b。顶点452b和452e对应于受控Z门406。顶点452b和452c对应于阿达玛门408a。顶点452e和452f对应于阿达玛门408b。
图5是应用变量消除算法以直接地评估表示多个量子逻辑门的一个或多个经典布尔变量的函数的乘积之和的示例处理500的流程图。为了方便,处理500将被描述为由位于一个或多个位置的一个或多个经典计算设备的系统执行。例如,根据本说明书适当地编程的图1的系统100可以执行处理500。
系统近似以上参考图2描述的定义的无向图形模型的树宽(步骤502)。定义的无向图形模型的树宽被定义为在图的所有可能消除顺序上的图形模型(图)的最小诱导宽度(induced width)。消除顺序是顶点的排序,并且当消除顶点X时,在连接到X的所有顶点之间添加边。消除顺序的诱导宽度是遵循消除顺序形成的所有图上最大团的大小。团是顶点的集合,在该集合中,所有的顶点对通过一链路连接。可以使用多种可能的启发式算法(诸如QuickBB)之一来确定树宽。
系统基于近似的树宽确定用于变量消除算法的消除顺序(步骤504)。用于变量消除算法的消除顺序与以上参考步骤502描述的消除顶点的顺序相同。
在一些实施方式中,替代的技术可以用于如上面参考步骤502和504描述地确定用于变量消除算法的消除顺序。例如,对于具有低深度和低维度的电路,系统可以确定垂直变量消除排序。为了确定垂直变量消除排序,系统可以一次处理量子电路在其上操作的多个量子位之一,在移至相邻量子位之前顺序地消除一个世界线中的所有变量。例如,对于具有被限制为最近邻居的两个量子位的门的量子位的二维晶格中的量子电路,电路输出幅度到无向图形模型的映射导致在与布尔经典变量对应的顶点上定义的图,其中,索引j列举量子位并且上标k列举在时间方向上沿着量子位j的所谓世界线的新变量。假定对量子位索引j进行排序,使得顺序值对应于基础的(underlying)二维晶格中的相邻量子位。首先沿着世界线方向处理量子位(称为变量消除的垂直排序)对应于按照对(j,k)的字典顺序消除变量。即,系统可以在移动到与量子位j+1对应的变量之前,顺序沿着k索引消除与量子位j对应的所有变量
系统通过以确定的消除顺序执行变量消除算法来评估函数的乘积之和(步骤506)。
例如,为了计算上面参考图4描述的量子电路400的输入|00>和输出|00>的输出幅度,首先,系统分别地将量子逻辑门404a,404b,406、408a和408b表示为经典布尔变量和然后,系统将量子电路映射到对应的图形表示450,如上面参考图4描述地。在图4中标记为452a,452b,452c,452d,452e和452f的顶点分别地对应于布尔变量和因为输入和输出被指定为|00>,所以系统可以消除变量即,集合 因此,图形模型可以简化为与变量和对应的两个连接的顶点。该简化的图的树宽为2,因为其为具有两个顶点的团(注意,这是与首先消除变量时的原始图形表示相同的树宽)。然后,系统以任何顺序消除变量和
更明确地,幅度<00|C|00>(其中C表示图4的量子电路400)由下式给出:
其中,函数ψH对应于阿达玛门并且由下表给出:
函数ψCZ对应于受控Z门并且由下表给出:
0 0 | 1 |
0 1 | 1 |
1 0 | 1 |
1 1 | -1 |
0 | 1/2 |
1 | 0 |
图6是用于量子电路的配分函数仿真的示例处理600的流程图。为了方便,处理600将被描述为由位于一个或多个位置的一个或多个经典计算设备的系统执行。例如,根据本说明书适当地编程的图1的系统100可以执行处理600。
系统将量子电路表示为对应于时钟周期t∈{1,…,d}的序列的酉矩阵U(t)的乘积(步骤602)。如以上参考图1描述地,在一些实施方式中,量子电路可以是被配置在布置为二维晶格的量子位系统(例如,具有最近邻居连接性)上操作的电路。在一些实施方式中,量子电路可以包括(i)作为两个量子位的门的受控相位(CZ)量子逻辑门,和(ii)作为单个量子位的门的X1/2,Y1/2和非克利福德T量子逻辑门,其中,X1/2表示绕布洛赫球的X轴的旋转,Y1 /2表示绕布洛赫球的Y轴的旋转,以及T表示对角矩阵
系统将在量子位的系统上应用量子电路的最终时钟周期之后输出预定义的位串的概率表示为虚温度处的经典伊辛模型的配分函数(步骤604)。
在量子位的系统上应用量子电路的最终时钟周期之后输出预定义的位串的概率依赖于酉矩阵U(t)的乘积并且可以由下式给出:
其中,|x>表示预定义的位串,|ψd>表示在应用了量子电路的最终时钟周期d之后的n个量子位的系统的状态,U(t)表示与时钟周期1到d的序列对应的酉矩阵的乘积,以及其具有分别地对应于第j量子位的状态0和1的分配
为了将在应用量子电路的最终时钟周期之后输出预定义的位串的概率表示为虚温度处的经典伊辛模型的配分函数,系统可以将概率(例如,以上等式(1)的右手侧)表达为费曼路径积分,其中,个别路径{σ-1,σ0,…,σd}由n个量子位系统的计算基础状态的序列形成。对于所有量子位,每个路径的初始条件可以对应于而最终点对应于|σd>=|x>。
如果在周期t将T量子逻辑门应用到量子位j,则矩阵<σt|U(t)|σt-1>的索引可以彼此相等,即,类似的属性也可以应用于CZ量子逻辑门。量子位的状态只可能在量子逻辑门H,X1/2,Y1/2的动作下翻转。这些量子逻辑门可以称为二稀疏门,因为它们在每行和每列包含两个非零元素(不同于T和CZ量子逻辑门)。该观察结果允许重写以上等式(1)中的路径积分表示。
通过量子电路,每个量子位j可以具有应用到其的二稀疏门的序列。该序列的长度可以表示为d(j)+1(这包括由应用到每个量子位的阿达玛门的层形成的第0周期)。在给定的路径中,量子位j经受自旋状态序列其中,序列中的值可以在第k二稀疏门的动作之后立即地确定量子位的状态。序列中的最后一个元素可以通过位串x中的位分配来固定,
因此,路径积分中的个别路径可以通过个二进制变量的集合来编码,其中,j∈[1,…,n]并且k∈[0,…,d(j)-1]。二稀疏门的显式形式示出与不同路径相关联的概率幅度的绝对值都相同并且等于2-G/2。因此,系统可以将以上由等式(1)给出的概率表示为由下式给出的虚温度处的经典伊辛模型的配分函数:
例如,为了确定作为与X1/2和Y1/2门相关联的离散相位改变之和而累积的相位因子的值,系统可以针对应用到量子位j的第k二稀疏门定义系数其中,如果量子逻辑门是X1/2则并且如果量子逻辑门是Y1/2则然后,系统可以经由下式确定从X1/2和Y1/2门的应用而累积的总的相位改变:
为了确定作为与T和CZ量子逻辑门相关联的离散相位改变之和而累积的相位因子的值,系统可以引入等于在前t周期(包括阿达玛门的第0周期)应用到量子位j的二稀疏门的数量的系数d(j,t)。系统可以进一步引入系数使得如果在周期t将T门应用到量子位j,则否则 然后,系统可以经由下式确定从T门的应用而累积的总的相位改变:
将以上的等式(13)与以上的等式(14)-(16)进行比较示出了:在等式(13)中定义的概率<x|ψd>采取经典伊辛模型的配分函数的形式,具有用于状态s的能量Hs和为的纯虚数逆温度(inverse temperature)。个别路径{σ-1,σ0,…,σd}中的每一个的总相位取等于的8个不同值(mod2π)。
系统计算虚温度处的经典伊辛模型的配分函数,以确定在量子位的系统上应用量子电路的最终时钟周期之后输出预定义的位串的概率(步骤606)。
系统通过应用通常被用于对图形模型执行精确推断以精确地计算配分函数的一个或多个算法,来精确地计算虚温度处的经典伊辛模型的配分函数。示例算法包括但不限于桶消除算法,和积算法或变量消除算法。如以上参考图5描述地,通常,在针对无向图形模型的精确推断的情境中开发的算法(诸如变量消除算法)被应用于经典概率模型,即表示通过实数描述的系统的概率模型。然而,在本说明书中,扩展了这种算法的适用性。下面参考图7描述用于使用变量消除算法精确地计算虚温度处的经典伊辛模型的配分函数的示例处理。
在量子位的系统上应用量子电路的最终时钟周期之后输出预定义的位串的概率被用于对量子电路进行仿真(步骤608)。例如,确定的概率可以被用于确定量子电路的性能,或者被用于对实现量子电路的量子计算硬件进行校准,验证或基准测试。在一些实施方式中,系统可以使用确定的概率和/或对量子电路进行仿真的结果来确定可以改进量子电路(例如,改进量子电路的精确性)的调整。
图7是用于使用变量消除算法精确地计算虚温度处的经典伊辛模型的配分函数的示例处理700的流程图。为了方便,处理700将被描述为由位于一个或多个位置的一个或多个经典计算设备的系统执行。例如,根据本说明书适当地编程的图1的系统100可以执行处理700。
系统将经典伊辛模型表示为图形模型(步骤702)。图形模型(也称为相互作用模型)是节点和边的图。图形模型中的节点表示经典伊辛模型中的自旋。节点之间的边表示经典伊辛模型中的自旋之间的耦合。为了将经典伊辛模型表示为图形模型,系统确定经典伊辛模型中的自旋之间的耦合系数的值。
为了确定自旋之间的耦合系数的值,系统将以上等式(13)中给出的经典伊辛模型的能量HS(x)表示为三种不同类型项之和:
第三项H(2)依赖于自旋变量x而不是s,即,H(2)=H(2)(x)。
以上等式(17)–(24)使得系统能够定义图形模型的结构。系统通过引入描述等式(21)中给出的伊辛耦合的图的第三维度,进一步描述了量子电路中的量子逻辑门的作用下量子位态的演进。对于每个量子位j,引入具有通过t∈[1…d]列举的点的网格的世界线,其中,每个点对应于层。因此,与系数对应的图形模型表示由与位于2D晶格上的量子位对应的世界线形成的准三维结构。根据等式(21),在同一世界线中,仅相邻顶点耦合。依赖于二稀疏门的类型,耦合强度为+/-通常,每个顶点可以“横向地”耦合到位于相邻世界线上的其他顶点。
系统近似图形模型的树宽(步骤704)。图形模型的树宽被定义为在图的所有可能的消除顺序上图形模型(图)的最小诱导宽度。消除顺序是顶点的排序,并且当消除顶点X时,在连接到X的所有顶点之间添加边。消除顺序的诱导宽度是遵循消除顺序形成的所有图上的最大团的大小。团是顶点的集合,在该集合中,所有的顶点对通过一链路连接。可以使用多种可能的启发式算法(诸如QuickBB)之一来确定树宽。在一些实施方式中,系统可以将近似的树宽存储在高速缓存中。在这些实施方式中,近似图形模型的树宽可以包括确定图形模型与先前生成的图形模型匹配,并且查询高速缓存以检索图形模型的先前计算的树宽。
系统使用确定的树宽来确定变量消除算法的排序(步骤706)。变量消除算法的消除顺序与上面参考步骤704描述的消除顶点的顺序相同。
系统通过执行变量消除算法精确地计算虚温度处的经典伊辛模型的配分函数(步骤708)。执行变量消除算法可以如以上参考图5的步骤506描述地进行,其中,函数ψ由伊辛项的指数给出。
图8是作为电路深度的函数的、与具有6×6、7×6和7×7量子位的量子电路对应的伊辛模型的相互作用图的树宽的示例数值上限的曲线图800。
以上参考图1描述的电路(即具有6×6、7×6和7×7量子位的量子电路)中包括的用于生成作为电路深度的函数的曲线图800的量子电路——其(1)以阿达玛门的周期(第0时钟周期)开始并且(2)重复d个时钟周期——进行:a)放置八种配置之间交替的受控相(CZ)门和(b)在同一周期未被CZ门占据的所有量子位上放置从集合{X1/2,Y1/2,T}随机选择的单个量子位的门(经受以下限制)。门X1/2(或Y1/2)表示绕布洛赫球的X(或Y)轴的旋转,以及T表示非克利福德对角矩阵
另外,放置单个量子位的门经受以下规则:(1)仅在CZ门在先前的周期中占据了量子位q时才在该量子位处放置门;(2)如果除了阿达玛门的初始周期之外、在先前的周期中在量子位q上不存在单个量子位的门,则在量子位q处放置T门;(3)在量子位q处的任何门应当与先前的周期中在量子位q处的门不同。
曲线图800包括表示电路深度的水平轴802和表示树宽上限的垂直轴804。曲线图800示出了用于具有7×6量子位和深度40的量子电路的树宽不大于37。这意味着这些电路可以在工作站中以与2^37成比例的内存成本进行仿真,而基于将矩阵乘法应用于状态向量的仿真将具有与2^(6x7)=2^42成比例的内存成本并且需要超级计算机。
图9是使用垂直消除排序、对于具有6×6、7×6和7×7量子位的量子电路的作为电路深度的函数的最大张量秩的大小的曲线图900。
曲线图900包括表示电路深度的水平轴902和表示使用垂直消除排序的最大张量秩的垂直轴804。曲线图900在相同电路大小的实例之间展现出小的变化,示出了电路大小7×6的实例在此排序中具有比大小7x7的实例更大的张量大小。
本说明书中描述的数字和/或量子主题以及数字功能操作和量子操作的实施方式可以实现为数字电子电路、合适的量子电路,或更一般地,量子计算系统、有形体现的数字和/或量子计算机软件或固件、数字和/或量子计算机,包括在本说明书中公开的结构及其结构等同物或者其中的一个或多个的组合。术语“量子计算系统”可以包括但不限于量子计算机、量子信息处理系统、量子密码系统或量子仿真器。
本说明书中描述的数字和/或量子主题的实施方式可以实现为一个或多个数字和/或量子计算机程序,即,在有形非暂时性存储介质上编码的数字和/或量子计算机程序指令中的一个或多个模块,以供由数据处理装置执行或控制数据处理装置的操作。数字和/或量子计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行访问存储设备、一个或多个量子位或者其中的一个或多个的组合。替代地或附加地,可以将程序指令编码在人工生成的传播信号(例如机器生成的电、光或电磁信号)上,其能够对被生成来编码数字和/或量子信息以传输到合适的接收器装置而供数据处理装置执行的数字和/或量子信息进行编码。
术语量子信息和量子数据指代由量子系统承载、保持或存储的信息或数据,其中,最小的非平凡系统是量子位,即,定义量子信息的单位的系统。理解的是,术语“量子位”涵盖在对应的情境中可以适当地近似为两级系统的所有量子系统。这样的量子系统可以包括例如具有两个或更多个级的多级系统。举例来说,这样的系统可以包括原子、电子、光子、离子或超导量子位。在许多实施方式中,计算基础状态被标识为基态和第一激发态,然而理解的是,其中计算状态被标识为更高级激发态的其他设置是可能的。
术语“数据处理装置”指代数字和/或量子数据处理硬件,并且涵盖用于处理数字和/或量子数据的各种装置、设备和机器,例如包括可编程数字处理器、可编程量子处理器、数字计算机、量子计算机、多个数字和量子处理器或计算机及其组合。装置还可以是或进一步包括专用逻辑电路,例如FPGA(现场可编程门阵列)、ASIC(专用集成电路)或量子仿真器,即被设计为仿真或产生关于特定量子系统的信息的量子数据处理装置。具体地,量子仿真器是专用的量子计算机,其不具有执行通用量子计算的能力。除了硬件之外,装置还可以可选地包括为数字和/或量子计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或其中的一个或多个的组合的代码。
数字计算机程序——也可以称为或描述为程序、软件、软件应用、模块、软件模块、脚本或代码——可以用任何形式的编程语言编写,包括编译或解释语言或者声明或过程语言;并且可以以任何形式部署,包括作为独立程序或作为适合在数字计算环境中使用的模块、组件、子例程或其他单元。量子计算机程序——也可以称为或描述为程序、软件、软件应用、模块、软件模块、脚本或代码——可以用任何形式的编程语言编写,包括编译或解释语言,或者声明或过程语言;并且转译成合适的量子编程语言,或者可以用量子编程语言(例如QCL或Quipper)编写。
数字和/或量子计算机程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中(例如存储在标记语言文档中的一个或多个脚本)、专用于所讨论程序的单个文件中或多个协调文件中(例如,存储一个或多个模块、子程序或部分代码的文件)。可以将数字和/或量子计算机程序部署为在一个数字或量子计算机上,或者在位于一个站点处或分布在多个站点处并且通过数字和/或量子数据通信网络互连的多个数字和/或量子计算机上执行。量子数据通信网络被理解为可以使用量子系统(例如,量子位)来传输量子数据的网络。通常,数字数据通信网络不能传输量子数据,然而量子数据通信网络可以传输量子数据和数字数据两者。
本说明书中描述的处理和逻辑流可以由一个或多个可编程数字和/或量子计算机执行,与一个或多个数字和/或量子处理器一起操作,在适当时,运行一个或多个数字和/或量子计算机程序以通过对输入的数字和量子数据进行操作并且生成输出来执行功能。处理和逻辑流也可以由专用逻辑电路(例如,FPGA或ASIC)、或量子仿真器、或者专用逻辑电路或量子仿真器与一个或多个编程的数字和/或量子计算机的组合执行,并且装置也可以实现为专用逻辑电路(例如,FPGA或ASIC)、或量子仿真器、或者专用逻辑电路或量子仿真器与一个或多个编程的数字和/或量子计算机的组合。
对于将“被配置为”执行特定操作或动作的一个或多个数字和/或量子计算机的系统意味着系统已在其上安装了软件、固件、硬件或其组合,该软件、固件、硬件或其组合在操作中使得系统执行操作或动作。对于将被配置为执行特定操作或动作的一个或多个数字和/或量子计算机程序意味着该一个或多个程序包括指令,该指令当由数字和/或量子数据处理装置执行时使得装置执行操作或动作。量子计算机可以从数字计算机接收指令,该指令当由量子计算装置执行时使得装置执行操作或动作。
适合于执行数字和/或量子计算机程序的数字和/或量子计算机可以基于通用或专用数字和/或量子处理器或两者,或任何其他种类的中央数字和/或量子处理单元。通常,中央数字和/或量子处理单元将从只读存储器、随机存取存储器或适合于传输量子数据(例如,光子)的量子系统或其组合接收指令以及数字和/或量子数据。
数字和/或量子计算机的必要元件是用于执行或运行指令的中央处理单元,以及用于存储指令和数字和/或量子数据的一个或多个存储设备。中央处理单元和存储器可以由专用逻辑电路或量子仿真器补充或并入其中。通常,数字和/或量子计算机还将包括用于存储数字和/或量子数据的一个或多个大容量存储设备(例如,磁盘、磁光盘、光盘或适合于存储量子信息的或量子系统),或可操作地耦合以从用于存储数字和/或量子数据的一个或多个大容量存储设备(例如,磁盘、磁光盘、光盘或适合于存储量子信息的或量子系统)接收数字和/或量子数据或者向其发送数字和/或量子数据或者两者。然而,数字和/或量子计算机不需要具有这样的设备。
适合于存储数字和/或量子计算机程序指令和数字和/或量子数据的数字和/或量子计算机可读介质包括所有形式的非易失性数字和/或量子存储器、介质和存储设备,例如包括:半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动盘;磁光盘;CD-ROM和DVD-ROM磁盘;以及量子系统,例如被俘获的原子或电子。理解的是,量子存储器是可以以高保真度和效率、长时间存储量子数据的设备,例如光-物质界面,其中光用于传输并且物质用于存储和保存量子数据的量子特征,诸如叠加或量子相干性。
对本说明书中描述的各种系统或其部分的控制可以实现在数字和/或量子计算机程序产品中,其包括存储在一个或多个非暂时性机器可读存储介质上的并且在一个或多个数字和/或量子处理设备上可执行的指令。本说明书中描述的系统或其部分可以各自实现为装置、方法或系统,其可以包括一个或多个数字和/或量子处理设备以及用于存储可执行指令以执行本说明书中描述的操作的存储器。
尽管本说明书包含许多特定的实施方式细节,但是这些细节不应解释为对所要求保护的范围的限制,而应解释为对特定实施方式可能特有的特征的描述。在本说明书中在单独的实施方式的上下文中描述的某些特征也可以在单个实施方式中组合地实现。相反,在单个实施方式的上下文中描述的各种特征也可以在多个实施方式中单独地或以任何合适的子组合来实现。此外,尽管以上可以将特征描述为以某些组合起作用并且甚至最初地如此要求保护,但是在某些情况下,可以从组合中切除所要求保护的组合中的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变体。
类似地,虽然在附图中以特定的顺序描述了操作,但是这不应被解释为:为了实现期望的结果,要求按照所示出的特定顺序或依次序执行这样的操作或要求执行所有所示出的操作。在某些情况下,多任务处理和并行处理可能是有利的。此外,以上描述的实施方式中的各种模块和组件的分离不应被理解为要求在所有实施方式中的这种分离,并且应当理解,描述的程序组件和系统一般地可以一起集成在单个软件产品中或封装在多个软件产品中。
已经描述了主题的特定实施方式。其他实施方式在所附的权利要求的范围内。例如,可以以不同的顺序执行权利要求书中所叙述的动作,并且仍然可以实现期望的结果。作为一个示例,对于实现期望的结果,在附图中描绘的处理不必要求所示的特定顺序或依次序进行。在某些情况下,多任务处理和并行处理可能是有利的。
Claims (35)
1.一种用于对量子电路进行仿真的计算机实现的方法,所述方法包括:
接收表示量子电路的数据,其中,所述量子电路包括多个量子逻辑门;
使用接收的数据生成量子电路的仿真,包括:
将由接收的数据指定的多个量子逻辑门表示为一个或多个经典布尔变量的函数,其中,所述一个或多个经典布尔变量的函数定义无向图形模型,每个经典布尔变量表示无向图形模型中的顶点并且相应经典布尔变量的每个函数表示与相应经典布尔变量对应的顶点之间的团;
将从量子电路获得特定输出位串的概率表示为函数的第一乘积之和;以及
通过直接地评估所述函数的乘积之和来计算从量子电路获得特定输出位串的概率;以及
使用生成的仿真确定量子电路的一个或多个属性。
2.根据权利要求1所述的方法,其中,直接地评估所述函数的乘积之和包括应用用于对无向图形模型执行精确推断的技术。
3.根据权利要求2所述的方法,其中,应用用于对无向图形模型执行精确推断的技术包括应用变量消除算法。
4.根据权利要求3所述的方法,其中,应用变量消除算法包括:
近似定义的无向图形模型的树宽;
基于近似的树宽来确定用于变量消除算法的消除顺序;以及
通过以确定的消除顺序执行变量消除算法来评估所述函数的乘积之和。
5.根据权利要求3所述的方法,其中,应用变量消除算法包括:确定用于变量消除算法的垂直消除顺序;以及使用确定的顺序执行变量消除算法。
6.根据前述权利要求中任何一项所述的方法,其中,经典布尔变量列举(i)量子电路在其上操作的量子位的系统中的每个量子位,并且对于每个量子位列举(ii)沿着量子位的世界线的新变量。
7.根据权利要求6所述的方法,其中,通过直接地评估所述函数的乘积之和来计算从量子电路获得特定输出位串的概率,包括:
将每个世界线中的第一个经典布尔变量的值固定为零;以及
将量子位j的世界线中的最后一个经典布尔变量的值固定为位串中的与位置j对应的值。
8.根据前述权利要求中的任何一项所述的方法,其中,将多个量子逻辑门表示为一个或多个经典布尔变量的函数,包括,针对每个对角的一个量子位的量子逻辑门:
将量子逻辑门表示为单变量函数,所述单变量函数采用对量子逻辑门的矩阵表示的对角线上的元素进行索引的经典布尔变量作为输入并且提供所述元素的值作为输出。
9.根据权利要求8所述的方法,其中,所述单变量函数的每个输入经典布尔变量被映射到无向图形模型中的与该变量对应的顶点。
10.根据权利要求1-7中任何一项所述的方法,其中,将多个量子逻辑门表示为一个或多个经典布尔变量的函数,包括,针对每个非对角的一个量子位的量子逻辑门:
将量子逻辑门表示为二变量函数,所述二变量函数采用对量子逻辑门的矩阵表示的元素进行索引的一对两个经典布尔变量作为输入并且提供所述元素的对应的值作为输出。
11.根据权利要求10所述的方法,其中,一对输入的经典布尔变量的每个函数被映射到无向图形模型中的连接与这些变量对应的两个顶点的边。
12.根据权利要求1-7中任何一项所述的方法,其中,将多个量子逻辑门表示为一个或多个经典布尔变量的函数,包括,针对每个对角的两个量子位的量子逻辑门:
将量子逻辑门表示为二变量函数,所述二变量函数采用对量子逻辑门的矩阵表示的对角线上的元素进行索引的一对两个经典布尔变量作为输入并且提供所述元素的值作为输出。
13.根据权利要求12所述的方法,其中,一对输入的经典布尔变量的每个函数被映射到无向图形模型中的连接与这些变量对应的两个顶点的边。
14.根据权利要求1-7中任何一项所述的方法,其中,将多个量子逻辑门表示为一个或多个经典布尔变量的函数,包括,针对每个非对角的两个量子位的量子逻辑门:
将量子逻辑门表示为四变量函数,所述四变量函数采用对量子逻辑门的矩阵表示的元素进行索引的四个经典布尔变量作为输入并且提供所述元素的对应的值作为输出。
15.根据权利要求14所述的方法,其中,四个输入的经典布尔变量的每个函数被映射到无向图形模型中的连接与这些变量对应的四个完全地连接的顶点的链路。
16.根据前述权利要求中的任何一项所述的方法,其中,所述量子电路的一个或多个属性包括量子电路的性能。
17.根据前述权利要求中的任何一项所述的方法,还包括使用确定的一个或多个属性来对实现量子电路的量子计算硬件进行(i)校准、(ii)验证或(iii)基准测试。
18.根据前述权利要求中的任何一项所述的方法,还包括:
将算符的期望值表示为所述函数的第二乘积之和;以及
通过直接地评估所述函数的乘积之和来计算定义的算符的期望值。
19.一种包括一个或多个计算机以及存储可操作的指令的一个或多个存储设备的系统,所述指令当由所述一个或多个计算机执行时,使得所述一个或多个计算机执行根据权利要求1-18中的任何一项所述的方法。
20.一种编码有指令的非暂时性计算机存储介质,所述指令当由所述一个或多个计算机执行时,使得所述一个或多个计算机执行包括根据权利要求1-18中的任何一项所述的方法的操作。
21.一种用于对量子电路进行仿真的计算机实现的方法,所述方法包括:
接收表示量子电路的数据;
使用接收的数据生成量子电路的仿真,包括:
将量子电路表示为与时钟周期序列对应的酉矩阵的乘积;
将在量子位的系统上应用量子电路的最终时钟周期之后输出预定义的位串的概率表示为虚温度处的经典伊辛模型的配分函数,所述概率依赖于所述酉矩阵的乘积;以及
精确地计算所述配分函数,以确定在量子位的系统上应用量子电路的最终时钟周期之后输出预定义的位串的概率包括应用对图形模型执行精确推断的算法;以及
使用生成的仿真确定量子电路的一个或多个属性。
22.根据权利要求21所述的方法,其中,精确地计算所述配分函数包括:
将经典伊辛模型表示为图形模型,所述图形模型包括表示经典伊辛模型中的自旋的节点和表示自旋之间的相互作用的边;
确定图形模型的树宽;以及
使用确定的树宽应用被开发用于对图形模型执行精确推断的算法,以计算经典伊辛模型的配分函数。
23.根据权利要求21或权利要求22所述的方法,其中,被开发用于对图形模型执行精确推断的所述算法包括桶消除算法或变量消除算法。
24.根据权利要求21-23中的任何一项所述的方法,其中,所述算法的计算成本与经典伊辛模型的图形模型表示的树宽成指数关系。
25.根据权利要求21-24中的任何一项所述的方法,其中,将在应用量子电路的最终时钟周期之后输出预定义的位串的概率表示为虚温度处的经典伊辛模型的配分函数包括:
将所述概率表达为路径积分,所述路径积分包括与路径积分中的路径相关联的多个相位因子;以及
确定作为与量子电路中的量子逻辑门相关联的离散相位改变之和而累积的相位因子的值。
26.根据权利要求21-25中的任何一项所述的方法,其中,所述量子电路被配置为对布置为二维晶格的量子位进行操作。
27.根据权利要求21-26中的任何一项所述的方法,其中,所述量子电路包括(i)受控相位、(ii)X1/2、(iii)Y1/2和(iv)非克利福德T量子逻辑门。
28.根据权利要求21-27中的任何一项所述的方法,其中,所述量子电路包括d个时钟周期的深度。
32.根据权利要求21-30中的任何一项所述的方法,其中,使用生成的仿真确定量子电路的一个或多个属性包括使用计算的配分函数确定量子电路的性能。
33.根据权利要求21-30中的任何一项所述的方法,其中,使用生成的仿真确定量子电路的一个或多个属性包括使用计算的配分函数来对实现量子电路的量子计算硬件进行(i)校准、(ii)验证或(iii)基准测试。
34.一种包括一个或多个计算机以及存储可操作的指令的一个或多个存储设备的系统,所述指令当由所述一个或多个计算机执行时,使得所述一个或多个计算机执行根据权利要求21-33中的任何一项所述的方法。
35.一种编码有指令的非暂时性计算机存储介质,所述指令当由所述一个或多个计算机执行时,使得所述一个或多个计算机执行包括根据权利要求21-33中的任何一项所述的方法的操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762574050P | 2017-10-18 | 2017-10-18 | |
US62/574,050 | 2017-10-18 | ||
PCT/US2017/067083 WO2019078907A1 (en) | 2017-10-18 | 2017-12-18 | SIMULATION OF QUANTUM CIRCUITS |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111247538A true CN111247538A (zh) | 2020-06-05 |
Family
ID=60957461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780096102.XA Pending CN111247538A (zh) | 2017-10-18 | 2017-12-18 | 量子电路的仿真 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11556686B2 (zh) |
EP (2) | EP3682383B1 (zh) |
CN (1) | CN111247538A (zh) |
CA (2) | CA3133427A1 (zh) |
WO (1) | WO2019078907A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112488317A (zh) * | 2020-11-27 | 2021-03-12 | 北京百度网讯科技有限公司 | 量子控制中的仿真方法、装置、经典计算机及存储介质 |
CN113807525A (zh) * | 2021-09-22 | 2021-12-17 | 北京百度网讯科技有限公司 | 量子电路操作方法及装置、电子设备和介质 |
CN114418105A (zh) * | 2020-10-28 | 2022-04-29 | 合肥本源量子计算科技有限责任公司 | 一种基于量子线路处理量子应用问题的方法及装置 |
CN116341667A (zh) * | 2023-04-03 | 2023-06-27 | 正则量子(北京)技术有限公司 | 一种量子线路搭建方法及设备 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110428055A (zh) * | 2018-04-27 | 2019-11-08 | 阿里巴巴集团控股有限公司 | 量子计算方法和设备 |
CN112313678B (zh) * | 2018-09-04 | 2023-12-05 | Ansys 公司 | 模拟和分析量子电路的系统和方法 |
US11245584B2 (en) * | 2018-10-15 | 2022-02-08 | Red Hat, Inc. | Software defined network optimization using quantum computing |
US10901896B2 (en) * | 2018-11-27 | 2021-01-26 | International Business Machines Corporation | Cached result use through quantum gate rewrite |
US11586792B2 (en) * | 2018-12-06 | 2023-02-21 | International Business Machines Corporation | Scheduling fusion for quantum computing simulation |
US10803215B2 (en) * | 2018-12-18 | 2020-10-13 | International Business Machines Corporation | Incremental generation of quantum circuits |
FR3091388B1 (fr) * | 2018-12-26 | 2022-06-10 | Bull Sas | Procédé de compilation d’un circuit quantique sur un processeur quantique à ions piégés |
WO2020223850A1 (en) * | 2019-05-05 | 2020-11-12 | Supreme Qi Pte Ltd | System and method for quantum circuit simulation |
CN111915011B (zh) * | 2019-05-07 | 2023-11-03 | 本源量子计算科技(合肥)股份有限公司 | 一种单振幅量子计算模拟方法 |
CN113128015B (zh) * | 2019-12-31 | 2023-04-07 | 合肥本源量子计算科技有限责任公司 | 预估单振幅模拟量子计算所需资源的方法和系统 |
US11556832B2 (en) | 2020-05-12 | 2023-01-17 | International Business Machines Corporation | Randomized benchmarking by exploiting the structure of the Clifford group |
CN113850389B (zh) * | 2020-06-28 | 2023-08-11 | 本源量子计算科技(合肥)股份有限公司 | 一种量子线路的构建方法及装置 |
CN112073221B (zh) * | 2020-08-14 | 2022-08-16 | 合肥本源量子计算科技有限责任公司 | 一种实现网络节点排序的方法及装置 |
CN114511093B (zh) * | 2020-11-16 | 2023-06-09 | 中国人民解放军国防科技大学 | 玻色子系统模拟方法 |
CN112633507B (zh) * | 2020-11-27 | 2024-05-07 | 本源量子计算科技(合肥)股份有限公司 | 一种将复向量编码到量子线路的方法及装置 |
CN113379058B (zh) * | 2021-06-08 | 2022-04-01 | 北京百度网讯科技有限公司 | 量子模拟方法及装置、电子设备及存储介质 |
US11294797B1 (en) * | 2021-06-22 | 2022-04-05 | Classiq Technologies LTD. | Debugger for quantum computers |
JP2023027611A (ja) * | 2021-08-17 | 2023-03-02 | 株式会社日立製作所 | 量子コンピュータシステムおよび量子コンピュータシステムの運用方法 |
CN115730669A (zh) * | 2021-08-30 | 2023-03-03 | 合肥本源量子计算科技有限责任公司 | 一种量子线路的处理方法、装置及量子计算机操作系统 |
CN114418107B (zh) * | 2022-01-17 | 2022-10-18 | 北京百度网讯科技有限公司 | 酉算子编译方法、计算设备、装置及存储介质 |
CN115376238B (zh) * | 2022-08-17 | 2024-05-07 | 国开启科量子技术(北京)有限公司 | 一种基于量子选票的分组式计票方法及装置 |
CN117852659A (zh) * | 2022-09-30 | 2024-04-09 | 本源量子计算科技(合肥)股份有限公司 | 量子线路生成方法、装置、存储介质及电子装置 |
CN115907025B (zh) * | 2022-12-06 | 2023-08-22 | 北京百度网讯科技有限公司 | 量子网络协议仿真方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104011723A (zh) * | 2011-12-15 | 2014-08-27 | 美光科技公司 | 状态机晶格中的布尔逻辑 |
CN105531725A (zh) * | 2013-06-28 | 2016-04-27 | D-波系统公司 | 用于对数据进行量子处理的系统和方法 |
CN105637514A (zh) * | 2013-10-14 | 2016-06-01 | 微软技术许可有限责任公司 | 将单量子位量子门高效分解成斐波那契任意子编结电路的方法和系统 |
CN107004162A (zh) * | 2014-12-05 | 2017-08-01 | 微软技术许可有限责任公司 | 量子深度学习 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009152180A2 (en) * | 2008-06-10 | 2009-12-17 | D-Wave Systems Inc. | Parameter learning system for solvers |
-
2017
- 2017-12-18 EP EP17829097.9A patent/EP3682383B1/en active Active
- 2017-12-18 US US16/754,998 patent/US11556686B2/en active Active
- 2017-12-18 CA CA3133427A patent/CA3133427A1/en active Pending
- 2017-12-18 WO PCT/US2017/067083 patent/WO2019078907A1/en unknown
- 2017-12-18 CA CA3079533A patent/CA3079533A1/en active Pending
- 2017-12-18 CN CN201780096102.XA patent/CN111247538A/zh active Pending
- 2017-12-18 EP EP22193793.1A patent/EP4160491A1/en active Pending
-
2022
- 2022-12-13 US US18/080,614 patent/US20230118636A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104011723A (zh) * | 2011-12-15 | 2014-08-27 | 美光科技公司 | 状态机晶格中的布尔逻辑 |
CN105531725A (zh) * | 2013-06-28 | 2016-04-27 | D-波系统公司 | 用于对数据进行量子处理的系统和方法 |
CN105637514A (zh) * | 2013-10-14 | 2016-06-01 | 微软技术许可有限责任公司 | 将单量子位量子门高效分解成斐波那契任意子编结电路的方法和系统 |
CN107004162A (zh) * | 2014-12-05 | 2017-08-01 | 微软技术许可有限责任公司 | 量子深度学习 |
Non-Patent Citations (2)
Title |
---|
EDWIN PEDNAULT等: ""Breaking the 49-Qubit Barrier in the Simulation of Quantum Circuits"", pages 1 - 18 * |
SERGIO BOIXO等: ""Characterizing Quantum Supremacy in Near-Term Devices"", pages 1 - 22 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114418105A (zh) * | 2020-10-28 | 2022-04-29 | 合肥本源量子计算科技有限责任公司 | 一种基于量子线路处理量子应用问题的方法及装置 |
CN114418105B (zh) * | 2020-10-28 | 2023-08-08 | 本源量子计算科技(合肥)股份有限公司 | 一种基于量子线路处理量子应用问题的方法及装置 |
CN112488317A (zh) * | 2020-11-27 | 2021-03-12 | 北京百度网讯科技有限公司 | 量子控制中的仿真方法、装置、经典计算机及存储介质 |
CN113807525A (zh) * | 2021-09-22 | 2021-12-17 | 北京百度网讯科技有限公司 | 量子电路操作方法及装置、电子设备和介质 |
CN116341667A (zh) * | 2023-04-03 | 2023-06-27 | 正则量子(北京)技术有限公司 | 一种量子线路搭建方法及设备 |
CN116341667B (zh) * | 2023-04-03 | 2024-03-12 | 正则量子(北京)技术有限公司 | 一种量子线路搭建方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CA3133427A1 (en) | 2019-04-25 |
EP4160491A1 (en) | 2023-04-05 |
CA3079533A1 (en) | 2019-04-25 |
EP3682383A1 (en) | 2020-07-22 |
EP3682383B1 (en) | 2022-09-21 |
US20230118636A1 (en) | 2023-04-20 |
US11556686B2 (en) | 2023-01-17 |
WO2019078907A1 (en) | 2019-04-25 |
US20210192114A1 (en) | 2021-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111247538A (zh) | 量子电路的仿真 | |
JP7362692B2 (ja) | 量子ニューラルネットワーク | |
US20220164506A1 (en) | Simulating quantum circuits | |
Haghshenas et al. | Variational power of quantum circuit tensor networks | |
JP6918980B2 (ja) | 量子コンピューティングシステム内の演算子平均化 | |
CN110023966B (zh) | 使用量子计算仿真材料 | |
CA3091246C (en) | Variational quantum state preparation | |
CA3102290C (en) | Preparing superpositions of computational basis states on a quantum computer | |
CN111373420A (zh) | 量子近似优化中的成本函数变形 | |
Lee et al. | An FPGA-based quantum computing emulation framework based on serial-parallel architecture | |
Bombin et al. | Statistical mechanical models and topological color codes | |
AU2019454277B2 (en) | Patch and elided fidelity estimation | |
Schalkers et al. | Efficient and fail-safe collisionless quantum Boltzmann method | |
US20220358392A1 (en) | Parallel cross entropy benchmarking | |
CN116075836A (zh) | 量子硬件的生成式建模 | |
Wicaksono et al. | Implementation of Shor’s quantum factoring algorithm using projectQ framework | |
Naher et al. | Using Machine Learning to Estimate Utilization and Throughput for OpenCL-Based SpMV Implementation on an FPGA | |
US9355363B2 (en) | Systems and methods for virtual parallel computing using matrix product states | |
GB2609016A (en) | Determining matching data | |
Snow-Kropla | Compiling Programs for an Adiabatic Quantum Computer |
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 |