CN113222164B - 量子计算程序的生成方法及其表达形式 - Google Patents

量子计算程序的生成方法及其表达形式 Download PDF

Info

Publication number
CN113222164B
CN113222164B CN202110508324.6A CN202110508324A CN113222164B CN 113222164 B CN113222164 B CN 113222164B CN 202110508324 A CN202110508324 A CN 202110508324A CN 113222164 B CN113222164 B CN 113222164B
Authority
CN
China
Prior art keywords
target
quantum
qubit
network
bit
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
Application number
CN202110508324.6A
Other languages
English (en)
Other versions
CN113222164A (zh
Inventor
梁福田
吴玉林
邓辉
龚明
彭承志
朱晓波
潘建伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Science and Technology of China USTC
Original Assignee
University of Science and Technology of China USTC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Science and Technology of China USTC filed Critical University of Science and Technology of China USTC
Priority to CN202110508324.6A priority Critical patent/CN113222164B/zh
Publication of CN113222164A publication Critical patent/CN113222164A/zh
Application granted granted Critical
Publication of CN113222164B publication Critical patent/CN113222164B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明公开了一种量子计算程序的生成方法及其表达形式,上述表达形式包括:网络关系、操作符和时间标志。上述网络关系表示实现目标计算任务的各步操作需要调用的目标量子比特的拓扑结构,用于表征各步操作需要调用的目标量子比特的执行关联性。上述拓扑结构的来源是量子处理器的比特连接结构。上述操作符用于表征目标量子比特需要执行的操作。上述时间标志用于表征用于实现目标计算任务的各步操作所对应的执行时序,上述执行时序包含执行的时间顺序和时间间隔的数值。其中,上述操作符、上述时间标志均与上述网络关系所关联。避免了现有量子编程中所调用的两个比特之间可能完全无法实现程序制定的操作导致的程序开发、调试过程中的问题。

Description

量子计算程序的生成方法及其表达形式
技术领域
本公开属于量子计算技术领域,涉及一种量子计算程序的生成方法及其表达形式。
背景技术
当前是量子计算机技术发展的初级阶段,如何实现量子计算机本身是其技术发展的重点。而如何将与量子比特对应的程序进行可视化的编辑和输入,如何将其作用到量子比特上,也是非常重要的任务。
当今学术圈和商业圈内已经出现不少所谓的量子语言和量子系统,但仔细研究,其并没有明确区分量子体系的编程语言和经典体系的编程语言,而是照搬经典计算机的高级语言,进行类似的程序语言编写,这实际上产生很多技术上的脱节。
很多情况下,按照经典计算机的方式编写量子计算程序会存在编写的量子程序存在部分内容不合理的情况,导致量子程序在执行过程中无法调用对应的量子比特,这种情况下如果编译器不提示或检查相应错误,那么实际上无法实现的操作也被认作合理合法的程序操作,被编译器继续编译和执行,导致作用到量子比特时完全达不到预期的作用效果,从而使程序运行结果错误,并且非常难找出错误的原因。
发明内容
(一)要解决的技术问题
本公开提供了一种量子计算程序的生成方法及其表达形式,以至少部分解决以上所提出的技术问题。
(二)技术方案
本公开的第一个方面提供了一种量子计算程序的表达形式。上述表达形式包括:网络关系、操作符和时间标志。上述网络关系表示实现目标计算任务的各步操作需要调用的目标量子比特的拓扑结构,用于表征各步操作需要调用的目标量子比特的执行关联性。上述拓扑结构的来源是量子处理器的比特连接结构。上述操作符用于表征目标量子比特需要执行的操作。上述时间标志用于表征用于实现目标计算任务的各步操作所对应的执行时序,上述执行时序包含执行的时间顺序和时间间隔的数值。其中,上述操作符、上述时间标志均与上述网络关系所关联。
根据本公开的实施例,上述网络关系为文本形式或图形形式。
根据本公开的实施例,上述网络关系为文本形式,各步操作需要调用的目标量子比特的拓扑结构采用文本形式进行描述,上述拓扑结构的来源是量子处理器的比特连接结构,描述的方式包括:建立对目标量子比特的条件约束,或建立与目标量子比特相关联的关联量子比特的映射关系,从而得到拓扑约束表。
根据本公开的实施例,上述网络关系为图形形式,上述各步操作需要调用的目标量子比特的拓扑结构采用网络图表示,上述拓扑结构的来源是量子处理器的比特连接结构,上述网络图包含节点和连线,节点用于表征量子比特,连线用于表征各个量子比特之间的耦合连接关系,上述量子比特包括:目标量子比特和与上述目标量子比特相关联的关联量子比特。
根据本公开的实施例,上述目标量子比特需要执行的操作包括以下操作的一种或多种:基础量子比特操作、基础单元操作或扩展程序操作。上述基础量子比特操作包括:只包含一个比特的单比特操作和包含2个比特的双比特操作。上述基础单元操作包括一组具有时间排序的基础量子比特操作。上述扩展程序操作包括基础量子比特操作和基础单元操作的操作组合。
根据本公开的实施例,当上述网络关系为图形形式时,上述操作符、上述时间标志均与上述网络关系所关联,包括:各步操作需要调用的目标量子比特的图形形式的网络关系根据上述时间标志依次排序放置;以及在排序放置的图形形式的网络关系上,针对各步操作所对应的目标量子比特放置有相应的操作符。
根据本公开的实施例,当上述网络关系为文本形式时,上述操作符、上述时间标志均与上述网络关系所关联,包括:在各步操作需要调用的目标量子比特与时间标志和操作符之间,均建立有对应的映射关系,该映射关系需要验证被调用的目标量子比特是否符合上述文本形式的网络关系。
根据本公开的实施例,上述各步操作所对应的执行时序的执行间隔为相等或不相等,各步操作的执行过程中的最小时间细粒度划分为相等或不相等。
本公开的第二个方面提供了一种量子计算程序的生成方法。上述生成方法包括:采用网络关系表示量子处理器的比特连接结构,以表征用于实现目标计算任务的各步操作需要调用的目标量子比特的执行关联性;采用操作符表示目标量子比特需要执行的操作;采用时间标志表示实现目标计算任务的各步操作所对应的执行时序,上述执行时序包含执行的时间顺序和时间间隔的数值;以及将上述操作符、上述时间标志均与上述网络关系相关联,得到用于实现目标计算任务的目标量子计算程序。
根据本公开的实施例,上述网络关系为文本形式或图形形式。
(三)有益效果
从上述技术方案可以看出,本公开提供的量子计算程序的生成方法及其表达形式,具有以下有益效果:
本公开提供的量子计算程序的表达方式中,通过将操作符、时间标志均与符合量子处理器的比特连接结构和用于实现目标计算任务的各步操作需要调用的目标量子比特的执行关联性的网络关系所关联,从而能够在符合拓扑结构约束的情况下,进行程序代码的每一步描述,形成了一个代码语言和量子比特之间的纽带,上述表达方式不受限于现有量子语言,也不受限于量子计算机,该表达方式可以自然地限定程序对量子比特操作时的约束关系,避免约束类错误,同时可以较好的进行存储和阅读,能够兼容多种类型的量子计算机。
附图说明
图1为根据本公开一实施例所示的图形形式的网络关系的示意图。
图2为根据本公开一实施例所示的网络关系和时间标志关联的示意图。
图3为根据本公开一实施例所示的网络关系和操作符关联的示意图。
图4为根据本公开一实施例所示的量子计算程序的图形表达形式的示意。
图5为根据本公开一实施例所示的基础单元操作的示意图。
图6为根据本公开一实施例所示的扩展程序操作的示意图。
图7为根据本公开一实施例所示的量子计算程序的文本表达形式的示意。
图8为根据本公开一实施例所示的量子计算程序的生成方法的流程图。
【符号说明】
101-节点;102-连线;
TQ1、TQ2、TQ3-目标量子比特。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
在逻辑比特出现之前,所有的量子比特都属于物理比特,而物理比特之间的相互作用与比特之间的拓扑结构是非常相关的,而这个相关性,往往不能直接表现在量子计算的程序代码上。
相关技术中在编写量子程序时所控制的量子比特操作,根本没有考虑到采用量子比特的拓扑结构进行约束或者参考。而且相关技术中还缺少一种天然的可以表述量子比特拓扑结构,并且可以直接展示每个量子比特在程序中的动作的编程方式或者编程语言。
现阶段每种量子处理器上比特的数目、位置分布、耦合连接结构往往是不同的。想通过统一的编辑器/编译器进行程序代码的输入与转换,会有很多照顾不到的位置(如比特之间的拓扑结构和对应的耦合关系),使得程序表达上没有任何错误,但运行时,所调用的两个比特之间可能完全无法实现程序制定的操作。所以这给程序开发、调试都带来了极大的困难。
有鉴于此,本公开提出了一种量子计算程序的生成方法及其表达形式,量子计算程序的表达方式中,主要针对量子比特的拓扑结构,利用硬件行为描述的思路,通过将操作符、时间标志均与表征量子处理器的比特连接结构和用于实现目标计算任务的各步操作需要调用的目标量子比特的执行关联性的网络关系所关联,从而能够在符合拓扑结构约束的情况下,进行程序代码的每一步描述,形成了一个代码语言和量子比特之间的纽带。
本公开的第一个示例性实施例提供了一种量子计算程序的表达形式。
本实施例的量子计算程序的表达形式包括:网络关系、操作符和时间标志。上述网络关系表示实现目标计算任务的各步操作需要调用的目标量子比特的拓扑结构,用于表征各步操作需要调用的目标量子比特的执行关联性。上述拓扑结构的来源是量子处理器的比特连接结构。上述操作符用于表征目标量子比特需要执行的操作。上述时间标志用于表征用于实现目标计算任务的各步操作所对应的执行时序,上述执行时序包含执行的时间顺序和时间间隔的数值。其中,该表达形式中,上述操作符、上述时间标志均与上述网络关系所关联。
根据本公开的实施例,上述网络关系为文本形式或图形形式。
图1为根据本公开一实施例所示的图形形式的网络关系的示意图。
根据本公开的实施例,参照图1中(a)~(d)所示,采用网络图来表示网络关系,上述网络图包含节点101和连线102,节点用于表征量子比特,连线用于表征各个量子比特之间的耦合连接关系。图1中(a)~(d)以4种不同形式的网络关系作为示例,上述网络图表征的各个量子比特的耦合关系包括但不限于是矩形分布式耦合、多边形分布式耦合、链式分布式耦合等形式。
上述节点所表征的量子比特包括:目标量子比特和与上述目标量子比特相关联的关联量子比特。目标量子比特为用于实现目标计算任务的各步操作需要调用的量子比特。上述网络关系用于表征量子处理器的比特连接结构和用于实现目标计算任务的各步操作需要调用的目标量子比特的执行关联性。
根据本公开的实施例,当上述网络关系为图形形式时,上述操作符、上述时间标志均与上述网络关系所关联,包括:各步操作需要调用的目标量子比特的图形形式的网络关系根据上述时间标志依次排序放置;以及在排序放置的图形形式的网络关系上,针对各步操作所对应的目标量子比特放置有相应的操作符。
图2为根据本公开一实施例所示的网络关系和时间标志关联的示意图。
参照图2所示,示意了将网络关系和时间标志进行关联的场景,图2中采用虚线框圈出了目标量子比特。按照时间标志所表征的各步操作所对应的执行时序放置各个目标量子比特所在的网络图,以图2示意的实施例作为示例:t1时刻放置有目标量子比特TQ1:量子比特Q5和量子比特Q7,t2时刻放置有目标量子比特TQ2:量子比特Q2和量子比特Q3,t3时刻放置有目标量子比特TQ3:量子比特Q15;以此类推,可以将各个目标量子比特所在的网络图按照执行时序依次放置,根据执行时序可以清楚获取各步操作执行的时间顺序和时间间隔的数值。
需要说明的是,上述图2中,在同一个量子计算程序中,按照不同时刻放置的网络图中的所有节点是在同一个整体的网络图中,即示意出的t1~t3时刻下的所有量子比特Q1~Q16是处于同一个网络图中,即对应于同一个量子处理器的比特连接结构,因此t1时刻、t2时刻和t3时刻分别示意出的仅为整个网络图的局部,后续要介绍的图3~图6与之类似。即,在量子处理器的比特连接结构对应的整体的网络图中,各步操作需要调用的目标量子比特所在的网络关系可以仅示意出整体网络图的局部。
根据本公开的实施例,上述各步操作所对应的执行时序的执行间隔为相等或不相等,各步操作的执行过程中的最小时间细粒度划分为相等或不相等。
每个操作符所表征的操作可以是单比特门或双比特门,例如单比特门包括但不限于是:泡利-X门(Pauli-X gate)、泡利-Y门(Pauli-Y gate)、泡利-Z门(Pauli-Z gate)、相位偏移X门(Phase shift X gate)、相位偏移Y门(Phase shift Y gate)、相位偏移Z门(Phase shift Z gate)、S门(The S gate)、S-dagger门(S-dagger gate)、T门(The Tgate)、T-dagger门(T-dagger gate)、通用X/2门(The X/2gate)、通用-X/2门(The-X/2gate)、通用Y/2门(The Y/2gate)、通用-Y/2门(The-Y/2gate)、阿达马门(Hadamard gate)等。双比特门包括但不限于是:受控Z门(Controlled-Z gate),可以简称为CZ门。
图3为根据本公开一实施例所示的网络关系和操作符关联的示意图。
参照图3所示,示意了将网络关系和操作符关联的场景,图3中以X门、Y门和CZ门作为操作符的示例,分别以三角形的图案示意X门、五角星的图案示意Y门、角拱门的图案示意CZ门。在各个目标量子比特所在的网络图上关联有操作符,关联的方式可以是:在网络图的目标量子比特所在位置放置操作符,实现二者的关联。例如参照图3所示,针对目标量子比特TQ1而言,量子比特Q5上关联有Y门的操作符,量子比特Q7上关联有X门的操作符。针对目标量子比特TQ2而言,量子比特Q2和量子比特Q3上关联有CZ门,即,由关联的量子比特对Q2-Q3执行双比特操作CZ门。针对目标量子比特TQ3而言,量子比特Q15上关联有Y门。其他目标量子比特所在的网络图与操作符进行关联的操作以此类推。
图4为根据本公开一实施例所示的量子计算程序的图形表达形式的示意。
可以结合上述图2和图3示意的将操作符、时间标志均与网络关系进行关联的过程,首先,将各步操作需要调用的目标量子比特的图形形式的网络关系根据上述时间标志依次排序放置;然后,在排序放置的图形形式的网络关系上,针对各步操作所对应的目标量子比特放置相应的操作符,从而可以得到图形形式的量子计算程序,参照图4所示,得到的量子计算程序表示的是:t1时刻:Q7执行X门,Q5执行Y门,t2时刻:Q2和Q3执行CZ门,t3时刻,Q15执行Y门。
由于该量子计算程序的操作符所对应的各步操作所调用的目标量子比特是被约束在网络关系中的,使得该量子计算程序的各步操作的执行主体均符合量子处理器的比特连接结构,即在量子计算程序生成的同时就能够避免现有量子编程中所调用的两个比特之间可能完全无法实现程序制定的操作导致的程序开发、调试过程中的问题。
根据本公开的实施例,上述目标量子比特需要执行的操作包括以下操作的一种或多种:基础量子比特操作、基础单元操作或扩展程序操作。
上述基础量子比特操作包括:只包含一个比特的单比特操作和包含2个比特的双比特操作。
上述基础量子比特操作是单独的一个操作,可以由操作符进行表征。只包含一个比特的单比特操作可以是单比特门,包含2个比特的双比特操作可以是双比特门。关于单比特门和双比特门在前述已经详细进行举例,这里不再赘述。参照图4所示,一个基础量子比特操作可以是:Q7执行X门。另一个基础量子比特操作可以是:Q5执行Y门。又一个基础量子比特操作可以是:Q2和Q3执行CZ门。或者,再一个基础量子比特为:Q15执行Y门。
上述基础单元操作包括一组具有时间排序的基础量子比特操作。这里的时间排序可以包括一个或多个时间点。其中,各个时间点所放置的网络图中,每个网络图描述的是同一个时刻为起点的基础量子比特操作。
图5为根据本公开一实施例所示的基础单元操作的示意图。
例如,在一具体的实施例中,首先,可以将需要调用的目标量子比特和耦合结构关系进行拓扑展开,将因量子处理加工布局时的限制进行剔除,形成一张只有节点和连线的网络图(节点是量子比特,连线是耦合关系)。然后,将得到的网络图按照执行时序关系放置,形成一系列网络图。每个网络图描述的是同一个时刻为起点的最基础量子比特操作,如X门,Y门,CZ门。接着,将指定的单比特操作放置在量子比特上,即网络图的节点上。将双比特操作放在有关联的两个量子比特对应的节点上。以此类推,完成当前时间刻度上的比特操作(程序)设计,再完成下一个时间刻度上的比特操作设计。采用上述方式得到的基础单元操作(函数)可以参照图5所示,在t1时刻放置的网络图中,目标量子比特Q7关联有X门,目标量子比特Q5关联有Y门。在t2时刻放置的网络图中,目标量子比特Q5和Q6关联有CZ门。
上述基础单元操作(函数)可以供后继程序调用或者嵌入至其他程序中。
图6为根据本公开一实施例所示的扩展程序操作的示意图。
上述扩展程序操作包括基础量子比特操作和基础单元操作的操作组合。其中,各个时间点所放置的网络图中,每个网络图描述的是同一个时刻为起点的基础量子比特操作和基础单元操作的集合。
例如,在一具体的实施例中,首先,可以将需要调用的量子比特和耦合结构关系进行拓扑展开,将因量子处理加工布局时的限制进行剔除,形成一张只有节点和连线的网络图(节点是量子比特,连线是耦合关系)。然后,将得到的网络图按照执行时序关系放置,形成一系列网络图。每个网络图描述的是同一个时刻为起点的最基础量子比特操作和基础单元操作的集合。接着,将指定的单比特操作放置在量子比特上,即网格图的节点上。将双比特操作放在有关联的量子比特对应的节点上。同时,还可以将多比特的基础单元操作的图形覆盖到指定的比特上。以此类推,完成当前时间刻度上的比特操作(程序)设计,再完成下一个时间刻度上的比特操作设计。采用上述方式得到的扩展程序操作(函数)可以参照图6所示,在T1时刻放置的网络图中,针对目标量子比特,放置的是图5中示例的基础单元操作(函数)的整体图形,在图6中以虚线圈进行示意。该基础单元操作可以结合图5和图6中虚线圈所示,以在t1时刻目标量子比特Q7执行X门,目标量子比特Q5执行Y门,在t2时刻目标量子比特Q5和Q6执行CZ门作为示例(后续时刻省略)。在T2时刻放置的网络图中,目标量子比特Q12关联有X门。则在图6中示例的扩展程序操作中,T1时刻执行的是基础单元操作,包括:X门、Y门和CZ门的对应先后执行;然后在T2时刻,目标量子比特Q12执行X门。
基于上述,可以得到量子计算程序,该量子计算程序按照执行时序放置的网络图中,每个网格图描述的是包含:同一个时刻为起点的基础量子比特操作、基础单元操作和扩展程序操作至少之一的集合。
在同一个量子计算程序中,多个网络图之间的执行间隔可以相等,例如图4中t1和t2之间的时间间隔与t2和t3之间的时间间隔可以相等,也可以不等。另外,不同的量子计算程序之间可以具有调用或嵌入的关系。
在同一个量子计算程序中,各步操作的执行过程中的最小时间细粒度划分可以相等或不相等,例如图5中T1和T2所对应的执行时序的执行间隔不相等。
因为程序复杂度的不同,上述示例的基础量子比特操作、基础单元操作或扩展程序操作只是作为典型情况的示例,在此基础上,可以扩展出更多级别的组合、调用关系等,也可以进行化简,只有两级甚至一级操作。
另外,上述基础量子比特操作、基础单元操作与扩展程序操作之间,主要区别之一是在时间轴上,同一个时间轴中包含的操作集合具有差异。应该理解的是,本公开实施例描述的每一步编程(同一个网络图)是以同一个时刻为时间起点的编程,根据本公开的构思,可以将具有不同时间起点的对应操作的第二网格图作为另一时间起点的第一网格图的一个嵌入,从前述基础量子比特操作和扩展程序操作可以进行类比。
因此如果需要实现时间起点不同或者执行的最小时间细粒度不同的编程,实际上是本公开的一个子集,即将量子比特中需要有更细致时间操作的比特作为一个小网格图,完成编程后与整体再合并(调用)。这种调用、嵌入的方案可以针对有单步基础操作时间较长的情况进行加速处理。
上述采用图形化形式进行表达的量子计算程序具有直观展现的优势,各步操作时刻被量子处理器的比特拓扑连接结构所限制,执行的时间关系明确,较容易阅读等特点。上述图形化形式的量子计算程序的输入较为复杂,几乎不能自动输入,程序存储格式需要另外转化。
上述以网络关系和对应的量子计算程序为图形形式进行了示例性描述,下面来介绍文本形式的网络关系以及对应的文本形式的量子计算程序。
本公开提供的量子计算程序的另一种表达方式是文本形式的,文本形式是上述量子计算程序进行存储的一种表达形式,也可以用来直接输入。优点是程序输入可以实现自动过程,容易阅读,时间关系明确,操作约束关系可以通过拓扑矩阵进行判断,不易产生无法操作类错误,缺点是因为采用文本形式,不如图形界面直观。
量子计算程序的文本表达只有一份最终的执行操作记录表,具体分为三张表进行记录。
在一实施例中,第一张表为拓扑约束表、第二张表为时间标志对应的时序表,第三张表为最终的操作表(或称为程序表),该操作表对应为文本形式的量子计算程序。
各步操作需要调用的目标量子比特的拓扑结构采用文本形式进行描述,描述的方式包括:建立对目标量子比特的条件约束,或建立与目标量子比特相关联的关联量子比特的映射关系,从而得到拓扑约束表。例如,该拓扑约束表中只记录能够相关作用的量子比特对,如Q2-Q3,Q5-Q6等。
时序表用于记录操作表中各步操作执行的时间顺序和时间间隔的数值。在前述有关图形形式的量子计算程序表达时已经描述,当进行各类调用时,可能会出现时间刻度并不均匀的形式,文本形式也是类似的,可以存在时间轴不均匀的情况,即对应各步操作所对应的执行时序的执行间隔不相等的情况,和/或,各步操作的执行过程中的最小时间细粒度划分不相等的情况。对于一些简单情况,该表的时间轴可以是均匀的。
示例性的,时序表的时间记录形式为当前刻度到下一个刻度的时间间隔T1(10),T2(10),T1,T2为操作(程序)名称,括号内为当前操作距离下一个操作的时间间隔。
操作表(程序表)记录每个时刻量子比特执行的操作。该操作表中记录的内容,是完整程序将所有调用带入后的最终总表格,与前述图形化的图4所对应的量子计算程序所对应。
图7为根据本公开一实施例所示的量子计算程序的文本表达形式的示意。图7中示意了采用操作表来表达量子计算程序的文本表达形式。
根据本公开的实施例,量子计算程序的文本表达形式为一操作表(程序表),该操作表为一个二维表格,二维表格中的行标(或者为列标)可以是比特名称,列标(或者对应为行标)可以是时序表的各个时刻的对应名称,具体时间刻度包括间隔时长以及执行的最小时间细粒度等在时序表进行了限定。
例如图7中采用逗号分隔值文件格式(CSV)进行上述操作表的存储,每个中括号表示一个执行时序中的操作步骤,每个中括号内部的引号内的内容表示一个量子比特需要对应执行的操作,位于同一个中括号内的多个引号在同一个时刻下执行各自的操作,对应引号内为空的部分为表示不执行操作。多个中括号之间采用采用逗号进行间隔,每个中括号内部各个量子比特执行的操作之间也采用逗号进行间隔。上述中括号按照排列顺序对应于执行顺序的先后。
在一实施例中,参照图7所示,每个中括号内具有12组引号,用于表征同一时刻下12个量子比特各自需要执行的操作,一共有24个中括号,表示该量子计算程序共有24步操作(程序)。也就是说,该实施例中,该量子计算程序涉及12个量子比特,执行的操作总步数为24步。其中,行标对应为时序表的各个时刻的对应名称,这里采用T1~T24进行描述,列标对应为比特名称,这里采用Q1~Q12进行描述。参照图7示例的操作表(对应文本形式的量子计算程序)所示,在T1时刻,Q1关联有Y2p(Y/2门操作的文本表达形式)操作符,Q2关联有Y2n(-Y/2门操作的文本表达形式)操作符;在T2时刻,Q1和Q2关联有CZ_1操作符(CZ门操作的文本表达形式);以此类推,在T24时刻,Q1~Q12中的每个量子比特均关联有M(测试的文本表达形式,可以换成其他字符或者对应表示形式,只要有确定的操作符和具体操作的对应关系即可)操作符。为了区分各个操作步骤下的不同的CZ门操作,在各个CZ门的操作符对应有不同的序号角标,参照图7中的CZ_1~CZ_11所示。
上述实施例中,当上述网络关系为文本形式时,上述操作符、上述时间标志均与上述网络关系所关联,包括:在各步操作需要调用的目标量子比特与时间标志和操作符之间,均建立有对应的映射关系,该映射关系需要验证被调用的目标量子比特是否符合上述文本形式的网络关系。例如在一实施例进行验证时,检测操作的比特对是否符合上述拓扑约束表所约定的映射关系。
关于程序执行过程中的判断与跳转,主要是出现在有测量操作之后,往往会根据测量的结果进行下一步的操作。这种情况下,可以通过预制多个分支程序进行扩展,每个分支程序可以理解为一个和前述相同的程序表,只是规模大小不一样而已。
本公开的第二个示例性实施例提供了一种量子计算程序的生成方法。
图8为根据本公开一实施例所示的量子计算程序的生成方法的流程图。
根据本公开的实施例,参照图8所示,量子计算程序的生成方法包括以下操作:S21、S22、S23和S24。
在操作S21,采用网络关系表示量子处理器的比特连接结构,以表征用于实现目标计算任务的各步操作需要调用的目标量子比特的执行关联性。
在操作S22,采用操作符表示目标量子比特需要执行的操作。
在操作S23,采用时间标志表示实现目标计算任务的各步操作所对应的执行时序,上述执行时序包含执行的时间顺序和时间间隔的数值。
在操作S24,将上述操作符、上述时间标志均与上述网络关系相关联,得到用于实现目标计算任务的目标量子计算程序。
根据本公开的实施例,上述网络关系为文本形式或图形形式。
当上述网络关系为图形形式时,将上述操作符、上述时间标志均与上述网络关系相关联,包括:根据上述时间标志依次排序各步操作需要调用的目标量子比特的图形形式的网络关系,得到排序放置的图形形式的网络关系;以及在排序放置的图形形式的网络关系上,针对各步操作所对应的目标量子比特放置相应的操作符。
当上述网络关系为文本形式时,将上述操作符、上述时间标志均与上述网络关系相关联,包括:在各步操作需要调用的目标量子比特与时间标志和操作符之间,建立对应的映射关系,在建立对应的映射关系时需要验证被调用的目标量子比特是否符合上述文本形式的网络关系,在符合网络关系的情况下得到上述操作符、上述时间标志均与上述网络关系相关联的映射关系,从而得到目标量子计算程序。参照第一实施例所示,在建立操作表时,针对目标量子比特在各个时刻需要执行的操作进行验证时,根据拓扑约束表中的约束关系进行校验执行主体是否符合约束条件。
综上所述,本公开的实施例提供了一种量子计算程序的生成方法及其表达形式,以图形化表达和文本化表达分别进行了示例,在针对每一个量子比特的动作进行描述的同时,利用表征量子比特的拓扑结构的图形化或文本化形式的网络关系来对执行程序的量子比特进行约束,从而在每步操作的执行过程中通过网络关系对程序的执行主体进行制约,避免了现有量子编程中所调用的两个比特之间可能完全无法实现程序制定的操作导致的程序开发、调试过程中的问题。
本公开提供的量子计算程序的表达形式可以在量子编程语言没有统一的规范之前,作为一个良好的中间载体,可以非常直观的展示出所有需要的量子比特操作和相应的逻辑和时序关系。而随着量子语言的逐步规范统一,本公开提出的量子计算程序的表达形式也可以作为一个很好的中间描述,来连接纯编程语言(例如现有的)与量子计算机,随着技术的发展,本公开提供的量子计算程序可以类似于经典计算机的机器码的角色,可以适用于更多的纯编程语言进行描述,同时兼容更多类型的量子计算机。
本公开中的量子计算程序的表达形式,不限定量子计算机的实现方案,即不限定超导体系,半导体体系,光学体系等不同的量子计算机实现方案。同时不限定所属的量子基本为物理比特或者逻辑比特。
以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (9)

1.一种量子计算程序的表达装置,其特征在于,包括:
网络关系,所述网络关系表示实现目标计算任务的各步操作需要调用的目标量子比特的拓扑结构,用于表征各步操作需要调用的目标量子比特的执行关联性;所述拓扑结构的来源是量子处理器的比特连接结构;
操作符,用于表征目标量子比特需要执行的操作;以及
时间标志,用于表征用于实现目标计算任务的各步操作所对应的执行时序,所述执行时序包含执行的时间顺序和时间间隔的数值;
其中,所述操作符、所述时间标志均与所述网络关系所关联;
其中,所述目标量子比特需要执行的操作包括以下操作的一种或多种:
基础量子比特操作,所述基础量子比特操作包括:只包含一个比特的单比特操作和包含2个比特的双比特操作;
基础单元操作,所述基础单元操作包括一组具有时间排序的基础量子比特操作;
扩展程序操作,所述扩展程序操作包括基础量子比特操作和基础单元操作的操作组合。
2.根据权利要求1所述的表达装置,其特征在于,所述网络关系为文本形式或图形形式。
3.根据权利要求2所述的表达装置,其特征在于,所述网络关系为文本形式,各步操作需要调用的目标量子比特的拓扑结构采用文本形式进行描述,描述的方式包括:建立对目标量子比特的条件约束,或建立与目标量子比特相关联的关联量子比特的映射关系,从而得到拓扑约束表。
4.根据权利要求2所述的表达装置,其特征在于,所述网络关系为图形形式,所述各步操作需要调用的目标量子比特的拓扑结构采用网络图表示,所述网络图包含节点和连线,节点用于表征量子比特,连线用于表征各个量子比特之间的耦合连接关系,所述量子比特包括:目标量子比特和与所述目标量子比特相关联的关联量子比特。
5.根据权利要求2所述的表达装置,其特征在于,当所述网络关系为图形形式时,所述操作符、所述时间标志均与所述网络关系所关联,包括:
各步操作需要调用的目标量子比特的图形形式的网络关系根据所述时间标志依次排序放置;
在排序放置的图形形式的网络关系上,针对各步操作所对应的目标量子比特放置有相应的操作符。
6.根据权利要求2所述的表达装置,其特征在于,当所述网络关系为文本形式时,所述操作符、所述时间标志均与所述网络关系所关联,包括:
在各步操作需要调用的目标量子比特与时间标志和操作符之间,均建立有对应的映射关系,该映射关系需要验证被调用的目标量子比特是否符合所述文本形式的网络关系。
7.根据权利要求1所述的表达装置,其特征在于,所述各步操作所对应的执行时序的执行间隔为相等或不相等,各步操作的执行过程中的最小时间细粒度划分为相等或不相等。
8.一种量子计算程序的生成方法,其特征在于,包括:
采用网络关系表示量子处理器的比特连接结构,以表征用于实现目标计算任务的各步操作需要调用的目标量子比特的执行关联性;
采用操作符表征目标量子比特需要执行的操作;
采用时间标志表征实现目标计算任务的各步操作所对应的执行时序,所述执行时序包含执行的时间顺序和时间间隔的数值;以及
将所述操作符、所述时间标志均与所述网络关系相关联,得到用于实现目标计算任务的目标量子计算程序;
其中,所述目标量子比特需要执行的操作包括以下操作的一种或多种:
基础量子比特操作,所述基础量子比特操作包括:只包含一个比特的单比特操作和包含2个比特的双比特操作;
基础单元操作,所述基础单元操作包括一组具有时间排序的基础量子比特操作;
扩展程序操作,所述扩展程序操作包括基础量子比特操作和基础单元操作的操作组合。
9.根据权利要求8所述的生成方法,其特征在于,所述网络关系为文本形式或图形形式。
CN202110508324.6A 2021-05-10 2021-05-10 量子计算程序的生成方法及其表达形式 Active CN113222164B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110508324.6A CN113222164B (zh) 2021-05-10 2021-05-10 量子计算程序的生成方法及其表达形式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110508324.6A CN113222164B (zh) 2021-05-10 2021-05-10 量子计算程序的生成方法及其表达形式

Publications (2)

Publication Number Publication Date
CN113222164A CN113222164A (zh) 2021-08-06
CN113222164B true CN113222164B (zh) 2023-06-20

Family

ID=77094524

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110508324.6A Active CN113222164B (zh) 2021-05-10 2021-05-10 量子计算程序的生成方法及其表达形式

Country Status (1)

Country Link
CN (1) CN113222164B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109379144A (zh) * 2018-11-27 2019-02-22 北京航空航天大学 一种基于量子失谐的量子网络编码方法
CN110825375A (zh) * 2019-10-12 2020-02-21 合肥本源量子计算科技有限责任公司 一种量子程序的转化方法、装置、存储介质和电子装置
US10592626B1 (en) * 2018-10-09 2020-03-17 International Business Machines Corporation Visualizing or interacting with a quantum processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10592626B1 (en) * 2018-10-09 2020-03-17 International Business Machines Corporation Visualizing or interacting with a quantum processor
CN109379144A (zh) * 2018-11-27 2019-02-22 北京航空航天大学 一种基于量子失谐的量子网络编码方法
CN110825375A (zh) * 2019-10-12 2020-02-21 合肥本源量子计算科技有限责任公司 一种量子程序的转化方法、装置、存储介质和电子装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
企业网络协同制造中目标分解的时序约束;董红召等;《机械工程学报》(第06期);全文 *
超导与量子计算;金贻荣;《自然杂志》(第04期);全文 *

Also Published As

Publication number Publication date
CN113222164A (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
Shakeri et al. Sequential testing algorithms for multiple fault diagnosis
CN100401265C (zh) 关键字驱动的自动化测试系统及方法
CN109144515B (zh) Dcs图形化算法组态的离线仿真方法和装置
ES2675755T3 (es) Apoyo al análisis de modos de fallo y efectos de un sistema que comprende una pluralidad de componentes
CN110716870B (zh) 服务的自动化测试方法及装置
US7530056B1 (en) Method and system for detecting runtime defects in a program by comparing correct and incorrect runs
US7500149B2 (en) Generating finite state machines for software systems with asynchronous callbacks
US8141082B2 (en) Node-based representation of multi-threaded computing environment tasks, and node-based data race evaluation
Kanoun et al. Reliability growth of fault-tolerant software
US9183122B2 (en) Automated program testing to facilitate recreation of test failure
US8225286B2 (en) Debugging interpreted input
CN108694114A (zh) 用于分离测试用例、测试脚本和测试数据的方法及其系统
CN110018954A (zh) 代码质量检测、代码检测质量的评估方法、装置及设备
CN111680463A (zh) 一种文件检查方法和装置
CN113222164B (zh) 量子计算程序的生成方法及其表达形式
US7664997B2 (en) Failure handling and debugging with causalities
CN114936111A (zh) 前端变量异常检测及修复方法、装置、设备及存储介质
JP2009217664A (ja) 自動テスト実行システム
CN101615158A (zh) 一种计算机程序的调试方法
JP2016042317A (ja) ソフトウェア設計支援装置、および方法
Lin et al. Quality assurance through rigorous software specification and testing: a case study
CN112764396B (zh) 一种组态方法和装置
US9818078B1 (en) Converting a non-workflow program to a workflow program using workflow inferencing
Di Salvo ABCC-Automated Backward Compatibility Checker
CN113886351A (zh) 任务操作指令映射模型训练数据生成方法、系统、设备及存储介质

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