CN114881237B - 量子计算处理方法、装置及电子设备 - Google Patents

量子计算处理方法、装置及电子设备 Download PDF

Info

Publication number
CN114881237B
CN114881237B CN202210324719.5A CN202210324719A CN114881237B CN 114881237 B CN114881237 B CN 114881237B CN 202210324719 A CN202210324719 A CN 202210324719A CN 114881237 B CN114881237 B CN 114881237B
Authority
CN
China
Prior art keywords
quantum
target
qubit
mold
gate
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
CN202210324719.5A
Other languages
English (en)
Other versions
CN114881237A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202210324719.5A priority Critical patent/CN114881237B/zh
Publication of CN114881237A publication Critical patent/CN114881237A/zh
Application granted granted Critical
Publication of CN114881237B publication Critical patent/CN114881237B/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)
  • Superconductor Devices And Manufacturing Methods Thereof (AREA)

Abstract

本公开提供了一种量子计算处理方法、装置及电子设备,涉及量子计算技术领域,具体涉及盲量子计算技术领域。该方案为:获取第一信息,第一信息用于表征量子电路的结构,量子电路包括M个量子门;基于第一信息,对目标模具图的子模具图进行量子门填充,得到第二信息,目标模具图中填充的量子门包括M个量子门,目标模具图基于子模具图拼接得到,子模具图基于网格节点图中的网格节点按照预设规则进行组合得到,第二信息用于通过网格节点坐标与量子门之间的映射关系表征第一电路的结构;基于第二信息和预设的目标转换关系,对第一电路进行转换处理,得到与量子电路等价的目标测量模式,目标测量模式用于执行量子计算任务。

Description

量子计算处理方法、装置及电子设备
技术领域
本公开涉及量子计算技术领域,尤其涉及盲量子计算技术领域,具体涉及一种量子计算处理方法、装置及电子设备。
背景技术
量子电路模型是通用的量子计算模型,可以实现任意的量子算法。量子电路模型中的算法可以采用量子电路图来描述,其可以非常直观地表示量子电路模型。
由于量子电路模型的直观性,通常量子算法是在量子电路模型下进行设计的,并在量子电路模型下提交量子计算任务。
然而,随着盲量子计算技术的发展,需要使用单向量子计算机(one-way quantumcomputer,1WQC)测量模式,来对用户的算法和数据进行加密,以保证数据安全性。1WQC测量模式也是通用的量子计算模型,但是两种量子计算模型的计算方式不同,量子算法的具体表达形式也不一样。
发明内容
本公开提供了一种量子计算处理方法、装置及电子设备。
根据本公开的第一方面,提供了一种量子计算处理方法,包括:
获取第一信息,所述第一信息用于表征量子电路的结构,所述量子电路包括M个量子门,M为正整数;
基于所述第一信息,对目标模具图的子模具图进行量子门填充,得到第二信息,所述目标模具图中填充的量子门包括所述M个量子门,所述目标模具图基于子模具图拼接得到,所述子模具图基于网格节点图中的网格节点按照预设规则进行组合得到,所述第二信息用于通过网格节点坐标与量子门之间的映射关系表征第一电路的结构,第一量子门在所述第一电路中的相对位置,与所述第一量子门在所述量子电路中的相对位置相同,所述相对位置为相对于所述M个量子门的位置,所述第一量子门为所述M个量子门中的任一量子门;
基于所述第二信息和预设的目标转换关系,对所述第一电路进行转换处理,得到与所述量子电路等价的目标测量模式,所述目标转换关系用于表征所述子模具图与测量模式的转换关系,所述目标测量模式用于执行量子计算任务。
根据本公开的第二方面,提供了一种量子计算处理装置,包括:
获取模块,用于获取第一信息,所述第一信息用于表征量子电路的结构,所述量子电路包括M个量子门,M为正整数;
填充模块,用于基于所述第一信息,对目标模具图的子模具图进行量子门填充,得到第二信息,所述目标模具图中填充的量子门包括所述M个量子门,所述目标模具图基于子模具图拼接得到,所述子模具图基于网格节点图中的网格节点按照预设规则进行组合得到,所述第二信息用于通过网格节点坐标与量子门之间的映射关系表征第一电路的结构,第一量子门在所述第一电路中的相对位置,与所述第一量子门在所述量子电路中的相对位置相同,所述相对位置为相对于所述M个量子门的位置,所述第一量子门为所述M个量子门中的任一量子门;
转换处理模块,用于基于所述第二信息和预设的目标转换关系,对所述第一电路进行转换处理,得到与所述量子电路等价的目标测量模式,所述目标转换关系用于表征所述子模具图与测量模式的转换关系,所述目标测量模式用于执行量子计算任务。
根据本公开的第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器能够执行第一方面中的任一项方法。
根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行第一方面中的任一项方法。
根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现第一方面中的任一项方法。
根据本公开的技术解决了如何将量子电路翻译成与其等价的测量模式的问题,可以实现盲量子计算的服务,从而提高了量子计算中的数据安全性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是一示例的量子电路图的结构示意图;
图2是一示例的量子电路列表的结构示意图;
图3是一示例的测量模式的结构示意图;
图4是将H门转换为与之等价的测量模式的示意图;
图5是根据本公开第一实施例的量子计算处理方法的流程示意图;
图6是网格节点图的结构示意图;
图7是N为偶数时的目标模具图的结构示意图;
图8是N为奇数时的目标模具图的结构示意图;
图9是一示例中U模具与1WQC模型中等价的测量模式的转换关系示意图;
图10是一示例中I模具与1WQC模型中等价的测量模式的转换关系示意图;
图11是一示例中砖块测量模式对应的节点图的结构示意图;
图12是基于目标模具图填充得到的第一电路图的结构示意图之一;
图13是基于目标模具图填充得到的第一电路图的结构示意图之二;
图14是一示例中更新有效列列表S的过程示意图之一;
图15是一示例中更新有效列列表S的过程示意图之二;
图16是一示例中更新有效列列表T的过程示意图之一;
图17是一示例中更新有效列列表T的过程示意图之二;
图18是一示例中更新有效列列表T的过程示意图之三;
图19是一示例中更新有效列列表T的过程示意图之四;
图20是根据本公开第二实施例的量子计算处理装置的结构示意图;
图21是用来实施本公开的实施例的示例电子设备的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
第一实施例
本实施例中,量子计算处理方法涉及量子计算技术领域,尤其涉及盲量子计算技术领域,其可以广泛应用于盲量子计算场景下。本公开实施例的量子计算处理方法,可以由本公开实施例的量子计算处理装置执行。本公开实施例的量子计算处理装置可以配置在任意电子设备中,以执行本公开实施例的量子计算处理方法。该电子设备可以为服务器,也可以为终端设备,这里不进行具体限定。
量子计算利用量子世界中特有的运行规律,为我们提供了一种全新的并且非常有前景的信息处理方式。其计算的本质是通过特定的方式将初始制备的量子态演化成我们预期的另一个量子态,之后在演化后的量子态上做测量以获得计算结果。
在不同的量子计算模型下,量子态的演化方式各异。其中,量子电路模型为一种量子计算模型,其通过对量子态进行量子门操作来完成演化,该模型可以理解为经典计算模型的量子版本,被广泛地应用在量子计算领域中。
而1WQC模型也是一种量子计算模型,该模型是一种完全不同于量子电路模型的计算方式,没有经典计算模型的对应。其核心思想在于对一个量子纠缠态的部分比特进行测量,未被测量的量子系统将会实现相应的演化,并且通过对测量方式的控制,可以实现任意需要的演化。
也就是说,量子电路模型和1WQC模型都是通用的量子计算模型,可以实现任意的量子算法。
然而,由于两种量子计算模型的计算方式不同,量子算法的具体表达形式也不一样。量子电路模型中的算法通常采用量子电路图来描述,包含初始量子态和量子门操作,其中,量子电路图为量子电路的图形表示。而1WQC模型中的算法则是采用测量模式来描述,包含计算空间、输入节点、输出节点和计算指令。
可以简单地将量子电路模型和1WQC模型理解为两种不同的量子计算语言。虽然这两种语言都能表述任意的量子算法,但是语言之间的转化翻译非常复杂。而在特定的应用场景下,需要将同一个算法在两种不同计算模型下进行等价地翻译。其中,具有重要价值的应用场景之一就是盲量子计算。
一方面,在经典代理计算服务中,拥有简易计算装置的普通用户可以通过访问云服务器的方式来获得更强大的算力。类似地,云量子计算也会成为未来量子互联网的主流服务方式。由于量子电路模型有较为直观的经典逻辑与之对应,用户直接参与设计或使用的算法有很大可能是采用量子电路图进行描述的。
另一方面,在量子互联网中的用户,可以通过盲量子计算协议将需要执行的算法和数据隐藏在具有特定结构的1WQC测量模式之中,以保护自己在使用云计算服务时候的隐私,也就是说,为了在量子互联网中实现盲量子计算,需要使用具有特殊结构的1WQC测量模式如砖块测量模式,来对算法和数据进行加密。
为了能够让用户使用盲量子计算的服务,以保护用户的隐私,需要将量子电路算法翻译成1WQC测量模式如砖块测量模式。而本实施例的目的即是解决量子电路算法与1WQC测量模式如砖块测量模式的翻译问题,以将量子电路自动化映射为1WQC测量模式如砖块测量模式,并保证与原量子电路的等价性,从而在1WQC模型下提交量子计算任务。
为了更好地阐述本实施例的方案,以下对量子电路模型和1WQC测量模型进行说明。
量子电路模型
量子电路模型是一种常用的量子计算模型。通过对初始量子态进行量子门操作完成量子态的演化,并通过量子测量提取计算结果。而量子电路图则表示了量子电路模型计算的全部过程。
图1是一示例的量子电路图的结构示意图,如图1所示,可以用一根水平线表示一个量子比特系统,从上至下依次对量子比特位进行标号,其中,量子位的标号往往从零开始,量子位的总个数定义为量子电路的宽度,用N表示。
通常约定量子电路图从左往右读取,最左端为初始的量子态,其中,通常每个量子比特初始化为零态,之后对初始态依次作用不同的量子门操作以完成量子态的演化。最终在量子电路图的最右端,可以对每个量子比特系统进行量子测量,得到测量结果。
图1中的量子电路可以由所有的单比特量子门和作用在相邻比特位上的控制非门构成,若量子电路中包括非相邻比特的双比特量子门,可以通过添加SWAP门变成相邻比特的量子门。
量子电路中默认量子测量可以为泡利X测量,而其他量子测量可以通过添加单比特量子门转化为泡利X测量。
量子电路图中除了初始量子态和量子测量以外的部分,通常可以按照如表1中所记录的存储规则,根据作用顺序将所有的量子门记录在一个有序列表中,从而完成对量子电路图的存储。
表1量子电路图的存储信息表
Figure BDA0003571355500000061
其中,name为量子门的名称,which_qubit为量子门作用的量子位,单比特量子门的which_qubit为作用的量子位,双比特量子门的which_qubit为由控制位control和受控位target构成的列表[control,target],parameter为量子门的参数,如没有参数则默认为None。
设量子电路图中共有M个量子门,可以把存储好的单个量子门记做gi(1≤i≤M),则按照量子门的作用顺序对量子电路图进行存储后,得到的有序列表Q可以记做如下式(1)所示:
Q=[g1,g2,...,gM] (1)
例如,图1所示的量子电路可以使用如下的有序列表Q来存储:
Q=[[Rz,0,α],[H,1,None],[Rx,0,β],[CNOT,[0,1],None],[CNOT,[1,2],None]]。
图2是一示例的量子电路列表的结构示意图,该图可以对该有序列表Q的结构进行直观的理解,如图2所示,该量子电路包括5个量子门,与有序列表Q中的元素一一对应。量子电路在实际执行时从左至右读取有序列表Q中的量子门,依次对指定的量子比特执行相应的量子门操作。
1WQC模型
1WQC模型是不同于量子电路模型的另一种量子计算模型,其核心思想在于对一个量子纠缠态的部分比特进行测量,未被测量的量子系统将会实现相应的演化,并且通过对测量方式的控制,可以实现任意需要的演化。
数学上,一个1WQC模型的算法可以用测量模式来描述。每个测量模式P由四个部分组成,分别为计算空间V、输入节点R、输出节点O和计算指令C,可以用下式(2)表示。
P=[V,R,O,C] (2)
其中,计算空间V为1WQC模型所涉及的全部节点集合,输入节点R为初始量子态的节点集合,输出节点O为量子态或最终测量结果的输出节点集合,二者均为V的子集,计算指令C由四种基本指令E、M、X和Z构成,其存储规则和执行方式由表2所示。
表2测量模式中四种计算指令的存储规则和执行方式表
Figure BDA0003571355500000071
Figure BDA0003571355500000081
其中,E、M、X、Z分别表示指令的类型及名称;which_qubit为该指令作用的量子位,测量指令和纠正指令的which_qubit为作用的量子位,纠缠指令的which_qubit为作用控制Z门CZ的两个量子位构成的列表。
angle是一个实数,表示测量的角度;plane是一个名称,为“XY”、“YZ”或者“XZ”,表示单比特测量的布洛克球平面;domain_s、domain_t和domain都是节点标号的集合,分别表示该指令对应的依赖关系。
在标准化的计算指令中,所有纠缠指令E排在列表的最左边,其次是所有的测量指令M,然后是所有的纠正指令X,最后是所有的纠正指令Z。在实际执行时,从左至右依次读取列表中的计算指令,按照纠缠、测量、纠正的顺序依次执行。
图3是一示例的测量模式的结构示意图,该图可以对一个测量模式进行直观理解。
以下将量子电路模型中的Hadamard门转换成与Hadamard门等价的测量模式为例进行说明。
量子电路模型中,Hadamard门用
Figure BDA0003571355500000082
表示,在1WQC模型中,存在一种与之等价的测量模式,用PH表示。
图4是将H门转换为与之等价的测量模式的示意图,图4中左图为H门,图4中右图为测量模式PH,该测量模式涉及两个节点,分别为节点401和节点402,标号1和2。其中,节点401为初始态输入节点(可以设输入态为
Figure BDA0003571355500000083
),节点402为输出节点。该测量模式PH可以表示为如下式(3)所示。
PH=[V={1,2},R={1},O={2},C=[[E,[1,2]],[M,1,0,XY,[],[]],[X,2,[1]]]] (3)
在1WQC模型中,可以默认初始化输入节点为输入态,初始化其余所有节点为加态,计算指令C从左往右依次执行如下:
纠缠指令:对节点401和402的量子比特系统作用控制Z门;
测量指令:对节点401上的量子态进行量子测量,测量角度为0,测量平面为XY平面,domain_s和domain_t为空;
纠正指令:若节点401的测量结果为1,则对节点402的量子比特系统作用泡利X门,否则不作用泡利X门。
执行完所有的计算指令后,处于输出节点402上的量子态等价于对输入态
Figure BDA0003571355500000091
作用了Hadamard门后所处的状态H
Figure BDA0003571355500000092
从而实现了等价于量子电路的量子态演化。
上述详细介绍了两种不同的量子计算模型,以下基于上述两种量子计算模型,对本公开实施例提供的量子计算处理方法进行详细阐述。
如图5所示,本公开提供一种量子计算处理方法,包括如下步骤:
步骤S501:获取第一信息,所述第一信息用于表征量子电路的结构,所述量子电路包括M个量子门。
其中,M为正整数。
该步骤中,第一信息可以为量子电路的结构信息,可以表征量子电路的结构。其中,该量子电路可以为可实现量子算法的任一量子电路,可以用量子电路图表示。
其中,该量子电路可以包括M个量子门,M为正整数。作用量子门的量子位可以为一个,也可以为两个量子位,且同一量子位可以作用于不同量子门,作用一个量子位的量子门可以称之为单比特量子门,而作用两个量子位的量子门可以称之为双比特量子门;相应的,M个量子门所作用的量子位的数量可以为N个,N为正整数。
M个量子门所作用的量子位可以从0开始标号,如0,1,…,N-1,也可以以其他方式标号,这里不进行具体限定。
在一可选实施方式中,M个量子门所作用的量子位可以从0开始标号,且M个量子门的信息可以在所述第一信息中按照量子门在所述量子电路中的作用顺序有序排列,即第一信息可以为如上式(1)所示结构的有序列表。
第一信息的获取方式可以包括多种,比如,在基于量子计算任务设计得到量子电路的情况下,可以按照量子门的作用顺序对量子电路图进行存储,得到第一信息。也可以获取预先存储的可实现量子计算任务的量子电路对应的有序列表,将该有序列表作为第一信息。还可以接收其他电子设备发送的可实现量子计算任务的量子电路对应的有序列表,将该有序列表作为第一信息。亦或是接收用户输入的量子电路对应的有序列表,将该有序列表作为第一信息。
步骤S502:基于所述第一信息,对目标模具图的子模具图进行量子门填充,得到第二信息,所述目标模具图中填充的量子门包括所述M个量子门,所述目标模具图基于子模具图拼接得到,所述子模具图基于网格节点图中的网格节点按照预设规则进行组合得到,所述第二信息用于通过网格节点坐标与量子门之间的映射关系表征第一电路的结构,第一量子门在所述第一电路中的相对位置,与所述第一量子门在所述量子电路中的相对位置相同,所述相对位置为相对于所述M个量子门的位置,所述第一量子门为所述M个量子门中的任一量子门。
该步骤中,该目标模具图可以包括子模具图,该子模具图可以基于网格节点图中的网格节点按照预设规则进行组合得到。
该目标模具图可以包括一种类型的子模具图,也可以包括两种类型的子模具图,亦或是多种类型的子模具图。在一种可选实施方式中,该目标模具图可以包括两种类型的子模具图,分别为第一子模具图和第二子模具图;其中,第一子模具图和第二子模具图的区别可以在于组合子模具图的网格节点的数量不同,以及组合的预设规则也可以不同。
该预设规则可以包括将相邻的至少两个网格节点进行组合,比如,将将相邻的两个网格节点进行组合,或者将相邻的四个网格节点进行组合。也可以包括将一个网格节点进行组合,这里不进行具体限定。
在一可选实施方式中,该目标模具图可以包括第一子模具图和第二子模具图,所述第一子模具图可以由两个相邻网格节点组合得到,所述第二子模具图可以由一个网格节点组合得到。该种组合方式可以更贴切于量子门的结构(作用于量子门的量子位最多为两个),使得在目标模具图的子模具图中进行量子门填充时,可以减少整体电路的规模。
以下详细介绍一示例中的目标模具图的构造方式。
目标模具图可以由网格节点集进行构造,网格节点集由一系列排列规整的网格节点坐标构成,每个坐标用一个二元整数数组表示。
根据这些坐标可以在二维平面上画出网格节点集对应的图,称为网格节点图,网格节点图中网格节点的总行数N称为宽度,网格节点的总列数D称为深度。给定两个正整数,N≥1和D≥1,网格节点集可以为φ={(X,Y):X∈[N],Y∈[D]},其中,[N]={0,1,...,N-1},[D]={0,1,...,D-1},X和Y分别为行标和列标。
N可以为构成所述M个量子门的量子位数量,D可以为任一正整数,N行和D列的网格节点图如图6所示,每个圆圈表示一个网格节点601,二维整数数组为其坐标,行标和列标沿着竖直向下和水平向右的方向依次从0增加至N-1和D-1。
网络节点图中的网格节点可以按照预设规则进行组合,从而定义子模具的概念。比如,每相邻两个网格节点之间可以组合成一个第一子模具图,其可以对应U模具,处于网格节点图中第一行和最后一行中某些网格节点可单独构成第二子模具图,可以对应I模具。
由U模具和I模具拼接成的模具可以称之为砖块模具,可以用目标模具图来描述。
在一示例中,可以按照如下预设规则构造砖块模具:
将满足第一预设条件的第一目标网格节点与第二目标网格节点进行组合得到第一子模具图,所述第二目标网格节点为与所述第一目标网格节点纵向相邻的网格节点,所述第一预设条件包括:0≤X≤N-2,0≤Y≤D-1,且X和Y的和值为偶数。
在N为偶数的情况下,将满足第二预设条件的第三目标网格节点构成第二子模具图,所述第二预设条件包括:X∈{0,N-1},且0≤Y≤D-1;
在N为奇数的情况下,将满足第三预设条件的第四目标网格节点构成第二子模具图,所述第三预设条件包括:X=0,0≤Y≤D-1,且Y为奇数;
在N为奇数的情况下,将满足第四预设条件的第五目标网格节点构成第二子模具图,所述第四预设条件包括:X=N-1,0≤Y≤D-1,且Y为偶数。
其构造算法如下:
输入:正整数N:网格节点图的宽度;正奇数D:网格节点图的深度;
输出:列表BK:砖块模具;
初始化BK;
对所有满足0≤X≤N-2,0≤Y≤D-1,且X+Y≡0mod2的网格节点(X,Y),将网格节点(X,Y)和(X+1,Y)用一个列标存储起来,称为U模具,即[(X,Y),(X+1,Y)],并将其加入列表BK中;
如果N为偶数,则对所有满足X∈{0,N-1}且0≤Y≤D-1,Y为奇数的网格节点(X,Y)单独存储,称为I模具,将其加入列表BK中;
如果N为奇数,则对所有满足X=0且0≤Y≤D-1,Y为奇数的网格节点(X,Y)单独存储,称为I模具,将其加入列表BK中;对所有满足X=N-1且0≤Y≤D-1,Y为偶数的网格节点(X,Y)单独存储,称为I模具,将其加入列表BK中。
根据上述构造算法构造得到的砖块模具的排列方式根据N的奇偶性有且仅有两种情况,如图7所示为N为偶数时的目标模具图,如图8所示为N为奇数时的目标模具图。
需要说明的是,通过上述构造算法进行砖块模具的构造只是一种示例,也可以采用其他构造方式构造砖块模具,得到目标模具图。比如,可以将相邻的四个网格节点组合构造第一子模具图,这里不进行具体限定。
在得到目标模具图的情况下,可以基于第一信息,对目标模具图的子模具图进行量子门填充,得到第二信息。
其填充的原则可以是:在不改变量子电路中量子门相对位置关系的情况下,将其填充至砖块模具中。
其填充的结果可以是:针对量子电路中每个量子门,该量子门在填充得到的第一电路中的相对位置,与该量子门在量子电路中的相对位置相同,相对位置为该量子门相对于所述M个量子门的位置,这样可以不改变量子电路的作用效果。
其填充的目的可以是:得到子模具图中的网格节点坐标与量子门之间的映射关系,该量子门可以是量子电路中的量子门,也可以是单位门,任意量子门与单位门作用,作用效果均不会发生改变。也就是说,子模具图中不仅可以填充量子电路中的量子门,也可以填充单位门,以构造完整的第一电路。比如,针对第一子模具图,可以填充双比特量子门,也可以填充单比特量子门和单位门,亦或是填充两个单位门。
在基于所述第一信息对目标模具图的子模具图进行量子门填充完成的情况下,可以得到第一电路的图形表示即第一电路图,具体可以得到第一电路图的信息即第二信息,按照砖块模具的结构填充量子门得到的第一电路可以称之为砖块电路。
该第二信息可以包括:针对第一电路图对应的网格节点集中的每个网格节点,与该网格节点对应的量子门,第二信息也可以包括:第一电路图的深度D和宽度N,以及针对量子电路的每个量子门,与该量子门对应的网格节点集中的网格节点坐标(网格节点集中的其他网格节点坐标可以默认对应单位门),即第二信息可以通过网格节点坐标与量子门之间的映射关系f来表征第一电路的结构。
可以按照双比特量子门的作用顺序以及对应的量子位,将量子电路中的双比特量子门填充至对应的第一子模具图中,按照单比特量子门的作用顺序以及对应的量子位,将量子电路中的单比特量子门填充至对应的第二子模具图中,或者,将单比特量子门填充至对应的第一子模具图中的一个网格节点位置处,这里不进行具体限定。
在一可选实施方式中,可以按照预设填充规则对目标模具图的子模具图进行量子门填充。该预设填充规则可以包括:只有第一子模具图(对应U模具)中的网格节点位置处允许被填充量子电路中的量子门,而第二子模具图(对应I模具)不允许填充量子电路中的量子门,只允许填充单位门。
在填充时,可以分别将量子门单独作为一列填充至对应的子模具图中,也可以依照量子门的作用顺序,依次将量子门填充至对应的子模具图中。其中,在依次将量子门填充至对应的子模具图过程中,后一量子门的填充位置需要依据前一量子门的填充位置确定。
步骤S503:基于所述第二信息和预设的目标转换关系,对所述第一电路进行转换处理,得到与所述量子电路等价的目标测量模式,所述目标转换关系用于表征所述子模具图与测量模式的转换关系,所述目标测量模式用于执行量子计算任务。
该步骤中,目标转换关系可以指的是子模具图与测量模式的转换关系,在一可选实施方式中,若目标模具图包括U模具和I模具,目标转换关系可以包括U模具与测量模式的转换关系,以及I模具与测量模式的转换关系。
图9是一示例中U模具与1WQC模型中等价的测量模式的转换关系示意图,如图9所示,左图为一个U模具,右图为与U模具等价的测量模式,节点上标注的角度为测量角度。通过调节测量角度,该测量模式可以实现两个单比特量子门,或实现一个双比特量子门。
图10是一示例中I模具与1WQC模型中等价的测量模式的转换关系示意图,如图10所示,左图为一个I模具,在预设填充规则中只允许填充一个单位门。右图为与I模具等价的测量模式,节点上标注的角度为测量角度。该测量模式的所有节点测量角度都为0,即对所有节点进行泡利X测量,该测量模式可以实现一个单位门的作用效果。
需要说明的是,也可以设计与图9和图10所示不同的目标转换关系,进行子模具图与测量模式的转换,这里不进行具体限定。
在一可选实施方式中,可以根据第二信息,确定第一电路中U模具对应的子电路,即确定U模具对应的子电路所包括的量子门,并确定第一电路中I模具对应的子电路,即确定I模具对应的子电路所包括的量子门。
按照U模具与测量模式的转换关系和该U模具对应的子电路中的量子门,将第一电路中U模具对应的子电路进行转换,得到与该U模具对应的子电路等价的测量模式。同时,按照I模具与测量模式的转换关系和该I模具对应的子电路中的量子门,将第一电路中I模具对应的子电路进行转换,得到与该I模具对应的子电路等价的测量模式。
之后,合并同一行中前一个模具的输出节点与后一个模具的输入节点,可以得到与第一电路等价的目标测量模式,即与量子电路等价的目标测量模式。
该目标测量模式可以包括量子测量对应的测量模式,也可以不包括量子测量对应的测量模式,这里不进行具体限定。
该目标测量模式可以为原始测量模式,也可以为标准测量模式,即在合并同一行中前一个模具的输出节点与后一个模具的输入节点,得到原始测量模式之后,对该原始测量模式进行标准化,得到标准测量模式。
由于该目标测量模式对应的图具有砖块状的结构,因此可以称之为砖块测量模式。如图11所示,该图为砖块测量模式对应的节点图,由于该节点图是一类具有特殊砖块状结构的图,称为砖块图。具体而言,给定宽度N和深度D1,其中,N和D1均为正整数,且D1≡5(mod8)成立,砖块图可以按照如下方式进行构造。其中,D1≡5(mod8)表示D1除以8与5同余。
节点集为φ1={(X,Y):X∈[N],Y∈[D1]};
按顺序依次执行以下步骤,构造边集合E;
步骤1:对于X∈[N],Y∈[D1-1],构造边((X,Y),(X,Y+1)),将其加入集合E中;
步骤2:对于X∈[N],Y∈[D1],X≡0(mod2)和Y≡2(mod8),构造边((X,Y),(X+1,Y))和((X,Y+2),(X+1,Y+2)),将其加入集合E中;
步骤3:对于X∈[N],Y∈[D1],X≡1(mod2)和Y≡6(mod8),构造边((X,Y),(X+1,Y))和((X,Y+2),(X+1,Y+2)),将其加入集合E中;
执行上述步骤后,列表G=[φ1,E]称之为宽度为N,深度为D1的砖块图,该砖块图由N和D1唯一确定。
如图11所示,最左侧一列的节点1101为输入量子态对应的节点,最右侧一列的节点1102为输出量子态对应的节点。方框1103部分对应为一个U模具,方框1104部分对应为一个I模具。节点上标注的是对该节点的测量方式,按照从左至右的顺序依次对图中所有节点按列进行测量,即可完成与量子电路等价的计算效果。
本实施例中,通过获取第一信息,所述第一信息用于表征量子电路的结构,所述量子电路包括M个量子门;基于所述第一信息,对目标模具图的子模具图进行量子门填充,得到第二信息;基于所述第二信息和预设的目标转换关系,对所述第一电路进行转换处理,得到与所述量子电路等价的目标测量模式,所述目标测量模式用于执行量子计算任务。如此,可以实现将量子电路翻译成与其等价的测量模式,从而可以实现盲量子计算的服务,进而可以提高量子计算中的数据安全性。
可选的,所述目标模具图包括第一子模具图和第二子模具图,所述第一子模具图由两个相邻网格节点组合得到,所述第二子模具图由一个网格节点组合得到;所述步骤S502具体包括:
基于所述第一信息,将所述M个量子门中的每个量子门填充至所述目标模具图的第一子模具图中;
将所述目标模具图中的目标位置填充单位门,得到所述第二信息,所述目标位置包括所述第二子模具图中的网格节点位置、以及所述第一子模具图中未填充量子门的网格节点位置。
本实施方式中,该目标模具图可以包括第一子模具图和第二子模具图,所述第一子模具图可以由两个相邻网格节点组合得到,所述第二子模具图可以由一个网格节点组合得到。该种组合方式可以更贴切于量子门的结构(作用于量子门的量子位最多为两个),使得在目标模具图的子模具图中进行量子门填充时,可以减少整体电路的规模。
在该目标模具图包括第一子模具图和第二子模具图的情况下,可以按照预设填充规则对目标模具图的子模具图进行量子门填充。该预设填充规则可以包括:只有第一子模具图(对应U模具)中的网格节点位置处允许被填充量子电路中的量子门,而第二子模具图(对应I模具)不允许填充量子电路中的量子门,只允许填充单位门。
本实施方式中,通过将砖块模具划分为U模具和I模具,并通过预设填充规则在目标模具图中进行量子门填充,从而可以自动化实现量子电路与第一电路(可以称之为砖块电路)的转换。
可选的,所述预设规则包括:
将满足第一预设条件的第一目标网格节点与第二目标网格节点进行组合得到第一子模具图,所述第二目标网格节点为与所述第一目标网格节点纵向相邻的网格节点,所述第一预设条件包括:0≤X≤N-2,0≤Y≤D-1,且X和Y的和值为偶数,X为网格节点的行标,Y为网格节点的列标,N为构成所述M个量子门的量子位数量,D为目标模具图的深度,D为正奇数。
本实施方式中,可以对所有满足0≤X≤N-2,0≤Y≤D-1,且X+Y≡0mod2的网格节点(X,Y),将网格节点(X,Y)和(X+1,Y)用一个列标存储起来,称为U模具,即[(X,Y),(X+1,Y)]。如此,通过将纵向的两个相邻网格节点组合成U模具,从而可以实现根据量子电路中的量子门对应的量子位以及其相对位置,在第一子模具图中进行量子门的填充,简化量子门的填充过程。
可选的,所述预设规则还包括以下至少一项:
在N为偶数的情况下,将满足第二预设条件的第三目标网格节点构成第二子模具图,所述第二预设条件包括:X∈{0,N-1},且0≤Y≤D-1;
在N为奇数的情况下,将满足第三预设条件的第四目标网格节点构成第二子模具图,所述第三预设条件包括:X=0,0≤Y≤D-1,且Y为奇数;
在N为奇数的情况下,将满足第四预设条件的第五目标网格节点构成第二子模具图,所述第四预设条件包括:X=N-1,0≤Y≤D-1,且Y为偶数。
本实施方式中,在一可选实施方式中,如果N为偶数,则可以对所有满足X∈{0,N-1}且0≤Y≤D-1,Y为奇数的网格节点(X,Y)单独存储,称为I模具。在N为偶数的情况下,按照预设规则所构造的目标模具图如图7所示。
如果N为奇数,则对所有满足X=0且0≤Y≤D-1,Y为奇数的网格节点(X,Y)单独存储,称为I模具,将其加入列表BK中;对所有满足X=N-1且0≤Y≤D-1,Y为偶数的网格节点(X,Y)单独存储,称为I模具。在N为奇数的情况下,按照预设规则所构造的目标模具图如图8所示。
本实施方式中,在N确定的情况下,通过预设规则所构造的砖块模具的结构唯一确定。
可选的,所述基于所述第一信息,将所述M个量子门中的每个量子门填充至所述目标模具图的第一子模具图中,包括:
针对所述M个量子门中每个量子门,基于所述量子门对应的量子位以及所述量子门在所述M个量子门中的相对位置,将所述量子门填充至所述目标模具图的第一目标子模具图中,所述第一目标子模具图为所述目标模具图中与所述量子门在所述M个量子门中的相对位置相同的第一子模具图;
其中,所述第一信息包括:每个量子门对应的量子位以及每个量子门在所述M个量子门中的相对位置。
本实施方式中,可以将量子电路中的每个量子门单独作为一列依次填充到目标模具图的第一目标子模具图中,所述第一目标子模具图为所述目标模具图中与所述量子门在所述M个量子门中的相对位置相同的第一子模具图。
之后将目标模具图中的空缺位置填充单位门,其中,空缺位置可以指的是目标模具图对应的网格节点集中未填充量子门的网格节点位置,空缺位置可以包括第二子模具图中的网格节点位置,也可以包括第一子模具图中未填充量子门的网格节点位置。
图12是基于目标模具图填充得到的第一电路图的结构示意图之一,该图描述的电路与图1描述的电路等价,如图12所示,图1所示的每个量子门均作为单独一列依次填充至目标模具图中,每个单比特量子门将会独占一列,在填充时只考虑其对应的量子位能否进行填充,并且在填充之后将同一列其他空位填充单位门,以得到第一电路图,且针对每个量子门,该量子门在第一电路中的相对位置与该量子门在量子电路中的相对位置相同。
本实施方式中,通过将每个量子门均作为单独一列依次填充至目标模具图中,其填充方式非常简单。
可选的,所述M个量子门的信息在所述第一信息中按照量子门在所述量子电路中的作用顺序有序排列,所述基于所述第一信息,将所述M个量子门中的每个量子门填充至所述目标模具图的第一子模具图中,包括:
针对所述M个量子门中的第K个量子门,获取填充列表信息,所述填充列表信息用于查询目标列标中标号最小的列表,所述目标列标为所述目标模具图的第一子模具图中可填充所述第K个量子门的网格节点的列标,K为小于或等于M的正整数;
将所述第K个量子门填充到所述目标模具图的第二目标子模具图中,所述第二目标子模具图基于所述填充列表信息查询到的列标,以及所述第K个量子门对应的量子位确定,所述第一信息包括每个量子门对应的量子位;
在K小于M的情况下,更新所述填充列表信息,更新的所述填充列表信息用于查询在所述目标模具图的第一子模具图中填充所述第K+1个量子门的网格节点的列标。
将每个量子门均作为单独一列依次填充至目标模具图中的填充方式可能会导致第一电路中存在比较多冗余的单位门,如图12所示,U模具中将会出现7个冗余的单位门,I模具中共填充7个单位门,不计最后一层的量子测量,第一电路的深度为7。
本实施方式中,基于目标模具图依据尽量靠左的填充方式进行量子门的填充,可以减小整体电路的规模,图13是基于目标模具图填充得到的第一电路图的结构示意图之二,该图是基于目标模具图依据尽量靠左的填充方式进行量子门填充得到。
例如,中间一行的H门在填充时并未自成一列,而是与第一行的Rz门填充到了相同的一列。按照该填充方式,填充结束后,U模具中只出现3个冗余的单位门,I模具中共填充5个单位门,不计最后一层的量子测量,第一电路的深度为5,从而减小了整体电路的规模。
以下详细介绍基于目标模具图依据尽量靠左的填充方式进行量子门的填充。
可以使用有效列动态更新方式,将量子电路中的每个量子门依次填充到目标模具图之中。有效列动态更新方式可以包括三个过程,分别为初始化有效列列表、填充量子门、以及更新有效列列表。
通过标定当前量子门在目标模具图中可填充的最左侧位置的列标,并基于该列标填充当前量子门,之后通过对列标的动态更新,标定下一量子门在目标模具图中可以填充的最左侧位置的列标,从而可以自动完成将量子电路中的量子门尽量靠左填充至目标模具图。
其中,可以将可填充的最左侧位置的列标称之为有效列,最左侧位置是相对于未填充量子门的U模具来说的,即按照从左至右的作用顺序,最左侧位置可以指的是可填充量子门,且位于最左侧的U模具中的网格节点位置,也就是说,可填充的最左侧位置的列标为用于追踪量子门填充到该目标模具图时最小的列标。
填充列表信息可以用于查询在所述目标模具图的第一子模具图中可填充所述第K个量子门的网格节点的列标,填充列表信息具体可以用于查询在所述目标模具图的第一子模具图中可填充所述第K个量子门的最左侧位置的网格节点的列标。
填充列表信息可以仅包括第一填充列表,也可以仅包括第二填充列表,或者同时包括第一填充列表和第二填充列表。第一填充列表用于查询可填充单比特量子门的网格节点的列标,所述第二填充列表用于查询可填充双比特量子门的网格节点的列标。
比如,在量子电路同时包括单比特量子门和双比特量子门的情况下,填充列表信息可以包括第一填充列表和第二填充列表。
第一填充列表和/或第二填充列表可以为一维列表,可以包括索引号和每个索引号对应的列标,索引号可以从0开始,其余元素的索引号从左至右依次增大。索引号可以表示作用于量子门的目标量子位的标号,可以基于作用于量子门的目标量子位和该目标量子位对应的列标唯一确定网格节点位置。
其中,若量子门为双比特量子门,目标量子位为量子门对应的量子位(包括控制位和受控位)中标号小的量子位。若量子门为单比特量子门,目标量子位即为作用于量子门的量子位。
比如,针对一个单比特量子门,该单比特量子门对应的目标量子位的标号为1,且填充列表信息中索引号为1对应的列标为0,则可以将该单比特量子门填充至坐标为(1,0)的网格节点位置处。
又比如,针对一个双比特量子门,该双比特量子门对应的目标量子位为1,且填充列表信息中索引号为1对应的列标为1,则可以将该双比特量子门填充至坐标为(1,1)和(2,1)的网格节点位置处。
以填充列表信息的一次循环更新,且填充列表信息以包括第一填充列表和第二填充列表为例,针对所述M个量子门中的第K个量子门,可以获取填充列表信息。
在K为1的情况下,可以初始化填充列表信息,具体在填充量子门之前,按照砖块模具的结构,初始化两个有效列列表S和T,分别代表单比特量子门的第一填充列表以及双比特量子门的第二填充列表。用于追踪下一个量子门填充到该目标模具图时最小的列标。
初始化填充列表信息的过程如下:
输入:正整数N:量子电路的宽度;
输出:有效列列表S和有效列列表T,有效列列表S为长度为N的第一填充列表,有效列列表T为长度为N-1的第二填充列表;
根据N的奇偶性,初始化一个长度为N的有效列列表S,N为奇数时,所有元素设置为0,当N为奇数时,索引号为N-1的元素设置为1,其他索引号设置为0;
初始化一个长度为N-1的有效列列表T,索引号为偶数的元素设置为0,索引号为奇数的元素设置为1。
上述初始化列表中,单比特量子门的有效列列表S的索引号表示量子位的编号,对应数值表示可以填充单比特量子门到目标模具图中的有效列标。
例如,宽度为N=5的量子电路,有效列列表S初始化为S=[0,0,0,0,1],特别地,当前所需要填充的量子门对应的量子位的标号为1,从左至右数第2个元素是0(即索引号为1的元素数值是0),表示作用在标号为1的量子位上的单比特量子门可以填充到目标模具图中坐标为(1,0)的网格节点位置。
双比特量子门的有效列列表D的索引号表示控制位和受控位中较小的量子位标号,索引号对应的数值表示当前所需要填充的双比特量子门可以填充到目标模具图中的有效列标。
例如,宽度为6的电路,列表D初始化为D=[0,1,0,1,0],特别地,当前所需要填充的双比特量子门对应的目标量子位的标号为1,从左至右数第2个数字是1(即索引号为1的元素数值是1),表示作用在标号为1和2量子位上的双比特量子门可以填充到目标模具图中坐标为(1,1)和(2,1)的网格节点位置。
在K大于1,且K小于或等于M-1的情况下,该填充列表信息可以在第K-1个量子门对应的填充列表信息基础上更新得到,其更新的方式将在以下实施方式中进行详细说明。
在针对第K个量子门获取到对应的填充列表信息的情况下,可以获取作用在第K个量子门的目标量子位的标号,在该填充列表信息中查询目标量子位的标号对应的列标。
以目标量子位的标号为行标,以查询到的列标为列标,确定网格节点位置,并将所述第K个量子门填充到所述目标模具图的第二目标子模具图中的该网格节点位置处。
在K小于M的情况下,更新所述填充列表信息,更新的所述填充列表信息用于查询在所述目标模具图的第一子模具图中填充所述第K+1个量子门的网格节点的列标。
如此,从获取填充列表信息、基于该填充列表信息进行量子门的填充、更新填充列表信息的这整个过程可以实现填充列表信息的一次循环更新,在该一次循环更新过程中,可以实现一个量子门的填充。依次进行上述的填充列表信息的循环更新,可以依次实现对量子电路中每个量子门在目标模具图中的填充。
上述详细介绍了基于目标模具图依据尽量靠左的填充方式进行量子门的填充,该种填充方式相对于将每个量子门均作为单独一列依次填充至目标模具图中的填充方式,可以减小整体电路的规模。
可选的,所述填充列表信息包括第一填充列表和所述第二填充列表,所述第一填充列表用于查询可填充单比特量子门的网格节点的列标中标号最小的列标,所述第二填充列表用于查询可填充双比特量子门的网格节点的列标中标号最小的列标;所述将所述第K个量子门填充到所述目标模具图的第二目标子模具图中,包括以下至少一项:
在所述第K个量子门为单比特量子门的情况下,基于所述第K个量子门对应的量子位,按照所述第一填充列表查询用于填充所述第K个量子门的网格节点的列标,得到第一网格节点位置,将所述第K个量子门填充至所述第一网格节点位置对应的第二目标子模具图中;
在所述第K个量子门为双比特量子门的情况下,基于目标量子位,按照所述第二填充列表查询用于填充所述第K个量子门的网格节点的列标,得到第二网格节点位置,将所述第K个量子门填充至所述第二网格节点位置对应的第二目标子模具图中,所述目标量子位为所述第K个量子门对应的量子位中标号小的量子位。
本实施方式中,填充列表信息可以包括第一填充列表和第二填充列表,可以基于第K个量子门的类型,根据该类型对应的填充列表查询可填充第K个量子门的网格节点的列标。
在一可选实施方式中,在基于第一信息获取到第K个量子门为单比特量子门的情况下,基于作用在第K个量子门的量子位的标号,在第一填充列表中查询该量子位的标号对应的列标。
以该量子位的标号为行标,以查询到的列标为列标,确定第一网格节点位置,并将所述第K个量子门填充至所述第一网格节点位置对应的第二目标子模具图中。
在另一可选实施方式中,在基于第一信息获取到第K个量子门为双比特量子门的情况下,基于作用在第K个量子门的目标量子位的标号,在第二填充列表中查询该目标量子位的标号对应的列标。
以该目标量子位的标号为行标,以查询到的列标为列标,确定第二网格节点位置,并将所述第K个量子门填充至所述第二网格节点位置对应的第二目标子模具图中。
实际应用中,在填充一个量子门时,需要从有效列列表S或有效列列表T中查询有效列,并将其填充到目标模具图中对应的网格节点位置中。需要说明的是,填充量子门在算法上意味着在量子电路中的量子门的基础上,添加其填入第一电路时的列标信息。依据填充量子门的类型,填充规则如下:
输入:列表gi=[name,which_qubit,parameter],为待填充量子门,正整数N,有效列列表S,有效列列表T;
输出:列表g′i=[name,input,output,parameter],为填充后的量子门;
如果gi为单比特量子门,则以which_qubit作为索引号查找有效列列表S中对应元素的数值,记为column。根据砖块模具的构造,gi应被填充到砖块模具中的(which_qubit,column)位置,取input=[(which_qubit,column)]作为输入节点坐标,output=[(which_qubit,column+1)]作为输出节点坐标。
如果gi为双比特量子门,由于which_qubit=[control,target]为控制位control和受控位target构成的列表,以min(control,target)为索引号,查找有效列列表T中对应元素的数值,记为column。根据砖块模具的构造,gi应被填充到砖块模具中的(control,column)和(target,column)对应的位置;取input=[(control,column),(target,column)]作为输入节点坐标,output=[(control,column+1),(target,column+1)]作为输出节点坐标。
本实施方式中,基于量子门的类型,选择该类型对应的填充列表,并基于所选择的填充列表查询可填充第K个量子门的网格节点的列标,如此,在量子电路同时包括单比特量子门和双比特量子门的情况下,可以实现对量子电路中各量子门的准确填充,以实现量子电路和第一电路的等价转换。
可选的,所述更新所述填充列表信息,包括以下至少一项:
在所述第K个量子门对应的量子位满足第五预设条件的情况下,将所述第一填充列表中第一量子位对应的列标加上2,所述第五预设条件为所述第K个量子门对应的量子位的行标包括第一行或最后一行,所述第一量子位为所述第K个量子门中位于第一行或最后一行的量子位;
在所述第K个量子门对应的量子位不满足所述第五预设条件的情况下,将所述第一填充列表中第二量子位对应的列标加上1,所述第二量子位为所述第K个量子门中不位于第一行、且不位于最后一行的量子位;
在所述第K个量子门为单比特量子门、且所述第二目标子模具图中仅包括所述第K个量子门的情况下,将所述第二填充列表中第三量子位对应的列标加上2,所述第三量子位为所述第K个量子门对应的量子位,或者所述第K个量子门对应的量子位减去1得到的量子位;
在所述第K个量子门为单比特量子门、且所述第二目标子模具图中包括两个单比特量子门的情况下,保持所述第二填充列表不变;
在所述第K个量子门为双比特量子门、且所述第二填充列表满足第六预设条件的情况下,将所述第二填充列表中第四量子位对应的列标更新为第一列标,所述第四量子位为所述目标量子位减去1得到的量子位,所述第六预设条件为:所述第二填充列表中第四量子位对应的列标小于或等于所述第二填充列表中所述目标量子位对应的列标,所述第一列标为所述第二填充列表中所述目标量子位对应的列标加上1得到的列标;
在所述第K个量子门为双比特量子门、且所述第二填充列表满足第七预设条件的情况下,将所述第二填充列表中第五量子位对应的列标更新为所述第一列标,所述第五量子位为所述目标量子位加上1得到的量子位,所述第七预设条件为:所述第二填充列表中第五量子位对应的列标小于或等于所述第二填充列表中所述目标量子位对应的列标;
在所述第K个量子门为双比特量子门的情况下,将所述第二填充列表中所述目标量子位对应的列标加上2。
本实施方式中,由于最近一次填入的量子门会对后面量子门的填入位置产生影响,因此需要根据最近一次填充的量子门的类型和位置,对有效列列表S和有效列列表T进行更新,以记录下一个量子门填充位置的列标。
其中,更新所述填充列表信息包括以下至少一项:
更新第一填充列表;
更新第二填充列表。
需要说明的是,在进行量子门填充以及填充列表信息更新时,以下以仅考虑作用在相邻两个量子位上的双比特量子门为例进行说明。
以下详细介绍是如何更新第一填充列表的。
根据最近一次填充的量子门的位置和砖块模具的结构特点,下一次填充单比特量子门的位置可能有以下两种情形。
情形一:在所述第K个量子门对应的量子位满足第五预设条件的情况下,将所述第一填充列表中第一量子位对应的列标加上2,即将第一填充列表中第一量子位所表征的索引号对应的列标加上2。其中,所述第五预设条件为所述第K个量子门对应的量子位的行标包括第一行或最后一行,所述第一量子位为所述第K个量子门中位于第一行或最后一行的量子位。
也就是说,最近一次填入的量子门在第一行或最后一行,由于I模具不允许填充量子门,在下一步填充的时候需要空出I模具的位置,则对应的有效列应向后移动2列。
以填充H门为例,如图14所示,初始化有效列列表S=[0,0,0,0,1],若基于有效列列表S最近一次填充的H门1401在坐标为(0,0)的网格节点位置,则最近一次填充的H门在第一行,可以将有效列列表S中第一行量子位的索引号即0对应的列标加上2,更新的有效列列表S=[2,0,0,0,1]。也就是说,若下一个单比特量子门对应的量子位为0,则需要填充至坐标为(0,2)的网格节点位置1402处。
情形二:在所述第K个量子门对应的量子位不满足所述第五预设条件的情况下,将所述第一填充列表中第二量子位对应的列标加上1,所述第二量子位为所述第K个量子门中不位于第一行、且不位于最后一行的量子位。
也就是说,最近一次填入的量子门不在第一行或最后一行,则有效列应该向后移动1列。
以填充H门为例,如图15所示,初始化有效列列表S=[0,0,0,0,1],若基于有效列列表S最近一次填充的H门1501在坐标为(1,0)的网格节点位置,则最近一次填充的H门不在第一行,可以将有效列列表S中第二量子位(第二量子位为最近一次填充的量子门对应的量子位)的索引号即1对应的列标加上1,更新的有效列列表S=[0,1,0,0,1]。也就是说,若下一个单比特量子门对应的量子位为1,则需要填充至坐标为(1,1)的网格节点位置1502处。
根据填入的量子门类型,有效列列表S的更新规则可以如下所示。
输入:列表g′i=[name,input,output,parameter],最近一次填充的量子门,正整数N,有效列列表S,更新前的单比特量子门的有效列列表。
输出:有效列列表S,更新后的单比特量子门的有效列列表。
根据量子位是否在第一行和最后一行,以判断更新的步长。可以定义如下式(4)所示的步长函数step(X):
Figure BDA0003571355500000261
如果g′i为单比特量子门,input=[(which_qubit,column)],更新有效列列表S中索引号为which_qubit的元素数值为column+step(which_qubit)。
如果g′i为双比特量子门,则input=[(control,column),(target,column)],更新有效列列表S中索引号为control的元素数值为column+step(control),更新有效列列表S中索引号为target的元素数值为column+step(target)。
以下详细介绍是如何更新第二填充列表的。
对于有效列列表T而言,若最近一次填充的量子门为单比特量子门,则有如下两种更新的情形。
情形一:在所述第K个量子门为单比特量子门、且所述第二目标子模具图中仅包括所述第K个量子门的情况下,将所述第二填充列表中第三量子位对应的列标加上2,所述第三量子位为所述第K个量子门对应的量子位,或者所述第K个量子门对应的量子位减去1得到的量子位。
也就是说,若单比特量子门填入到了一个新的U模具中,则更新有效列列表T。以H门和CNOT门为例,如图16所示,初始化有效列列表S=[0,0,0,0,1],有效列列表T=[0,1,0,1],若基于有效列列表S最近一次填充的H门1601在坐标为(4,1)的网格节点位置,则H门1601填入到了一个新的U模具中,则可以将有效列列表T中第三量子位的索引号对应的列标加上2,更新的有效列列表T=[0,1,0,3]。
其中,若第K个量子门对应的量子位在最后一行,则第三量子位为所述第K个量子门对应的量子位减去1得到的量子位,若第K个量子门对应的量子位不在最后一行,则第三量子位为所述第K个量子门对应的量子位,或者为所述第K个量子门对应的量子位减去1得到的量子位。如图16所示,第K个量子门对应的量子位在最后一行(索引号为4),则第三量子位的索引号为3,也就是说,若下一个双比特量子门对应的目标量子位为3,则需要填充至坐标为(3,3)和(4,3)的网格节点位置对应的U模具1602中。
情形二:在所述第K个量子门为单比特量子门、且所述第二目标子模具图中包括两个单比特量子门的情况下,保持所述第二填充列表不变。也就是说,若单比特量子门填入到了已经填入另一单比特量子门的U模具中,则不更新有效列列表T。
以H门和CNOT门为例,如图17所示,左图为有效列列表T更新前的目标模具图,该目标模具图的U模具中坐标为(0,0)的网格节点位置处已经填充了一个H门1701,有效列列表T=[2,1,0,1]。
如图17中右图所示,若基于有效列列表S最近一次填充的H门1702在坐标为(1,0)的网格节点位置处,则H门1702未填入到了一个新的U模具中,而是与之前填充的一个H门1701共用一个U模具,此时可以保持有效列列表T不变。也就是说,若下一个双比特量子门对应的目标量子位为0,则依然是填充至坐标为(0,2)和(1,2)的网格节点位置对应的U模具1703中。
以上两种情况需要根据最近一次填充的量子门所在的列标,以及该列标与下一次填充双比特量子门所在列标的相对位置进行判断。如果最近一次填入的单比特量子门刚好落在预留给下一次填充双比特量子门的位置,那么下一次填充双比特量子门的时候就要向后排(情形一)。如果最近一次填入的单比特量子门落在预留给下一次填充双比特量子门的位置的前面,则不影响下一次双比特量子门的填充,有效列列表不用更新(情形二)。
若最近一次填充的量子门为双比特量子门,存在以下四种更新的情形。
情形一:在所述第K个量子门为双比特量子门、所述第二填充列表不满足第六预设条件、且所述第二填充列表不满足第七预设条件的情况下,将所述第二填充列表中所述目标量子位对应的列标加上2。
其中,所述第六预设条件为:第二填充列表中第四量子位对应的列标小于或等于所述第二填充列表中所述目标量子位对应的列标,第七预设条件为:第二填充列表中第五量子位对应的列标小于或等于所述第二填充列表中所述目标量子位对应的列标,所述第四量子位为所述目标量子位减去1得到的量子位,所述第五量子位为所述目标量子位加上1得到的量子位。
也就是说,在所述第K个量子门为双比特量子门、第二填充列表中第四量子位对应的列标大于所述第二填充列表中所述目标量子位对应的列标、且第二填充列表中第五量子位对应的列标大于所述第二填充列表中所述目标量子位对应的列标的情况下,将所述第二填充列表中所述目标量子位对应的列标加上2。
比如,第二填充列表T=[0,1,0,1],最近一次填充的双比特量子门对应的目标量子位为2,第二填充列表中该目标量子位对应的列标为0,而第四量子位即1对应的列标为1,第五量子位即3对应的列标为1,均大于0,满足第六预设条件,因此,在该种情况下,只需要将所述第二填充列表中所述目标量子位对应的列标加上2,第二填充列表T更新为[0,1,2,1]。
以CNOT门为例,如图18所示,初始化有效列列表T=[0,1,0,1],若基于有效列列表T最近一次填充的CNOT门1801在坐标为(2,0)和(3,0)的网格节点位置处,则可以将有效列列表T中目标量子位的索引号即2对应的列标加上2,更新的有效列列表T=[0,1,2,1]。也就是说,若下一个双比特量子门对应的目标量子位为2,则该双比特量子门需要填充至坐标为(2,2)和(3,2)的网格节点位置对应的U模具1802中,若下一个双比特量子门对应的目标量子位为1,则该双比特量子门需要填充至坐标为(1,1)和(2,1)的网格节点位置对应的U模具1803中,若下一个双比特量子门对应的目标量子位为3,则该双比特量子门需要填充至坐标为(3,1)和(4,1)的网格节点位置对应的U模具1804中。
情形二:在所述第K个量子门为双比特量子门、所述第二填充列表满足所述第六预设条件、所述第二填充列表满足所述第七预设条件的情况下,将所述第二填充列表中第四量子位对应的列标更新为第一列标,将所述第二填充列表中第五量子位对应的列标更新为所述第一列标,将所述第二填充列表中所述目标量子位对应的列标加上2,所述第一列标为所述第二填充列表中所述目标量子位对应的列标加上1得到的列标。
比如,第二填充列表T=[0,1,0,1],最近一次填充的双比特量子门对应的目标量子位为1,第二填充列表中该目标量子位对应的列标为1,而第四量子位即0对应的列标为0,第五量子位即2对应的列标为0,小于0,不满足第六预设条件。因此,在该种情况下,确定第一列标为该目标量子位对应的列标加上1得到的列标,将所述第二填充列表中第四量子位即0对应的列标更新为第一列标即2,将所述第二填充列表中第五量子位即2对应的列标更新为第一列标即2,将所述第二填充列表中目标量子位对应的列标加上2,第二填充列表T更新为[2,3,2,1]。
以CNOT门为例,如图19所示,初始化有效列列表T=[0,1,0,1],若基于有效列列表T最近一次填充的CNOT门1901在坐标为(1,1)和(2,1)的网格节点位置处,则可以将有效列列表T中第四量子位的索引号即0对应的列标更新为第一列标即2,可以将有效列列表T中第五量子位的索引号即2对应的列标更新为第一列标即2,可以将有效列列表T中目标量子位的索引号即1对应的列标加上2,更新的有效列列表T=[2,3,2,1]。也就是说,若下一个双比特量子门对应的目标量子位为1,则该双比特量子门需要填充至坐标为(1,3)和(2,3)的网格节点位置对应的U模具1902中,若下一个双比特量子门对应的目标量子位为0,则该双比特量子门需要填充至坐标为(0,2)和(1,2)的网格节点位置对应的U模具1903中,若下一个双比特量子门对应的目标量子位为2,则该双比特量子门需要填充至坐标为(2,2)和(3,2)的网格节点位置对应的U模具1904中。
情形三:在所述第K个量子门为双比特量子门、且所述第二填充列表满足所述第六预设条件的情况下,将所述第二填充列表中第四量子位对应的列标更新为第一列标,将所述第二填充列表中所述目标量子位对应的列标加上2。
情形四:在所述第K个量子门为双比特量子门、且所述第二填充列表满足所述第七预设条件的情况下,将所述第二填充列表中第五量子位对应的列标更新为第一列标,将所述第二填充列表中所述目标量子位对应的列标加上2。
也就是说,若最近一次填充的量子门为双比特量子门,设该量子门作用在(control,target)的量子位上,则下一次填充双比特量子门时受影响的位置分为两类,即需要更新的有效列列表T中元素有两类。一类是作用在(control,target)量子位上的量子门,有效列列表T中control量子位对应的列标一定需要更新;另一类是作用在(control-1,target-1)和(control+1,target+1)量子位上的量子门,有效列列表T中control-1量子位对应的列标和control+1量子位对应的列标是否需要更新,取决于最近一次填充的双比特量子门是否遮挡了作用在(control-1,target-1)和(control+1,target+1)量子门的位置。
如果最近一次填充的双比特量子门遮挡了作用在(control-1,target-1)量子门的位置,则有效列列表T中control-1量子位对应的列标需要更新,反之则不需要更新。
如果最近一次填充的双比特量子门遮挡了作用在(control+1,target+1)量子门的位置,则有效列列表T中control+1量子位对应的列标需要更新,反之则不需要更新。
根据填入的量子门的类型,有效列列表T的更新规则如下所示。
输入:列表g′i=[name,input,output,parameter],最近一次填充的量子门,正整数N,有效列列表T,更新前的双比特量子门的有效列列表。
输出:有效列列表T,更新前的双比特量子门的有效列列表。
若g′i为单比特量子门,input=[(which_qubit,column)],根据行标和列标的和值奇偶性判断该量子门所在的U模具位置,找到其所在的U模具占据的靠上量子位row_up=which_qubit-(which_qubit+column)(mod 2)。
以row_up为索引号查找有效列列表T中对应元素的数值,记为有效列column_next,若column=column_next,则更新有效列列表T中索引号为row_up的元素的数值为column_next+2;若column<column_next,则有效列列表T不做更新。
若g′i为双比特量子门,input=[(control,column),(target,column)];
如果control-1∈{0,1,…,N-3},则以control-1为索引号查找有效列列表T中对应元素的值,如果该值小于或等于column,则更新有效列列表T中索引号为control-1对应元素的值为column+1;
如果control+1∈{0,1,…,N-2},则以control+1为索引号查找有效列列表T中对应元素的值,如果该值小于或等于column,则更新有效列列表T中索引号为control+1对应元素的值为column+1;
以control为索引号查找有效列列表T中对应元素的值并将该值加2,即column+2。
本实施方式中,通过根据最近一次填充的量子门的类型和位置,对有效列列表S和有效列列表T进行更新,以记录下一个量子门填充位置的列标,从而通过填充列表信息的循环更新实现对量子电路中各量子门的有序填充。
使用有效列动态更新方式将量子电路中的每个量子门依次填充到目标模具图之中的完整过程如下:
输入:正整数N,为量子电路的宽度;列表Q=[g1,g2,...,gM],为由量子电路中所有量子门构成的有序列表。
输出:正整数D,为砖块模具的深度;列表Q′=[g′1,g′2,...,g′M],为将全部量子门依次映射到砖块模具后得到的有序列表。
初始化单比特量子门的有效列列表S和双比特量子门的有效列列表T;
初始化电路深度D=0,初始化一个空列表Q′;
对于列表Q中的每个量子门gi,依据有效列列表S和有效列列表T在目标模具图中进行量子门的填充,获得量子门g′i,将其放入至Q′中;
每填充一个量子门,从g′i中获得该量子门对应的有效列column,更新砖块模具的深度为当前深度D和column的最大值D=max(D,column);
分别更新有效列列表S和有效列列表T;
针对每个量子门,重复执行填充以及更新步骤,直至列表Q中所有量子门均被填充完毕,获得填充到砖块模具后的第一电路Q′及其深度D,Q′具有如下形式Q′=[g′1,g′2,...,g′M]。
当完成对量子电路中量子门的填充后,砖块模具中仍有一部分空缺位置,需要对这些空缺位置填充单位门,从而获得完整的第一电路。
可选的,所述将所述目标模具图中的目标位置填充单位门,得到所述第二信息,包括:
在确定所述目标模具图中的网格节点坐标与所述M个量子门之间的映射关系的情况下,分别在所述目标模具图中的每个网格节点位置填充单位门;
将目标网格节点位置处的单位门替换为所述M个量子门,得到所述第二信息,所述目标网格节点位置包括所述映射关系中每个量子门对应的网格节点坐标的位置。
本实施方式中,当量子电路中各量子门被填充至目标模具图后,可以查找目标模具图中的所有空缺位置,在这些空缺位置上填充单位门。然而,查找目标模具图中空缺位置的过程通常需要对所有的网格节点坐标进行遍历和判断,处理较为繁琐。
本实施方式可以采用反向填充的方式,可以减少对所有网格节点坐标进行重复遍历和判断的次数。具体的,在获得电路宽度N和砖块模具的深度D的情况下,可以直接将目标模具图中的所有网格节点位置都默认填充单位门,根据有效列动态更新方式获得的列表Q′(表征目标模具图中的网格节点坐标与M个量子门之间的映射关系),将Q′中各个元素对应的网格节点位置处的单位门替换为量子电路中的量子门。
如此,可以减少对所有网格节点坐标进行重复遍历和判断的次数,处理较为简单。
反向填充单位门以获得完整的第一电路的过程如下:
输入:正整数N,为量子电路的宽度;正整数D,为砖块模具的深度;列表Q′=[g′1,g′2,...,g′M],为量子电路中的量子门依次填充到砖块模具后得到的有序列表。
输出:映射关系f,该映射关系可以用来表征第一电路的信息。
根据电路宽度N和砖块模具的深度D,生成网格节点集,φ={(X,Y):X∈[N],Y∈[D]}。定义映射关系f,对于目标模具图中任一的网格节点坐标φi,该映射将其映射为单位门(用II表示),即f(φi)=II;
遍历Q′中所有量子门g′i=[name,input,output,parameter],分两种情况:
第一种情况:若g′i为单比特量子门,修改映射f,使其可以将input对应的网格节点坐标映射为g′i,即f(input)=g′i
第一种情况:若g′i为双比特量子门,则参数input包含两个网格节点input_1和input_2,修改映射f,使其可以将input_1和input_2对应的网格节点坐标均映射为g′i,即f(input_1)=g′i,f(input_2)=g′i
对于φi∈φ,则修改后的映射f为如下式(5)所示:
Figure BDA0003571355500000331
映射f的自变量为φ中的网格节点坐标,对应的值为量子门g′i
将量子电路中的量子门和单位门填充进目标模具图后,就可以得到第二信息,第二信息可以通过通过网格节点坐标与量子门间的映射关系f来表征第一电路的结构。
可选的,所述步骤S503具体包括:
基于所述映射关系,将所述第一电路中各子电路图的信息按照子电路图的作用顺序进行有序排列,得到第三信息,所述子电路图基于所述目标模具图的子模具图和所述子模具图填充的量子门确定;
基于预设的目标转换关系和所述第三信息,将所述第一电路中每个子电路图进行转换处理,得到与所述量子电路等价的原始测量模式;
对所述原始测量模式进行标准化,得到与所述量子电路等价的目标测量模式。
本实施方式中,获得第一电路后,可以将其翻译为标准的砖块测量模式即标准测量模式,翻译的过程主要分为以下三步:
将由映射关系表征的第一电路转化为有序列表,可以称之为砖块电路列表,该砖块电路列表即为第三信息;
将砖块电路列表按照固定的规则翻译为原始测量模式;
将原始测量模式标准化得到标准测量模式。
根据网格节点坐标与量子门之间的映射关系f,可以将由映射关系表征的第一电路转化为砖块电路列表。该砖块电路列表中的每个元素对应一个填充好的U模具或一个填充好的I模具。将由映射关系表征的第一电路转化为有序列表的过程如下:
输入:映射关系f,该映射关系可以用来表征第一电路的信息。
输出:列表BK’,为砖块电路列表。
按顺序依次执行以下步骤:
步骤1:初始化空列表BK’;
步骤2:根据映射关系f中存储的网格节点坐标φi=(X,Y),提取出第一电路的宽度N、深度D和网格节点集φ;
步骤3:将网格节点集φ作为输入,构造列表BK=[b1,b2,…,bt],其中bi(1≤i≤t)表示一个U模具或一个I模具,t为模具的总个数;
步骤4:遍历BK中的模具bi,分两种情况:
第一种情况,若bi为U模具,则bi=[(X,Y),(X+1,Y)],根据映射关系f,将网格节点坐标映射为对应的量子门,得到填充后的U模具bi’=[f((X,Y)),f((X+1,Y))],将其加入至BK’中;
第二种情况,若bi为I模具,则bi=[(X,Y)],根据映射关系f,将网格节点坐标映射为对应的单位门II,得到填充后的I模具bi’=[f((X,Y))],将其加入至BK’中;
步骤5:当BK中所有元素被遍历后,可以得到列表BK’=[b1’,b2’,…,bt’],其中,bi’(1≤i≤t)表示一个填充好的U模具或一个填充好的I模具。
之后,将砖块电路列表BK’中的每个子电路图翻译为对应的砖块测量模式,获得由砖块测量模式构成的列表作为原始测量模式,其翻译过程如下。
输入:列表BK’,为砖块电路列表;预设的目标转换关系。
输出:列表P,原始测量模式。
初始化空列表P,遍历BK’中的模具bi’,根据目标转换关系Z,将bi’翻译为等价的砖块测量模式pi=Z(bi’),将pi添加入列表P中;其中,目标转换关系可以为如图9和如图10所示的转换关系;
当列表BK’中所有元素均被遍历后,得到列表P=[p1,p2,…,pt]。
获得的列表P中的每个元素都是一个测量模式,包含计算空间、输入节点、输出节点、计算指令等内容。其中,原始测量模式包括列表P中的测量模式。
之后,可以将原始测量模式进行标准化,得到目标测量模式,从而可以实现量子电路与砖块测量模式的等价转换。
可选的,所述基于预设的目标转换关系和所述第三信息,将所述第一电路中每个子电路图进行转换处理,得到与所述量子电路等价的原始测量模式,包括:
基于预设的目标转换关系和所述第三信息,依次将所述第一电路中每个子电路图进行转换处理,得到第一测量模式;
将第二测量模式添加至所述第一测量模式中,得到与所述量子电路等价的原始测量模式,所述第二测量模式为对所述第一电路中各输出节点进行量子测量的测量模式。
上述实施方式中,得到的列表P即第一测量模式仅包括量子门对应的测量模式,并没有包括量子电路中量子测量对应的测量模式,为了在砖块测量模式下进行量子测量,得到测量结果,需要添加量子测量的测量指令。
通常情况下,量子电路是采用计算基下的测量,即泡利Z测量。但是由于盲量子计算协议中最终算法只允许XY平面测量,因此可以通过先作用Hadamard门,之后作用泡利X测量的方式等效量子电路中的泡利Z测量。
本实施方式中,在量子电路中的量子测量为泡利X测量的情况下,可以对第一电路中的所有输出节点,添加相应的泡利X测量的测量指令,并作为测量模式即第二测量模式添加到列表P中。而在量子电路中的量子测量为泡利Z测量的情况下,可以对第一电路中的所有输出节点,添加Hadamard门的测量模式,以及添加相应的泡利X测量的测量指令,并作为测量模式添加到列表P中,第二测量模式包括Hadamard门的测量模式和泡利X测量的测量指令。如此,可以实现量子电路模型与1QWC模型的等价转换。
可选的,所述原始测量模式包括至少两个测量模式,每个测量模式包括计算空间、输入节点、输出节点和计算指令,所述对所述原始测量模式进行标准化,得到与所述量子电路等价的目标测量模式,包括:
统计所述至少两个测量模式的计算空间,得到所述目标测量模式对应的计算空间,所述目标测量模式对应的计算空间为所述至少两个测量模式对应的计算空间的并集;
统计所述至少两个测量模式的输入节点,得到所述目标测量模式对应的输入节点,所述目标测量模式对应的输入节点包括基于各测量模式提取的输入节点中列标最小的节点;
统计所述至少两个测量模式的输出节点,得到所述目标测量模式对应的输出节点,所述目标测量模式对应的输出节点基于每个测量模式提取的输出节点中列标最大的节点确定;
统计所述至少两个测量模式的计算指令,得到计算指令集,所述计算指令集为所述至少两个测量模式对应的计算指令的并集;按照指令交换规则,将所述计算指令集中的计算指令重新排序,得到所述目标测量模式对应的计算指令。
本实施方式中,原始测量模式还不是一个标准的1WQC测量模式,需要进行标准化处理,即获得对应的计算空间,输入节点,输出节点和计算指令。
简单来说,标准化之后,计算空间为所有测量模式计算空间的并集;输入节点为每个量子位输入节点中列标最小的节点;输出节点为每个量子位输出节点中列标最大的节点;计算指令为所有计算指令的并集,并按指令交换规则,重新排序为标准顺序(即所有纠缠指令列表排最前面,其次是所有的测量指令,之后是所有的纠正指令X和纠正指令Z)。
需要说明的是,相邻计算指令的交换需要按照相应的计算规则进行,并不是简单的位置交换。
对原始测量模式进行标准化的过程如下:
输入:列表P,原始测量模式。
输出:列表P’,标准测量模式。
初始化一个计算空间的空列表V=[];使用循环语句遍历列表P中每个测量模式,并提取出计算空间添加到V列表中;删除V列表中所有的重复元素并更新V列表,最终得到标准测量模式的计算空间;
初始化一个输入节点的空列表R=[];使用循环语句遍历列表P中每个测量模式,并提取出输入节点,如果输入节点标号的列标为0,则将标号添加到R列表中,最终得到标准测量模式的输入节点;
初始化一个输出节点的空列表O=[];使用循环语句遍历列表P中每个测量模式,并提取出输出节点添加到O列表中;遍历O列表,对于具有相同行标的那些标号,只保留列标最大的那一个,删除其余标号并更新O列表,最终得到标准测量模式的输出节点;
初始化一个计算指令的空列表C=[];使用循环语句遍历列表P中每个测量模式,并提取出计算指令添加到C列表中;使用循环语句,如果C列表顺序不为标准顺序,则执行操作:逆序遍历C列表,并依次选取相邻两个计算指令进行交换,使得纠缠指令在测量指令左边,测量指令在纠正指令X左边,纠正指令X在纠正指令Z左边;最终得到标准测量模式的计算指令;
返回标准测量模式的列表P’=[V,R,O,C]。
本实施方式中,通过统计原始测量模式的计算空间、输入节点、输出节点和计算指令,可以实现对原始测量模式的标准化,得到标准测量模式。
第二实施例
如图20所示,本公开提供一种量子计算处理装置2000,包括:
获取模块2001,用于获取第一信息,所述第一信息用于表征量子电路的结构,所述量子电路包括M个量子门,M为正整数;
填充模块2002,用于基于所述第一信息,对目标模具图的子模具图进行量子门填充,得到第二信息,所述目标模具图中填充的量子门包括所述M个量子门,所述目标模具图基于子模具图拼接得到,所述子模具图基于网格节点图中的网格节点按照预设规则进行组合得到,所述第二信息用于通过网格节点坐标与量子门之间的映射关系表征第一电路的结构,第一量子门在所述第一电路中的相对位置,与所述第一量子门在所述量子电路中的相对位置相同,所述相对位置为相对于所述M个量子门的位置,所述第一量子门为所述M个量子门中的任一量子门;
转换处理模块2003,用于基于所述第二信息和预设的目标转换关系,对所述第一电路进行转换处理,得到与所述量子电路等价的目标测量模式,所述目标转换关系用于表征所述子模具图与测量模式的转换关系,所述目标测量模式用于执行量子计算任务。
可选的,所述目标模具图包括第一子模具图和第二子模具图,所述第一子模具图由两个相邻网格节点组合得到,所述第二子模具图由一个网格节点组合得到;所述填充模块2002包括:
第一填充子模块,用于基于所述第一信息,将所述M个量子门中的每个量子门填充至所述目标模具图的第一子模具图中;
第二填充子模块,用于将所述目标模具图中的目标位置填充单位门,得到所述第二信息,所述目标位置包括所述第二子模具图中的网格节点位置、以及所述第一子模具图中未填充量子门的网格节点位置。
可选的,所述预设规则包括:
将满足第一预设条件的第一目标网格节点与第二目标网格节点进行组合得到第一子模具图,所述第二目标网格节点为与所述第一目标网格节点纵向相邻的网格节点,所述第一预设条件包括:0≤X≤N-2,0≤Y≤D-1,且X和Y的和值为偶数,X为网格节点的行标,Y为网格节点的列标,N为构成所述M个量子门的量子位数量,D为目标模具图的深度,D为正奇数。
可选的,所述预设规则还包括以下至少一项:
在N为偶数的情况下,将满足第二预设条件的第三目标网格节点构成第二子模具图,所述第二预设条件包括:X∈{0,N-1},且0≤Y≤D-1;
在N为奇数的情况下,将满足第三预设条件的第四目标网格节点构成第二子模具图,所述第三预设条件包括:X=0,0≤Y≤D-1,且Y为奇数;
在N为奇数的情况下,将满足第四预设条件的第五目标网格节点构成第二子模具图,所述第四预设条件包括:X=N-1,0≤Y≤D-1,且Y为偶数。
可选的,所述第一填充子模块包括:
第一填充单元,用于针对所述M个量子门中每个量子门,基于所述量子门对应的量子位以及所述量子门在所述M个量子门中的相对位置,将所述量子门填充至所述目标模具图的第一目标子模具图中,所述第一目标子模具图为所述目标模具图中与所述量子门在所述M个量子门中的相对位置相同的第一子模具图;
其中,所述第一信息包括:每个量子门对应的量子位以及每个量子门在所述M个量子门中的相对位置。
可选的,所述M个量子门的信息在所述第一信息中按照量子门在所述量子电路中的作用顺序有序排列,所述第一填充子模块包括:
获取单元,用于针对所述M个量子门中的第K个量子门,获取填充列表信息,所述填充列表信息用于查询目标列标中标号最小的列表,所述目标列标为所述目标模具图的第一子模具图中可填充所述第K个量子门的网格节点的列标,K为小于或等于M的正整数;
第二填充单元,用于将所述第K个量子门填充到所述目标模具图的第二目标子模具图中,所述第二目标子模具图基于所述填充列表信息查询到的列标,以及所述第K个量子门对应的量子位确定,所述第一信息包括每个量子门对应的量子位;
更新单元,用于在K小于M的情况下,更新所述填充列表信息,更新的所述填充列表信息用于查询在所述目标模具图的第一子模具图中填充所述第K+1个量子门的网格节点的列标。
可选的,所述填充列表信息包括第一填充列表和所述第二填充列表,所述第一填充列表用于查询可填充单比特量子门的网格节点的列标,所述第二填充列表用于查询可填充双比特量子门的网格节点的列标;所述第二填充单元,具体用于以下至少一项:
在所述第K个量子门为单比特量子门的情况下,基于所述第K个量子门对应的量子位,按照所述第一填充列表查询用于填充所述第K个量子门的网格节点的列标,得到第一网格节点位置,将所述第K个量子门填充至所述第一网格节点位置对应的第二目标子模具图中;
在所述第K个量子门为双比特量子门的情况下,基于目标量子位,按照所述第二填充列表查询用于填充所述第K个量子门的网格节点的列标,得到第二网格节点位置,将所述第K个量子门填充至所述第二网格节点位置对应的第二目标子模具图中,所述目标量子位为所述第K个量子门对应的量子位中标号小的量子位。。
可选的,所述更新单元,具体用于以下至少一项:
在所述第K个量子门对应的量子位满足第五预设条件的情况下,将所述第一填充列表中第一量子位对应的列标加上2,所述第五预设条件为所述第K个量子门对应的量子位的行标包括第一行或最后一行,所述第一量子位为所述第K个量子门中位于第一行或最后一行的量子位;
在所述第K个量子门对应的量子位不满足所述第五预设条件的情况下,将所述第一填充列表中第二量子位对应的列标加上1,所述第二量子位为所述第K个量子门中不位于第一行、且不位于最后一行的量子位;
在所述第K个量子门为单比特量子门、且所述第二目标子模具图中仅包括所述第K个量子门的情况下,将所述第二填充列表中第三量子位对应的列标加上2,所述第三量子位为所述第K个量子门对应的量子位,或者所述第K个量子门对应的量子位减去1得到的量子位;
在所述第K个量子门为单比特量子门、且所述第二目标子模具图中包括两个单比特量子门的情况下,保持所述第二填充列表不变;
在所述第K个量子门为双比特量子门、且所述第二填充列表满足第六预设条件的情况下,将所述第二填充列表中第四量子位对应的列标更新为第一列标,所述第四量子位为所述目标量子位减去1得到的量子位,所述第六预设条件为:所述第二填充列表中第四量子位对应的列标小于或等于所述第二填充列表中所述目标量子位对应的列标,所述第一列标为所述第二填充列表中所述目标量子位对应的列标加上1得到的列标;
在所述第K个量子门为双比特量子门、且所述第二填充列表满足第七预设条件的情况下,将所述第二填充列表中第五量子位对应的列标更新为所述第一列标,所述第五量子位为所述目标量子位加上1得到的量子位,所述第七预设条件为:所述第二填充列表中第五量子位对应的列标小于或等于所述第二填充列表中所述目标量子位对应的列标;
在所述第K个量子门为双比特量子门的情况下,将所述第二填充列表中所述目标量子位对应的列标加上2。
可选的,其中,所述第二填充子模块包括:
第三填充单元,用于在确定所述目标模具图中的网格节点坐标与所述M个量子门之间的映射关系的情况下,分别在所述目标模具图中的每个网格节点位置填充单位门;
替换单元,用于将目标网格节点位置处的单位门替换为所述M个量子门,得到所述第二信息,所述目标网格节点位置包括所述映射关系中每个量子门对应的网格节点坐标的位置。
可选的,所述转换处理模块2003包括:
排列子模块,用于基于所述映射关系,将所述第一电路中各子电路图的信息按照子电路图的作用顺序进行有序排列,得到第三信息,所述子电路图基于所述目标模具图的子模具图和所述子模具图填充的量子门确定;
转换处理子模块,用于基于预设的目标转换关系和所述第三信息,将所述第一电路中每个子电路图进行转换处理,得到与所述量子电路等价的原始测量模式;
标准化子模块,用于对所述原始测量模式进行标准化,得到与所述量子电路等价的目标测量模式。
可选的,转换处理子模块包括:
转换处理单元,用于基于预设的目标转换关系和所述第三信息,依次将所述第一电路中每个子电路图进行转换处理,得到第一测量模式;
添加单元,用于将第二测量模式添加至所述第一测量模式中,得到与所述量子电路等价的原始测量模式,所述第二测量模式为对所述第一电路中各输出节点进行量子测量的测量模式。
可选的,所述原始测量模式包括至少两个测量模式,每个测量模式包括计算空间、输入节点、输出节点和计算指令,所述标准化子模块包括:
第一统计单元,用于统计所述至少两个测量模式的计算空间,得到所述目标测量模式对应的计算空间,所述目标测量模式对应的计算空间为所述至少两个测量模式对应的计算空间的并集;
第二统计单元,用于统计所述至少两个测量模式的输入节点,得到所述目标测量模式对应的输入节点,所述目标测量模式对应的输入节点包括基于各测量模式提取的输入节点中列标最小的节点;
第三统计单元,用于统计所述至少两个测量模式的输出节点,得到所述目标测量模式对应的输出节点,所述目标测量模式对应的输出节点基于每个测量模式提取的输出节点中列标最大的节点确定;
第四统计单元,用于统计所述至少两个测量模式的计算指令,得到计算指令集,所述计算指令集为所述至少两个测量模式对应的计算指令的并集;按照指令交换规则,将所述计算指令集中的计算指令重新排序,得到所述目标测量模式对应的计算指令。
本公开提供的量子计算处理装置2000能够实现量子计算处理方法实施例实现的各个过程,且能够达到相同的有益效果,为避免重复,这里不再赘述。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图21示出了可以用来实施本公开的实施例的示例电子设备的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图21所示,设备2100包括计算单元2101,其可以根据存储在只读存储器(ROM)2102中的计算机程序或者从存储单元2108加载到随机访问存储器(RAM)2103中的计算机程序,来执行各种适当的动作和处理。在RAM 2103中,还可存储设备2100操作所需的各种程序和数据。计算单元2101、ROM 2102以及RAM 2103通过总线2104彼此相连。输入/输出(I/O)接口2105也连接至总线2104。
设备2100中的多个部件连接至I/O接口2105,包括:输入单元2106,例如键盘、鼠标等;输出单元2107,例如各种类型的显示器、扬声器等;存储单元2108,例如磁盘、光盘等;以及通信单元2109,例如网卡、调制解调器、无线通信收发机等。通信单元2109允许设备2100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元2101可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元2101的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元2101执行上文所描述的各个方法和处理,例如量子计算处理方法。例如,在一些实施例中,量子计算处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元2108。在一些实施例中,计算机程序的部分或者全部可以经由ROM 2102和/或通信单元2109而被载入和/或安装到设备2100上。当计算机程序加载到RAM 2103并由计算单元2101执行时,可以执行上文描述的量子计算处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元2101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行量子计算处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (23)

1.一种量子计算处理方法,包括:
获取第一信息,所述第一信息用于表征量子电路的结构,所述量子电路包括M个量子门,M为正整数;
基于所述第一信息,对目标模具图的子模具图进行量子门填充,得到第二信息,所述目标模具图中填充的量子门包括所述M个量子门,所述目标模具图基于子模具图拼接得到,所述子模具图基于网格节点图中的网格节点按照预设规则进行组合得到,所述第二信息用于通过网格节点坐标与量子门之间的映射关系表征第一电路的结构,第一量子门在所述第一电路中的相对位置,与所述第一量子门在所述量子电路中的相对位置相同,所述相对位置为相对于所述M个量子门的位置,所述第一量子门为所述M个量子门中的任一量子门,针对量子电路中每个量子门,量子门在填充得到的第一电路中的相对位置,与量子门在量子电路中的相对位置均相同;
基于所述第二信息和预设的目标转换关系,对所述第一电路进行转换处理,得到与所述量子电路等价的目标测量模式,所述目标转换关系用于表征所述子模具图与测量模式的转换关系,所述目标测量模式用于执行量子计算任务,所述目标测量模式为单向量子计算机1WQC测量模式;
所述目标模具图包括第一子模具图和第二子模具图,所述第一子模具图由两个相邻网格节点组合得到,所述第二子模具图由一个网格节点组合得到;
所述预设规则包括:
将满足第一预设条件的第一目标网格节点与第二目标网格节点进行组合得到第一子模具图,所述第二目标网格节点为与所述第一目标网格节点纵向相邻的网格节点,所述第一预设条件包括:0≤X≤N-2,0≤Y≤D-1,且X和Y的和值为偶数,X为网格节点的行标,Y为网格节点的列标,N为构成所述M个量子门的量子位数量,D为目标模具图的深度,D为正奇数;
所述预设规则还包括以下至少一项:
在N为偶数的情况下,将满足第二预设条件的第三目标网格节点构成第二子模具图,所述第二预设条件包括:X∈{0,N-1},且0≤Y≤D-1;
在N为奇数的情况下,将满足第三预设条件的第四目标网格节点构成第二子模具图,所述第三预设条件包括:X=0,0≤Y≤D-1,且Y为奇数;
在N为奇数的情况下,将满足第四预设条件的第五目标网格节点构成第二子模具图,所述第四预设条件包括:X=N-1,0≤Y≤D-1,且Y为偶数。
2.根据权利要求1所述的方法,其中,所述基于所述第一信息,对目标模具图的子模具图进行量子门填充,得到第二信息,包括:
基于所述第一信息,将所述M个量子门中的每个量子门填充至所述目标模具图的第一子模具图中;
将所述目标模具图中的目标位置填充单位门,得到所述第二信息,所述目标位置包括所述第二子模具图中的网格节点位置、以及所述第一子模具图中未填充量子门的网格节点位置。
3.根据权利要求1至2中任一项所述的方法,其中,所述基于所述第一信息,将所述M个量子门中的每个量子门填充至所述目标模具图的第一子模具图中,包括:
针对所述M个量子门中每个量子门,基于所述量子门对应的量子位以及所述量子门在所述M个量子门中的相对位置,将所述量子门填充至所述目标模具图的第一目标子模具图中,所述第一目标子模具图为所述目标模具图中与所述量子门在所述M个量子门中的相对位置相同的第一子模具图;
其中,所述第一信息包括:每个量子门对应的量子位以及每个量子门在所述M个量子门中的相对位置。
4.根据权利要求1至2中任一项所述的方法,其中,所述M个量子门的信息在所述第一信息中按照量子门在所述量子电路中的作用顺序有序排列,所述基于所述第一信息,将所述M个量子门中的每个量子门填充至所述目标模具图的第一子模具图中,包括:
针对所述M个量子门中的第K个量子门,获取填充列表信息,所述填充列表信息用于查询目标列标中标号最小的列表,所述目标列标为所述目标模具图的第一子模具图中可填充所述第K个量子门的网格节点的列标,K为小于或等于M的正整数;
将所述第K个量子门填充到所述目标模具图的第二目标子模具图中,所述第二目标子模具图基于所述填充列表信息查询到的列标,以及所述第K个量子门对应的量子位确定,所述第一信息包括每个量子门对应的量子位;
在K小于M的情况下,更新所述填充列表信息,更新的所述填充列表信息用于查询在所述目标模具图的第一子模具图中填充第K+1个量子门的网格节点的列标。
5.根据权利要求4所述的方法,其中,所述填充列表信息包括第一填充列表和第二填充列表,所述第一填充列表用于查询可填充单比特量子门的网格节点的列标,所述第二填充列表用于查询可填充双比特量子门的网格节点的列标;所述将所述第K个量子门填充到所述目标模具图的第二目标子模具图中,包括以下至少一项:
在所述第K个量子门为单比特量子门的情况下,基于所述第K个量子门对应的量子位,按照所述第一填充列表查询用于填充所述第K个量子门的网格节点的列标,得到第一网格节点位置,将所述第K个量子门填充至所述第一网格节点位置对应的第二目标子模具图中;
在所述第K个量子门为双比特量子门的情况下,基于目标量子位,按照所述第二填充列表查询用于填充所述第K个量子门的网格节点的列标,得到第二网格节点位置,将所述第K个量子门填充至所述第二网格节点位置对应的第二目标子模具图中,所述目标量子位为所述第K个量子门对应的量子位中标号小的量子位。
6.根据权利要求5所述的方法,其中,所述更新所述填充列表信息,包括以下至少一项:
在所述第K个量子门对应的量子位满足第五预设条件的情况下,将所述第一填充列表中第一量子位对应的列标加上2,所述第五预设条件为所述第K个量子门对应的量子位的行标包括第一行或最后一行,所述第一量子位为所述第K个量子门中位于第一行或最后一行的量子位;
在所述第K个量子门对应的量子位不满足所述第五预设条件的情况下,将所述第一填充列表中第二量子位对应的列标加上1,所述第二量子位为所述第K个量子门中不位于第一行、且不位于最后一行的量子位;
在所述第K个量子门为单比特量子门、且所述第二目标子模具图中仅包括所述第K个量子门的情况下,将所述第二填充列表中第三量子位对应的列标加上2,所述第三量子位为所述第K个量子门对应的量子位,或者所述第K个量子门对应的量子位减去1得到的量子位;
在所述第K个量子门为单比特量子门、且所述第二目标子模具图中包括两个单比特量子门的情况下,保持所述第二填充列表不变;
在所述第K个量子门为双比特量子门、且所述第二填充列表满足第六预设条件的情况下,将所述第二填充列表中第四量子位对应的列标更新为第一列标,所述第四量子位为所述目标量子位减去1得到的量子位,所述第六预设条件为:所述第二填充列表中第四量子位对应的列标小于或等于所述第二填充列表中所述目标量子位对应的列标,所述第一列标为所述第二填充列表中所述目标量子位对应的列标加上1得到的列标;
在所述第K个量子门为双比特量子门、且所述第二填充列表满足第七预设条件的情况下,将所述第二填充列表中第五量子位对应的列标更新为所述第一列标,所述第五量子位为所述目标量子位加上1得到的量子位,所述第七预设条件为:所述第二填充列表中第五量子位对应的列标小于或等于所述第二填充列表中所述目标量子位对应的列标;
在所述第K个量子门为双比特量子门的情况下,将所述第二填充列表中所述目标量子位对应的列标加上2。
7.根据权利要求2所述的方法,其中,所述将所述目标模具图中的目标位置填充单位门,得到所述第二信息,包括:
在确定所述目标模具图中的网格节点坐标与所述M个量子门之间的映射关系的情况下,分别在所述目标模具图中的每个网格节点位置填充单位门;
将目标网格节点位置处的单位门替换为所述M个量子门,得到所述第二信息,所述目标网格节点位置包括所述映射关系中每个量子门对应的网格节点坐标的位置。
8.根据权利要求1所述的方法,其中,所述基于所述第二信息和预设的目标转换关系,对所述第一电路进行转换处理,得到与所述量子电路等价的目标测量模式,包括:
基于所述映射关系,将所述第一电路中各子电路图的信息按照子电路图的作用顺序进行有序排列,得到第三信息,所述子电路图基于所述目标模具图的子模具图和所述子模具图填充的量子门确定;
基于预设的目标转换关系和所述第三信息,将所述第一电路中每个子电路图进行转换处理,得到与所述量子电路等价的原始测量模式;
对所述原始测量模式进行标准化,得到与所述量子电路等价的目标测量模式。
9.根据权利要求8所述的方法,其中,所述基于预设的目标转换关系和所述第三信息,将所述第一电路中每个子电路图进行转换处理,得到与所述量子电路等价的原始测量模式,包括:
基于预设的目标转换关系和所述第三信息,依次将所述第一电路中每个子电路图进行转换处理,得到第一测量模式;
将第二测量模式添加至所述第一测量模式中,得到与所述量子电路等价的原始测量模式,所述第二测量模式为对所述第一电路中各输出节点进行量子测量的测量模式。
10.根据权利要求8所述的方法,其中,所述原始测量模式包括至少两个测量模式,每个测量模式包括计算空间、输入节点、输出节点和计算指令,所述对所述原始测量模式进行标准化,得到与所述量子电路等价的目标测量模式,包括:
统计所述至少两个测量模式的计算空间,得到所述目标测量模式对应的计算空间,所述目标测量模式对应的计算空间为所述至少两个测量模式对应的计算空间的并集;
统计所述至少两个测量模式的输入节点,得到所述目标测量模式对应的输入节点,所述目标测量模式对应的输入节点包括基于各测量模式提取的输入节点中列标最小的节点;
统计所述至少两个测量模式的输出节点,得到所述目标测量模式对应的输出节点,所述目标测量模式对应的输出节点基于每个测量模式提取的输出节点中列标最大的节点确定;
统计所述至少两个测量模式的计算指令,得到计算指令集,所述计算指令集为所述至少两个测量模式对应的计算指令的并集;按照指令交换规则,将所述计算指令集中的计算指令重新排序,得到所述目标测量模式对应的计算指令。
11.一种量子计算处理装置,包括:
获取模块,用于获取第一信息,所述第一信息用于表征量子电路的结构,所述量子电路包括M个量子门,M为正整数;
填充模块,用于基于所述第一信息,对目标模具图的子模具图进行量子门填充,得到第二信息,所述目标模具图中填充的量子门包括所述M个量子门,所述目标模具图基于子模具图拼接得到,所述子模具图基于网格节点图中的网格节点按照预设规则进行组合得到,所述第二信息用于通过网格节点坐标与量子门之间的映射关系表征第一电路的结构,第一量子门在所述第一电路中的相对位置,与所述第一量子门在所述量子电路中的相对位置相同,所述相对位置为相对于所述M个量子门的位置,所述第一量子门为所述M个量子门中的任一量子门,针对量子电路中每个量子门,量子门在填充得到的第一电路中的相对位置,与量子门在量子电路中的相对位置均相同;
转换处理模块,用于基于所述第二信息和预设的目标转换关系,对所述第一电路进行转换处理,得到与所述量子电路等价的目标测量模式,所述目标转换关系用于表征所述子模具图与测量模式的转换关系,所述目标测量模式用于执行量子计算任务,所述目标测量模式为单向量子计算机1WQC测量模式;
所述目标模具图包括第一子模具图和第二子模具图,所述第一子模具图由两个相邻网格节点组合得到,所述第二子模具图由一个网格节点组合得到;
所述预设规则包括:
将满足第一预设条件的第一目标网格节点与第二目标网格节点进行组合得到第一子模具图,所述第二目标网格节点为与所述第一目标网格节点纵向相邻的网格节点,所述第一预设条件包括:0≤X≤N-2,0≤Y≤D-1,且X和Y的和值为偶数,X为网格节点的行标,Y为网格节点的列标,N为构成所述M个量子门的量子位数量,D为目标模具图的深度,D为正奇数;
所述预设规则还包括以下至少一项:
在N为偶数的情况下,将满足第二预设条件的第三目标网格节点构成第二子模具图,所述第二预设条件包括:X∈{0,N-1},且0≤Y≤D-1;
在N为奇数的情况下,将满足第三预设条件的第四目标网格节点构成第二子模具图,所述第三预设条件包括:X=0,0≤Y≤D-1,且Y为奇数;
在N为奇数的情况下,将满足第四预设条件的第五目标网格节点构成第二子模具图,所述第四预设条件包括:X=N-1,0≤Y≤D-1,且Y为偶数。
12.根据权利要求11所述的装置,其中,所述填充模块包括:
第一填充子模块,用于基于所述第一信息,将所述M个量子门中的每个量子门填充至所述目标模具图的第一子模具图中;
第二填充子模块,用于将所述目标模具图中的目标位置填充单位门,得到所述第二信息,所述目标位置包括所述第二子模具图中的网格节点位置、以及所述第一子模具图中未填充量子门的网格节点位置。
13.根据权利要求12所述的装置,其中,所述第一填充子模块包括:
第一填充单元,用于针对所述M个量子门中每个量子门,基于所述量子门对应的量子位以及所述量子门在所述M个量子门中的相对位置,将所述量子门填充至所述目标模具图的第一目标子模具图中,所述第一目标子模具图为所述目标模具图中与所述量子门在所述M个量子门中的相对位置相同的第一子模具图;
其中,所述第一信息包括:每个量子门对应的量子位以及每个量子门在所述M个量子门中的相对位置。
14.根据权利要求12所述的装置,其中,所述M个量子门的信息在所述第一信息中按照量子门在所述量子电路中的作用顺序有序排列,所述第一填充子模块包括:
获取单元,用于针对所述M个量子门中的第K个量子门,获取填充列表信息,所述填充列表信息用于查询目标列标中标号最小的列表,所述目标列标为所述目标模具图的第一子模具图中可填充所述第K个量子门的网格节点的列标,K为小于或等于M的正整数;
第二填充单元,用于将所述第K个量子门填充到所述目标模具图的第二目标子模具图中,所述第二目标子模具图基于所述填充列表信息查询到的列标,以及所述第K个量子门对应的量子位确定,所述第一信息包括每个量子门对应的量子位;
更新单元,用于在K小于M的情况下,更新所述填充列表信息,更新的所述填充列表信息用于查询在所述目标模具图的第一子模具图中填充第K+1个量子门的网格节点的列标。
15.根据权利要求14所述的装置,其中,所述填充列表信息包括第一填充列表和第二填充列表,所述第一填充列表用于查询可填充单比特量子门的网格节点的列标,所述第二填充列表用于查询可填充双比特量子门的网格节点的列标;所述第二填充单元,具体用于以下至少一项:
在所述第K个量子门为单比特量子门的情况下,基于所述第K个量子门对应的量子位,按照所述第一填充列表查询用于填充所述第K个量子门的网格节点的列标,得到第一网格节点位置,将所述第K个量子门填充至所述第一网格节点位置对应的第二目标子模具图中;
在所述第K个量子门为双比特量子门的情况下,基于目标量子位,按照所述第二填充列表查询用于填充所述第K个量子门的网格节点的列标,得到第二网格节点位置,将所述第K个量子门填充至所述第二网格节点位置对应的第二目标子模具图中,所述目标量子位为所述第K个量子门对应的量子位中标号小的量子位。
16.根据权利要求15所述的装置,其中,所述更新单元,具体用于以下至少一项:
在所述第K个量子门对应的量子位满足第五预设条件的情况下,将所述第一填充列表中第一量子位对应的列标加上2,所述第五预设条件为所述第K个量子门对应的量子位的行标包括第一行或最后一行,所述第一量子位为所述第K个量子门中位于第一行或最后一行的量子位;
在所述第K个量子门对应的量子位不满足所述第五预设条件的情况下,将所述第一填充列表中第二量子位对应的列标加上1,所述第二量子位为所述第K个量子门中不位于第一行、且不位于最后一行的量子位;
在所述第K个量子门为单比特量子门、且所述第二目标子模具图中仅包括所述第K个量子门的情况下,将所述第二填充列表中第三量子位对应的列标加上2,所述第三量子位为所述第K个量子门对应的量子位,或者所述第K个量子门对应的量子位减去1得到的量子位;
在所述第K个量子门为单比特量子门、且所述第二目标子模具图中包括两个单比特量子门的情况下,保持所述第二填充列表不变;
在所述第K个量子门为双比特量子门、且所述第二填充列表满足第六预设条件的情况下,将所述第二填充列表中第四量子位对应的列标更新为第一列标,所述第四量子位为所述目标量子位减去1得到的量子位,所述第六预设条件为:所述第二填充列表中第四量子位对应的列标小于或等于所述第二填充列表中所述目标量子位对应的列标,所述第一列标为所述第二填充列表中所述目标量子位对应的列标加上1得到的列标;
在所述第K个量子门为双比特量子门、且所述第二填充列表满足第七预设条件的情况下,将所述第二填充列表中第五量子位对应的列标更新为所述第一列标,所述第五量子位为所述目标量子位加上1得到的量子位,所述第七预设条件为:所述第二填充列表中第五量子位对应的列标小于或等于所述第二填充列表中所述目标量子位对应的列标;
在所述第K个量子门为双比特量子门的情况下,将所述第二填充列表中所述目标量子位对应的列标加上2。
17.根据权利要求12所述的装置,其中,所述第二填充子模块包括:
第三填充单元,用于在确定所述目标模具图中的网格节点坐标与所述M个量子门之间的映射关系的情况下,分别在所述目标模具图中的每个网格节点位置填充单位门;
替换单元,用于将目标网格节点位置处的单位门替换为所述M个量子门,得到所述第二信息,所述目标网格节点位置包括所述映射关系中每个量子门对应的网格节点坐标的位置。
18.根据权利要求11所述的装置,其中,所述转换处理模块包括:
排列子模块,用于基于所述映射关系,将所述第一电路中各子电路图的信息按照子电路图的作用顺序进行有序排列,得到第三信息,所述子电路图基于所述目标模具图的子模具图和所述子模具图填充的量子门确定;
转换处理子模块,用于基于预设的目标转换关系和所述第三信息,将所述第一电路中每个子电路图进行转换处理,得到与所述量子电路等价的原始测量模式;
标准化子模块,用于对所述原始测量模式进行标准化,得到与所述量子电路等价的目标测量模式。
19.根据权利要求18所述的装置,其中,转换处理子模块包括:
转换处理单元,用于基于预设的目标转换关系和所述第三信息,依次将所述第一电路中每个子电路图进行转换处理,得到第一测量模式;
添加单元,用于将第二测量模式添加至所述第一测量模式中,得到与所述量子电路等价的原始测量模式,所述第二测量模式为对所述第一电路中各输出节点进行量子测量的测量模式。
20.根据权利要求18所述的装置,其中,所述原始测量模式包括至少两个测量模式,每个测量模式包括计算空间、输入节点、输出节点和计算指令,所述标准化子模块包括:
第一统计单元,用于统计所述至少两个测量模式的计算空间,得到所述目标测量模式对应的计算空间,所述目标测量模式对应的计算空间为所述至少两个测量模式对应的计算空间的并集;
第二统计单元,用于统计所述至少两个测量模式的输入节点,得到所述目标测量模式对应的输入节点,所述目标测量模式对应的输入节点包括基于各测量模式提取的输入节点中列标最小的节点;
第三统计单元,用于统计所述至少两个测量模式的输出节点,得到所述目标测量模式对应的输出节点,所述目标测量模式对应的输出节点基于每个测量模式提取的输出节点中列标最大的节点确定;
第四统计单元,用于统计所述至少两个测量模式的计算指令,得到计算指令集,所述计算指令集为所述至少两个测量模式对应的计算指令的并集;按照指令交换规则,将所述计算指令集中的计算指令重新排序,得到所述目标测量模式对应的计算指令。
21.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10中任一项所述的方法。
22.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-10中任一项所述的方法。
23.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-10中任一项所述的方法。
CN202210324719.5A 2022-03-29 2022-03-29 量子计算处理方法、装置及电子设备 Active CN114881237B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210324719.5A CN114881237B (zh) 2022-03-29 2022-03-29 量子计算处理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210324719.5A CN114881237B (zh) 2022-03-29 2022-03-29 量子计算处理方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN114881237A CN114881237A (zh) 2022-08-09
CN114881237B true CN114881237B (zh) 2023-03-10

Family

ID=82669026

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210324719.5A Active CN114881237B (zh) 2022-03-29 2022-03-29 量子计算处理方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN114881237B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115907025B (zh) * 2022-12-06 2023-08-22 北京百度网讯科技有限公司 量子网络协议仿真方法、装置及电子设备
CN116167447B (zh) * 2023-02-20 2024-05-14 北京百度网讯科技有限公司 量子电路处理方法、装置及电子设备
CN116151384B (zh) * 2023-02-20 2023-09-08 北京百度网讯科技有限公司 量子电路处理方法、装置及电子设备
CN116187464B (zh) * 2023-02-20 2023-11-14 北京百度网讯科技有限公司 盲量子计算处理方法、装置及电子设备
CN116227607B (zh) * 2023-02-20 2023-09-26 北京百度网讯科技有限公司 量子电路的分类方法、装置、电子设备、介质和产品
CN116579435B (zh) * 2023-05-22 2023-12-05 北京百度网讯科技有限公司 量子电路的分类方法、装置、电子设备、介质和产品
CN116611527B (zh) * 2023-05-22 2023-11-21 北京百度网讯科技有限公司 量子电路处理方法、装置及电子设备
CN117408346B (zh) * 2023-10-25 2024-06-11 北京中科弧光量子软件技术有限公司 一种量子线路确定方法、装置和计算设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111461334A (zh) * 2020-03-30 2020-07-28 北京百度网讯科技有限公司 量子电路的处理方法、装置及设备
CN113537502A (zh) * 2021-07-14 2021-10-22 北京百度网讯科技有限公司 量子电路的处理方法、装置、电子设备和存储介质
EP3929827A1 (en) * 2020-06-26 2021-12-29 Bull SAS Computer computing compiling method and system with partial synthetization of quantum computer compliant quantum circuits

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799310B2 (en) * 2010-07-23 2014-08-05 Hewlett-Packard Development Company, L.P. Method and system for processing a uniform resource locator
US20140026107A1 (en) * 2012-07-19 2014-01-23 Microsoft Corporation Method and system for optimal decomposition of single-qubit quantum circuits using standard quantum gates
JP2015070544A (ja) * 2013-09-30 2015-04-13 Kddi株式会社 グラフ情報を生成する方法及びノード装置
US11537925B2 (en) * 2019-06-19 2022-12-27 International Business Machines Corporation System and method for latency-aware mapping of quantum circuits to quantum chips
CN110490327B (zh) * 2019-07-23 2023-07-18 湖北工业大学 量子计算机量子处理单元、量子电路以及量子电路量子算法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111461334A (zh) * 2020-03-30 2020-07-28 北京百度网讯科技有限公司 量子电路的处理方法、装置及设备
EP3929827A1 (en) * 2020-06-26 2021-12-29 Bull SAS Computer computing compiling method and system with partial synthetization of quantum computer compliant quantum circuits
CN113537502A (zh) * 2021-07-14 2021-10-22 北京百度网讯科技有限公司 量子电路的处理方法、装置、电子设备和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Qubit mapping of one-way quantum computation patterns onto 2D nearest-neighbor architectures";Sajjad Sanaei等;《Quantum Information Processing》;20190112;第18卷;全文 *
"量子电路设计软件的框架与实现";郑煜臻等;《软件导刊》;20210831;第20卷(第08期);全文 *

Also Published As

Publication number Publication date
CN114881237A (zh) 2022-08-09

Similar Documents

Publication Publication Date Title
CN114881237B (zh) 量子计算处理方法、装置及电子设备
CN113537502B (zh) 量子电路的处理方法、装置、电子设备和存储介质
CN115169568B (zh) 量子计算处理方法、装置及电子设备
CN114970865B (zh) 量子芯片上的量子电路处理方法、装置及电子设备
CN115860128B (zh) 量子电路运行方法、装置及电子设备
CN114139712A (zh) 量子电路的处理方法、处理装置、电子设备和存储介质
CN114580645A (zh) 随机量子测量的模拟方法、装置、设备及存储介质
CN116611527B (zh) 量子电路处理方法、装置及电子设备
CN116151381B (zh) 量子电路处理方法、装置及电子设备
CN116167446B (zh) 量子计算处理方法、装置及电子设备
CN109388784A (zh) 最小熵核密度估计器生成方法、装置和计算机可读存储介质
Qiu et al. Heterogeneous assignment of functional units with gaussian execution time on a tree
CN116011580A (zh) 等效电感的确定方法及计算机设备
CN116167447B (zh) 量子电路处理方法、装置及电子设备
CN116187464B (zh) 盲量子计算处理方法、装置及电子设备
CN116187458B (zh) 量子电路处理方法、装置及电子设备
CN116629370B (zh) 量子电路处理方法、装置及电子设备
CN116187463B (zh) 量子测量模式至量子电路的编译方法、装置及电子设备
CN116090573B (zh) 非局域量子操作的模拟方法、装置、设备以及存储介质
CN116151383B (zh) 量子计算处理方法、装置及电子设备
CN117313878A (zh) 量子电路处理方法、装置及电子设备
CN117669751A (zh) 量子电路模拟方法、装置及电子设备
CN117313882A (zh) 量子电路处理方法、装置及电子设备
CN117313884A (zh) 量子电路处理方法、装置及电子设备
JP2023110835A (ja) 量子状態処理方法、コンピューティングデバイス、及びコンピュータプログラム

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