首页 / 专利库 / 电脑编程 / 量子计算 / 一种量子程序的转化方法、装置、存储介质和电子装置

一种量子程序的转化方法、装置、存储介质和电子装置

阅读:19发布:2020-05-16

专利汇可以提供一种量子程序的转化方法、装置、存储介质和电子装置专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种量子程序的转化方法、装置、存储介质和 电子 装置,方法包括:获得量子芯片支持的第一 量子比特 的拓扑结构信息和量子 逻辑 门 种类;对量子程序中的量子 逻辑门 划分执行时序;根据所述拓扑结构信息,确定每一执行时序对应的、所述量子程序中的第二量子比特与所述第一量子比特的映射关系,以使新生成的、用于等价转化量子逻辑门的特定量子逻辑门的数量最少;根据各所述映射关系和所述特定量子逻辑门,将所述量子程序转化为新的量子程序。利用本发明 实施例 ,能够将量子程序适配到量子芯片,并提高量子程序的计算效率。,下面是一种量子程序的转化方法、装置、存储介质和电子装置专利的具体信息内容。

1.一种量子程序的转化方法,其特征在于,包括:
获得量子芯片支持的第一量子比特的拓扑结构信息和量子逻辑种类;
对量子程序中的量子逻辑门划分执行时序;
根据所述拓扑结构信息,确定每一执行时序对应的、所述量子程序中的第二量子比特与所述量子芯片上的所述第一量子比特的映射关系,以使新生成的、用于等价转化量子逻辑门的特定量子逻辑门的数量最少;其中,所述特定量子逻辑门为SWAP门且可拆分为所述量子逻辑门种类包含的量子逻辑门的组合;
根据各所述映射关系和所述特定量子逻辑门,将所述量子程序转化为新的量子程序;
其中,所述新的量子程序中的量子逻辑门均为所述量子逻辑门种类包含的量子逻辑门。
2.根据权利要求1所述的方法,其特征在于,所述量子逻辑门种类至少包括以下两量子逻辑门的一种或多种:
控制Z门CZ、控制非门CNOT、SWAP门、ISWAP门。
3.根据权利要求1所述的方法,其特征在于,所述对量子程序中的量子逻辑门划分执行时序,包括:
获得量子程序对应的量子线路信息;
根据当前的所述量子线路信息,将每个量子比特各自执行的第一位量子逻辑门中的单量子逻辑门的执行时序,划分为同一时序;
当所述第一位量子逻辑门中的两量子逻辑门对应的两个位数均为第一位时,将所述两量子逻辑门的执行时序,划分为所述同一时序;否则,将所述两量子逻辑门的执行时序,划分为所述同一时序的下一时序;
删除所述量子线路信息包含的、所述同一时序划分完成的量子逻辑门信息,继续执行所述根据当前的所述量子线路信息,将每个量子比特各自执行的第一位量子逻辑门中的单量子逻辑门的执行时序,划分为同一时序的步骤。
4.根据权利要求2所述的方法,其特征在于,所述根据所述拓扑结构信息,确定每一执行时序对应的、所述量子程序中的第二量子比特与所述量子芯片上的所述第一量子比特的映射关系,包括:
针对每一执行时序,获取当前执行时序内的两量子逻辑门操作的两个第二量子比特在前一执行时序对应的映射关系下所映射的两个第一量子比特;其中,第一个所述执行时序的前一执行时序对应的映射关系为预设的初始映射关系;
基于所述拓扑结构信息,判断所述两个第一量子比特之间是否存在边的连接;
若不存在边的连接,查找所述两个第一量子比特之间的最短路径;
生成用于对所述最短路径上的量子比特进行交换以使所述两个第一量子比特之间存在边的连接的特定量子逻辑门;
根据所述特定量子逻辑门操作的量子比特,调整所述前一执行时序对应的映射关系,得到当前执行时序对应的映射关系。
5.根据权利要求4所述的方法,其特征在于,所述根据各所述映射关系和所述特定量子逻辑门,将所述量子程序转化为新的量子程序,包括:
针对每一执行时序,根据当前执行时序对应的映射关系,将该执行时序内的量子逻辑门操作的第二量子比特替换为该第二量子比特映射的第一量子比特;
在该执行时序内的量子逻辑门集合后添加该执行时序对应生成的特定量子逻辑门;
若所述特定量子逻辑门为所述量子逻辑门种类包含的量子逻辑门,将添加完成的量子程序,确定为新的量子程序;
否则,将所述特定量子逻辑门拆分为所述量子逻辑门种类包含的量子逻辑门的组合,得到新的量子程序。
6.根据权利要求5所述的方法,其特征在于,还包括:
若替换后的两量子逻辑门操作的两量子比特对应的连接方向与所述拓扑结构信息中该两量子比特对应的连接方向相反,将该两量子比特进行互调;
或,
将该两量子比特进行互调,并添加所述量子逻辑门种类包含的预设数量个阿达H门;
其中,所述连接方向由控制比特指向目标比特。
7.一种量子程序的转化装置,其特征在于,包括:
获得模,用于获得量子芯片支持的第一量子比特的拓扑结构信息和量子逻辑门种类;
划分模块,用于对量子程序中的量子逻辑门划分执行时序;
确定模块,用于根据所述拓扑结构信息,确定每一执行时序对应的、所述量子程序中的第二量子比特与所述量子芯片上的所述第一量子比特的映射关系,以使新生成的、用于等价转化所述量子程序的特定量子逻辑门的数量最少;其中,所述特定量子逻辑门为SWAP门且可拆分为所述量子逻辑门种类包含的量子逻辑门的组合;
转化模块,用于根据各所述映射关系和所述特定量子逻辑门,将所述量子程序转化为新的量子程序;其中,所述新的量子程序中的量子逻辑门均为所述量子芯片支持的量子逻辑门。
8.根据权利要求7所述的装置,其特征在于,所述量子逻辑门种类至少包括以下两量子逻辑门的一种或多种:
控制Z门CZ、控制非门CNOT、SWAP门、ISWAP门。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至6任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至6任一项中所述的方法。

说明书全文

一种量子程序的转化方法、装置、存储介质和电子装置

技术领域

[0001] 本发明属于量子计算技术领域,特别是一种量子程序的转化方法、装置、存储介质和电子装置。

背景技术

[0002] 目前,量子计算的通常步骤是将待转化的实际问题,利用量子高级语言编程得到量子程序,然后通过在量子计算平台如量子芯片上执行量子程序得到特定问题的解。对于不同的量子芯片,支持的两量子逻辑集合可能不同,量子芯片上量子比特之间的连接关系也有可能不同,相连接的两量子比特表示可适配两量子逻辑门操作,其中,一个作为控制比特,另一个作为受控比特。
[0003] 在实际的量子编程中,对两量子比特施加的两量子逻辑门操作是参数化的4*4的酉矩阵,还包括2个量子比特的编号。一方面,该两量子逻辑门可能不属于该量子芯片所支持的两量子逻辑门类型;另一方面,受到芯片结构限制,参数化的量子逻辑门可能无法被待运行量子芯片上的两个量子比特适配。例如,量子程序包含控制非门CNOT,但待运行量子芯片不支持CNOT门。或者,量子程序中对预设两量子比特,例如q0、q1,执行CNOT门,即CNOT q0,q1,量子芯片支持CNOT门,但量子芯片中的物理量子比特q0与q1并不连接,无法被直接施加包括CNOT门在内的任意的两量子逻辑门。因此,需要对量子程序中的两量子逻辑门进行转化,转化为该芯片所支持的量子逻辑门。
[0004] 例如,量子芯片支持两量子逻辑门U,但不支持两量子逻辑门U操作量子比特Qx和Qy,量子程序包括U Qx,Qy,则现有的转化方法简述为:根据量子芯片上量子比特之间的连接关系,查找U操作的两个量子比特Qx、Qy之间的连接路径,假设该路径经过的量子比特节点为M1、M2、…、Mn,则执行U Qx,Qy等价于依次执行:SWAP(Qx,M1);SWAP(M1,M2);SWAP(M2,M3);...;SWAP(Mn-1,Mn);U Mn,Qy;SWAP(Mn-1,Mn);...;SWAP(M2,M3);SWAP(M1,M2);SWAP(Qx,M1)。其中,SWAP门表示对量子比特执行交换操作,如果量子芯片不支持SWAP门,则将SWAP门继续拆分成可支持执行的量子逻辑门组合。可见,为了适配量子芯片,对一个两量子逻辑门,转化过程就会新增较多数量的量子逻辑门,最终转化后量子程序中的量子逻辑门数量会更为庞大,从而大幅度降低量子程序的计算效率。

发明内容

[0005] 本发明的目的是提供一种量子程序的转化方法、装置、存储介质和电子装置,以解决现有技术中的不足,它能够提高量子程序的计算效率。
[0006] 本发明采用的技术方案如下:
[0007] 一种量子程序的转化方法,包括:
[0008] 获得量子芯片支持的第一量子比特的拓扑结构信息和量子逻辑门种类;
[0009] 对量子程序中的量子逻辑门划分执行时序;
[0010] 根据所述拓扑结构信息,确定每一执行时序对应的、所述量子程序中的第二量子比特与所述第一量子比特的映射关系,以使新生成的、用于等价转化量子逻辑门的特定量子逻辑门的数量最少;其中,所述特定量子逻辑门为SWAP门且可拆分为所述量子逻辑门种类包含的量子逻辑门的组合;
[0011] 根据各所述映射关系和所述特定量子逻辑门,将所述量子程序转化为新的量子程序;其中,所述新的量子程序中的量子逻辑门均为所述量子逻辑门种类包含的量子逻辑门。
[0012] 可选的,所述量子逻辑门种类至少包括以下两量子逻辑门的一种或多种:
[0013] 控制Z门CZ、控制非门CNOT、SWAP门、ISWAP门。
[0014] 可选的,所述对量子程序中的量子逻辑门划分执行时序,包括:
[0015] 获得量子程序对应的量子线路信息;
[0016] 根据当前的所述量子线路信息,将每个量子比特各自执行的第一位量子逻辑门中的单量子逻辑门的执行时序,划分为同一时序;
[0017] 当所述第一位量子逻辑门中的两量子逻辑门对应的两个位数均为第一位时,将所述两量子逻辑门的执行时序,划分为所述同一时序;否则,将所述两量子逻辑门的执行时序,划分为所述同一时序的下一时序;
[0018] 删除所述量子线路信息包含的、所述同一时序划分完成的量子逻辑门信息,继续执行所述根据当前的所述量子线路信息,将每个量子比特各自执行的第一位量子逻辑门中的单量子逻辑门的执行时序,划分为同一时序的步骤。
[0019] 可选的,所述根据所述拓扑结构信息,确定每一执行时序对应的、所述量子程序中的第二量子比特与所述第一量子比特的映射关系,包括:
[0020] 针对每一执行时序,获取当前执行时序内的两量子逻辑门操作的两个第二量子比特在前一执行时序对应的映射关系下所映射的两个第一量子比特;其中,第一个所述执行时序的前一执行时序对应的映射关系为预设的初始映射关系;
[0021] 基于所述拓扑结构信息,判断所述两个第一量子比特之间是否存在边的连接;
[0022] 若不存在边的连接,查找所述两个第一量子比特之间的最短路径;
[0023] 生成用于对所述最短路径上的量子比特进行交换以使所述两个第一量子比特之间存在边的连接的特定量子逻辑门;
[0024] 根据所述特定量子逻辑门操作的量子比特,调整所述前一执行时序对应的映射关系,得到当前执行时序对应的映射关系。
[0025] 可选的,所述根据各所述映射关系和所述特定量子逻辑门,将所述量子程序转化为新的量子程序,包括:
[0026] 针对每一执行时序,根据当前执行时序对应的映射关系,将该执行时序内的量子逻辑门操作的第二量子比特替换为该第二量子比特映射的第一量子比特;
[0027] 在该执行时序内的量子逻辑门集合后添加该执行时序对应生成的特定量子逻辑门;
[0028] 若所述特定量子逻辑门为所述量子逻辑门种类包含的量子逻辑门,将添加完成的量子程序,确定为新的量子程序;
[0029] 否则,将所述特定量子逻辑门拆分为所述量子逻辑门种类包含的量子逻辑门的组合,得到新的量子程序。
[0030] 可选的,还包括:
[0031] 若替换后的两量子逻辑门操作的两量子比特对应的连接方向与所述拓扑结构信息中该两量子比特对应的连接方向相反,将该两量子比特进行互调;
[0032] 或,
[0033] 将该两量子比特进行互调,并添加所述量子逻辑门种类包含的预设数量个阿达H门;其中,所述连接方向由控制比特指向目标比特。
[0034] 一种量子程序的转化装置,包括:
[0035] 获得模,用于获得量子芯片支持的第一量子比特的拓扑结构信息和量子逻辑门种类;
[0036] 划分模块,用于对量子程序中的量子逻辑门划分执行时序;
[0037] 确定模块,用于根据所述拓扑结构信息,确定每一执行时序对应的、所述量子程序中的第二量子比特与所述第一量子比特的映射关系,以使新生成的、用于等价转化所述量子程序的特定量子逻辑门的数量最少;其中,所述特定量子逻辑门为SWAP门且可拆分为所述量子逻辑门种类包含的量子逻辑门的组合;
[0038] 转化模块,用于根据各所述映射关系和所述特定量子逻辑门,将所述量子程序转化为新的量子程序;其中,所述新的量子程序中的量子逻辑门均为所述量子芯片支持的量子逻辑门。
[0039] 可选的,所述量子逻辑门种类至少包括以下两量子逻辑门的一种或多种:
[0040] 控制Z门CZ、控制非门CNOT、SWAP门、ISWAP门。
[0041] 可选的,所述划分模块,具体用于:
[0042] 获得量子程序对应的量子线路信息;
[0043] 根据当前的所述量子线路信息,将每个量子比特各自执行的第一位量子逻辑门中的单量子逻辑门的执行时序,划分为同一时序;
[0044] 当所述第一位量子逻辑门中的两量子逻辑门对应的两个位数均为第一位时,将所述两量子逻辑门的执行时序,划分为所述同一时序;否则,将所述两量子逻辑门的执行时序,划分为所述同一时序的下一时序;
[0045] 删除所述量子线路信息包含的、所述同一时序划分完成的量子逻辑门信息,继续执行所述根据当前的所述量子线路信息,将每个量子比特各自执行的第一位量子逻辑门中的单量子逻辑门的执行时序,划分为同一时序的步骤。
[0046] 可选的,所述确定模块,具体用于:
[0047] 针对每一执行时序,获取当前执行时序内的两量子逻辑门操作的两个第二量子比特在前一执行时序对应的映射关系下所映射的两个第一量子比特;其中,第一个所述执行时序的前一执行时序对应的映射关系为预设的初始映射关系;
[0048] 基于所述拓扑结构信息,判断所述两个第一量子比特之间是否存在边的连接;
[0049] 若不存在边的连接,查找所述两个第一量子比特之间的最短路径;
[0050] 生成用于对所述最短路径上的量子比特进行交换以使所述两个第一量子比特之间存在边的连接的特定量子逻辑门;
[0051] 根据所述特定量子逻辑门操作的量子比特,调整所述前一执行时序对应的映射关系,得到当前执行时序对应的映射关系。
[0052] 可选的,所述转化模块,具体用于:
[0053] 针对每一执行时序,根据当前执行时序对应的映射关系,将该执行时序内的量子逻辑门操作的第二量子比特替换为该第二量子比特映射的第一量子比特;
[0054] 在该执行时序内的量子逻辑门集合后添加该执行时序对应生成的特定量子逻辑门;
[0055] 若所述特定量子逻辑门为所述量子逻辑门种类包含的量子逻辑门,将添加完成的量子程序,确定为新的量子程序;
[0056] 否则,将所述特定量子逻辑门拆分为所述量子逻辑门种类包含的量子逻辑门的组合,得到新的量子程序。
[0057] 可选的,还包括:
[0058] 添加模块,用于在替换后的两量子逻辑门操作的两量子比特对应的连接方向与所述拓扑结构信息中该两量子比特对应的连接方向相反的情况下,将该两量子比特进行互调;
[0059] 或,
[0060] 将该两量子比特进行互调,并添加所述量子逻辑门种类包含的预设数量个阿达马H门;其中,所述连接方向由控制比特指向目标比特。
[0061] 一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行以上所述的方法。
[0062] 一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行以上所述的方法。
[0063] 与现有技术相比,本发明提供一种量子程序的转化方法,首先获得量子芯片支持的第一量子比特的拓扑结构信息和量子逻辑门种类,然后,对量子程序中的量子逻辑门划分执行时序。根据拓扑结构信息,确定每一执行时序对应的、量子程序中的第二量子比特与第一量子比特的映射关系。最后,根据各映射关系和特定量子逻辑门,将量子程序转化为新的量子程序,新的量子程序中的量子逻辑门均为所述量子芯片支持的量子逻辑门。现有的量子程序中的量子比特(即第二量子比特,又称虚拟量子比特)与量子芯片上的(即第一量子比特,又称物理量子比特)的映射关系,默认为:量子程序中编号为n的第二量子比特映射量子芯片中的编号为n的第一量子比特。通过调整量子比特的映射关系,以使新生成的、用于等价转化量子逻辑门的SWAP门的数量最少,确定出各执行时序对应的映射关系,即为最佳映射关系,从而,最后转化得到的新量子程序中新增的量子逻辑门相对较少,量子程序的计算效率得以提高。附图说明
[0064] 图1是本发明实施例提供的一种量子程序的转化方法的流程示意图;
[0065] 图2是本发明实施例提供的一种量子程序对应的量子线路示意图;
[0066] 图3是本发明实施例提供的一种量子程序划分执行时序后的量子线路示意图;
[0067] 图4是本发明实施例提供的一种量子比特的拓扑结构示意图;
[0068] 图5是本发明实施例提供的一种量子程序的转化装置的结构示意图。

具体实施方式

[0069] 下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0070] 本发明实施例提供了一种量子程序的转化方法,应用于电子设备如终端,优选应用于计算机,如普通电脑即可。下面对其进行详细说明。
[0071] 需要说明的是,真正的量子计算机是混合结构的,它包含两大部分:一部分是经典计算机,负责执行经典计算与控制;另一部分是量子设备,负责执行量子计算。实际上,真正的量子程序是由量子语言如QRunes语言编写的一串能够在量子计算机(前述量子设备)上运行的指令序列,实现了对量子逻辑门操作的支持,并最终实现对量子计算的模拟。具体的说,量子程序就是一系列按照一定时序操作量子逻辑门的指令序列。
[0072] 在实际应用中,为了对量子计算进行模拟以验证量子应用等等,可以通过运行在普通计算机的量子虚拟机实现。本发明实施例所指量子程序,即是在量子虚拟机上运行的由经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。
[0073] 量子线路,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线),以及各种量子逻辑门,最后常需要通过量子测量操作将结果读取出来。
[0074] 不同于传统电路是用金属线所连接以传递电压信号电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上逻辑门而被操作。
[0075] 一个目标量子程序整体上对应有一条总的量子线路,本发明所述量子线路即指该条总的量子线路,其中,该量子线路中的量子比特总数与量子程序的量子比特总数相同。可以理解为:一个量子程序主要由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至千上万个量子逻辑门操作。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即个量子逻辑门被执行的时间顺序。
[0076] 需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,就像传统逻辑门跟一般数位线路之间的关系。量子逻辑门包括单量子逻辑门、双量子逻辑门以及多量子逻辑门。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算的。
[0077] 参见图1,图1为本发明实施例提供的一种量子程序的转化方法的流程示意图,可以包括如下步骤:
[0078] S101,获得量子芯片支持的第一量子比特的拓扑结构信息和量子逻辑门种类;
[0079] 具体的,第一量子比特是指硬件层面的物理(真实)量子比特,其拓扑结构信息可以通过拓扑结构图的形式体现,包括无向图、有向图等等,图中的顶点表示量子比特,有边连接的两量子比特能够适配两量子逻辑门操作,若为无向图,表示其中任一个可作为控制比特,另一个作为受控比特或称目标比特,若为有向图,有方向的边的起点为控制比特,指向终点为目标比特。
[0080] 所述量子逻辑门种类至少包括以下两量子逻辑门的一种或多种:控制Z门CZ、控制非门CNOT、SWAP门、ISWAP门。下面以量子程序包括单量子逻辑门和两量子逻辑门为例进行说明。
[0081] S102,对量子程序中的量子逻辑门划分执行时序;
[0082] 具体的,量子程序的编程方式使其运行时往往是串行计算,即量子逻辑门的执行时序为一个一个的顺序执行,一个时序内只有一个量子逻辑门操作。实际上,量子芯片支持:不同量子比特可以同时执行不同的量子逻辑门操作,但一个量子比特同时只能进行一个量子逻辑门操作。
[0083] 基于该特性,可以获得量子程序对应的量子线路信息;
[0084] 根据当前的所述量子线路信息,将每个量子比特各自执行的第一位量子逻辑门中的单量子逻辑门的执行时序,划分为同一时序;
[0085] 当所述第一位量子逻辑门中的两量子逻辑门对应的两个位数均为第一位时,将所述两量子逻辑门的执行时序,划分为所述同一时序;否则,将所述两量子逻辑门的执行时序,划分为所述同一时序的下一时序;
[0086] 删除所述量子线路信息包含的、所述同一时序划分完成的量子逻辑门信息,继续执行所述根据当前的所述量子线路信息,将每个量子比特各自执行的第一位量子逻辑门中的单量子逻辑门的执行时序,划分为同一时序的步骤。
[0087] 其中,多量子逻辑门对应的多个位数是指,对于多量子逻辑门操作的每一个量子比特而言,都对应有一个位数,表示该多量子逻辑门属于其执行的第几个量子逻辑门。
[0088] 需要说明的是,删除时序划分完成的量子逻辑门信息,是指删除量子线路信息中的该信息,为了方便时序划分之用,并不是删除量子程序中的量子逻辑门,合并后的量子程序结构并无变化。
[0089] 示例性的,一段量子程序的运行顺序为:H q0、H q1、RY q2、H q4、RX q0、X q1、CNOT q4 q3、Z q0、H q1、CNOT q2 q3、H q4、CNOT q1 q0、H q2、CNOTq3 q4、RZ q3、Y q4、RX q4。其中,H为阿达马Hadamard门,RX门为任意旋转X门,CNOT为控制非门(Control-NOT),X为非门,RY为任意旋转Y门,RZ为任意旋转Z门,q0、q1、q2、q3、q4是指比特位从0至4的量子比特。除CNOT门为两量子逻辑门外,其余均为单量子逻辑门。
[0090] 该段量子程序对应的量子线路如图2所示,直观展示了量子比特执行的量子逻辑门及时序情况。0、1、2、3、4代表量子比特q0、q1、q2、q3、q4,每个量子比特处的横线表示量子比特执行量子逻辑门的先后时序,即:
[0091] q0依次执行H门、RX门、Z门和CNOT门;
[0092] q1依次执行H门、X门、H门和CNOT门;
[0093] q2依次执行RY门、CNOT门和H门;
[0094] q3依次执行CNOT门、CNOT门、CNOT门和RZ门;
[0095] q4依次执行H门、CNOT门、H门、CNOT门、Y门和RX门。
[0096] 其中,图2所示的单词NOT及其连接的竖线,即表示两量子逻辑门CNOT门,单词NOT所处横线对应的量子比特表示CNOT门操作的受控比特,竖线连接的另一横线对应的量子比特表示CNOT门操作的控制比特。例如CNOT q1 q0,q1为控制比特,q0为受控比特,CNOT门同时对该两个量子比特进行操作,反过来说,q0执行CNOT门,q1也同时执行该CNOT门。
[0097] 如图2所示,两量子逻辑门CNOT q4 q3,属于q3执行的第一个量子逻辑门、q4执行的第二个量子逻辑门,则该CNOT门对应的两个位数为q3对应的1和q4对应的2。同理,CNOT q2 q3对应的位数为2、2,CNOT q1 q0对应的位数为4、4,CNOT q3 q4对应的位数为3、4。
[0098] 对每个量子比特而言,各自执行的第一个(第一位)量子逻辑门分别为H、H、RY、CNOT、H。对于单量子逻辑门操作Hq0、Hq1、RYq2、Hq4,互不影响,可以划分进同一个时序,作为第一个时序内同时执行的量子逻辑门。
[0099] 对于q3执行的两量子逻辑门CNOT,该CNOT门同时操作的量子比特还有q4,而相对于q4,该CNOT门属于其第二位执行的量子逻辑门,q4需要在执行H门完成后才能执行,若将该CNOT门划分入第一个时序,则q4会同时执行H门和CNOT门,产生冲突,因此,可以将该CNOT门顺延放入下一个时序内执行。
[0100] 同理,各量子比特执行的第二个量子逻辑门包括RX、X和2个CNOT门,其中,q3、q4同时执行同一个CNOT门即CNOT q4q3,q2执行一个CNOT门即CNOT q2 q3。由于q2执行的CNOT门同时还操作q3,而q3在执行完CNOT q4 q3后才能执行CNOT q2 q3,因此,将RXq0、Xq1、CNOT q4 q3放入同一时序,作为第二个时序内同时执行的量子逻辑门,CNOT q2 q3顺延划分入下一个时序内执行。以此类推,可划分包括Z q0、H q1、CNOT q2 q3、H q4的第三个时序、包括CNOT q1 q0、H q2、CNOT q3 q4的第四个时序及包括RZ q3、Y q4的第五个时序,包括RX q4的第六个时序。
[0101] 最终,得到如图3所示的量子线路,其中,虚线表示对执行时序的划分。
[0102] S103,根据所述拓扑结构信息,确定每一执行时序对应的、所述量子程序中的第二量子比特与所述第一量子比特的映射关系,以使新生成的、用于等价转化量子逻辑门的特定量子逻辑门的数量最少;其中,所述特定量子逻辑门为SWAP门且可拆分为所述量子逻辑门种类包含的量子逻辑门的组合;
[0103] 具体的,可以针对每一执行时序,获取当前执行时序内的两量子逻辑门操作的两个第二量子比特在前一执行时序对应的映射关系下所映射的两个第一量子比特;其中,第一个所述执行时序的前一执行时序对应的映射关系为预设的初始映射关系;
[0104] 基于所述拓扑结构信息,判断所述两个第一量子比特之间是否存在边的连接;
[0105] 若不存在边的连接,查找所述两个第一量子比特之间的最短路径;
[0106] 生成用于对所述最短路径上的量子比特进行交换以使所述两个第一量子比特之间存在边的连接的特定量子逻辑门;
[0107] 根据所述特定量子逻辑门操作的量子比特,调整所述前一执行时序对应的映射关系,得到当前执行时序对应的映射关系。
[0108] 再例,另一量子程序为:CNOT 1 0;CNOT 2 3;CNOT 5 4;CNOT 1 4;
[0109] CNOT 2 3;CNOT 5 2;CNOT 3 4;CNOT 4 3;
[0110] 其中,划分执行时序为:
[0111] layers[0]:CNOT q1 q0;CNOT q2 q3;CNOT q5 q4;
[0112] layers[1]:CNOT q1 q4;CNOT q2 q3;
[0113] layers[2]:CNOT q5 q2;CNOT q3 q4;
[0114] layers[3]:CNOT q4 q3。
[0115] layers[0]表示第0层也就是第一个执行时序,其余同理。
[0116] 支持CNOT门的量子芯片中量子比特的拓扑结构图为一个有向图,假设如图4所示,顶点0、1、2、3、4和5表示q0、q1、q2、q3、q4和q5。当然,量子芯片基本都支持常用的单量子逻辑门,如H门等等。初始映射关系假设为 表示量子程序中的虚拟量子比特(代码中的参数)q0、q1、q2、q3、q4、q5(编号0、1、2、3、4、5)映射到量子芯片中的物理量子比特q1、q0、q2、q3、q5、q4(编号1、0、2、3、5、4)。
[0117] 对于第0层,各两量子逻辑门操作的量子比特对q1&q0、q2&q3、q5&q4在初始映射关系下,分别映射到量子芯片的q0&q1、q2&q3、q4&q5。由图4可知,映射到的每对量子比特之间都有边的连接,表示第0层在该映射下可以满足量子比特拓扑结构的约束,不需要SWAP门,故第0层的映射关系不变,即为初始映射关系。
[0118] 同理,对第1层,q1&q4、q2&q3在第0层的映射关系下,分别映射到量子芯片的q0&q5、q2&q3。其中,q0与q5不直接相连,通过最短路径Dijkstra算法,查找图4中q0与q5间的最短路径,位于该路径上的量子比特为q0、q2、q3、q5。为此,生成用于对该路径上的量子比特进行交换以使q0与q5存在边的连接的SWAP门为:SWAP q0 q2;SWAP q2 q3。也就是,将第0层的映射关系中表示第一量子比特的0与2、2与3依次交换,即可得到最少数量、且满足量子比特拓扑结构的映射关系 同样的,第2层生成的SWAP门为SWAP q3 q4、SWAP q2 q3,映射关系为 第3层无需SWAP门,映射关系与第2层相同,即
[0119] 由于最短路径上的量子比特最少,所需的SWAP门最少,映射关系即为最佳,反过来说,正是在这种映射关系下,新增的SWAP门最少,故这种映射关系也就是想要的最佳映射关系。
[0120] S104,根据各所述映射关系和所述特定量子逻辑门,将所述量子程序转化为新的量子程序;其中,所述新的量子程序中的量子逻辑门均为所述量子逻辑门种类包含的量子逻辑门。
[0121] 具体的,可以针对每一执行时序,根据当前执行时序对应的映射关系,将该执行时序内的量子逻辑门操作的第二量子比特替换为该第二量子比特映射的第一量子比特;
[0122] 在该执行时序内的量子逻辑门集合后添加该执行时序对应生成的特定量子逻辑门;
[0123] 若所述特定量子逻辑门为所述量子逻辑门种类包含的量子逻辑门,将添加完成的量子程序,确定为新的量子程序;
[0124] 否则,将所述特定量子逻辑门拆分为所述量子逻辑门种类包含的量子逻辑门的组合,得到新的量子程序。
[0125] 在实际应用中,若替换后的两量子逻辑门操作的两量子比特对应的连接方向与所述拓扑结构信息中该两量子比特对应的连接方向相反,将该两量子比特进行互调(对于CZ门、SWAP门、ISWAP门等等);或,将该两量子比特进行互调,并添加所述量子逻辑门种类包含的预设数量个阿达马H门(对于CNOT门等等);其中,所述连接方向由控制比特指向目标比特。
[0126] 继续以上述为例,各层经映射并添加SWAP门后为:
[0127] CNOT q0 q1;CNOT q2 q3;CNOT q4 q5;
[0128] CNOT q3 q5;CNOT q0 q2;SWAP q0 q2;SWAP q2 q3;
[0129] CNOT q2 q0;CNOT q3 q5;SWAP q3 q4;SWAP q2 q3;
[0130] CNOT q5 q3;
[0131] 由图4可知,q0与q2为有向连接,q0指向q2,与CNOT q2 q0对应的指向相反,为此,将CNOT q2 q0转化为H q0;H q2;CNOT q0 q2;H q0;H q2,以适配量子比特拓扑结构。同理,将CNOT q5 q3转化为H q3;H q5;CNOT q3 q5;H q3;H q5,得到:
[0132] CNOT q0 q1;CNOT q2 q3;CNOT q4 q5;
[0133] CNOT q3 q5;CNOT q0 q2;SWAP q0 q2;SWAP q2 q3;
[0134] H q0;H q2;CNOT q0 q2;H q0;H q2;CNOT q3 q5;SWAP q3 q4;SWAP q2 q3;
[0135] H q3;H q5;CNOT q3 q5;H q3;H q5;
[0136] 如果量子芯片支持的量子逻辑门种类包含SWAP门,则不需要转换;
[0137] 如果包含CZ门,则把SWAP门转换为CZ门与H门的组合:SWAP i,j=H i+CZ i,j+H i+H j+CZ i,j+H i+H j+CZ i,j+H i;
[0138] 如果包含CNOT门,则把SWAP门转换为CNOT门与H门的组合:SWAP i,j=CNOT i,j+H i+H j+CNOT i,j+H i+H j+CNOT i,j;
[0139] 如果包含ISWAP门,则把SWAP门转换为ISWAP门与单量子逻辑门的组合:
[0140] SWAP i,j=CNOT i,j+CNOT j,i+CNOT i,j=Z.dagger i+X j+Z j+ISWAP i,j+X i+ISWAP i,j+X i+Z i+ISWAP j,i+X j+ISWAP j,i+X j+Z j+ISWAP i,j+X i+ISWAP i,j+Z j;
[0141] 其中,i、j为量子比特编号,Y为泡利-Y门,Z为泡利-Z门,Z.dagger为Z门的转置共轭。若支持上述多种两量子逻辑门,转换的优先级可设为SWAP>CZ>CNOT>ISWAP,具体以转化后量子程序中的量子逻辑门均能够被量子芯片所支持为准。
[0142] 可见,现有的量子程序中的虚拟量子比特与量子芯片上的物理量子比特的映射关系,默认为:量子程序中编号为n的量子比特映射真实量子芯片中的编号为n的量子比特。通过调整量子比特的映射关系,以使新生成的、用于等价转化量子逻辑门的SWAP门的数量最少,确定出各执行时序对应的映射关系,即为最佳映射关系,从而,最后转化得到的新量子程序中新增的量子逻辑门相对较少,量子程序的计算效率得以提高。
[0143] 参见图5,图5为本发明实施例提供的一种量子程序的转化装置的结构示意图,与图1所示的流程相对应,可以包括:
[0144] 获得模块,用于获得量子芯片支持的第一量子比特的拓扑结构信息和量子逻辑门种类;
[0145] 划分模块,用于对量子程序中的量子逻辑门划分执行时序;
[0146] 确定模块,用于根据所述拓扑结构信息,确定每一执行时序对应的、所述量子程序中的第二量子比特与所述第一量子比特的映射关系,以使新生成的、用于等价转化所述量子程序的特定量子逻辑门的数量最少;其中,所述特定量子逻辑门为SWAP门且可拆分为所述量子逻辑门种类包含的量子逻辑门的组合;
[0147] 转化模块,用于根据各所述映射关系和所述特定量子逻辑门,将所述量子程序转化为新的量子程序;其中,所述新的量子程序中的量子逻辑门均为所述量子芯片支持的量子逻辑门。
[0148] 具体的,所述量子逻辑门种类至少包括以下两量子逻辑门的一种或多种:
[0149] 控制Z门CZ、控制非门CNOT、SWAP门、ISWAP门。
[0150] 具体的,所述划分模块,具体用于:
[0151] 获得量子程序对应的量子线路信息;
[0152] 根据当前的所述量子线路信息,将每个量子比特各自执行的第一位量子逻辑门中的单量子逻辑门的执行时序,划分为同一时序;
[0153] 当所述第一位量子逻辑门中的两量子逻辑门对应的两个位数均为第一位时,将所述两量子逻辑门的执行时序,划分为所述同一时序;否则,将所述两量子逻辑门的执行时序,划分为所述同一时序的下一时序;
[0154] 删除所述量子线路信息包含的、所述同一时序划分完成的量子逻辑门信息,继续执行所述根据当前的所述量子线路信息,将每个量子比特各自执行的第一位量子逻辑门中的单量子逻辑门的执行时序,划分为同一时序的步骤。
[0155] 具体的,所述确定模块,具体用于:
[0156] 针对每一执行时序,获取当前执行时序内的两量子逻辑门操作的两个第二量子比特在前一执行时序对应的映射关系下所映射的两个第一量子比特;其中,第一个所述执行时序的前一执行时序对应的映射关系为预设的初始映射关系;
[0157] 基于所述拓扑结构信息,判断所述两个第一量子比特之间是否存在边的连接;
[0158] 若不存在边的连接,查找所述两个第一量子比特之间的最短路径;
[0159] 生成用于对所述最短路径上的量子比特进行交换以使所述两个第一量子比特之间存在边的连接的特定量子逻辑门;
[0160] 根据所述特定量子逻辑门操作的量子比特,调整所述前一执行时序对应的映射关系,得到当前执行时序对应的映射关系。
[0161] 具体的,所述转化模块,具体用于:
[0162] 针对每一执行时序,根据当前执行时序对应的映射关系,将该执行时序内的量子逻辑门操作的第二量子比特替换为该第二量子比特映射的第一量子比特;
[0163] 在该执行时序内的量子逻辑门集合后添加该执行时序对应生成的特定量子逻辑门;
[0164] 若所述特定量子逻辑门为所述量子逻辑门种类包含的量子逻辑门,将添加完成的量子程序,确定为新的量子程序;
[0165] 否则,将所述特定量子逻辑门拆分为所述量子逻辑门种类包含的量子逻辑门的组合,得到新的量子程序。
[0166] 具体的,还包括:
[0167] 添加模块,用于在替换后的两量子逻辑门操作的两量子比特对应的连接方向与所述拓扑结构信息中该两量子比特对应的连接方向相反的情况下,将该两量子比特进行互调;
[0168] 或,
[0169] 将该两量子比特进行互调,并添加所述量子逻辑门种类包含的预设数量个阿达马H门;其中,所述连接方向由控制比特指向目标比特。
[0170] 可见,现有的量子程序中的虚拟量子比特与量子芯片上的物理量子比特的映射关系,默认为:量子程序中编号为n的量子比特映射真实量子芯片中的编号为n的量子比特。通过调整量子比特的映射关系,以使新生成的、用于等价转化量子逻辑门的SWAP门的数量最少,确定出各执行时序对应的映射关系,即为最佳映射关系,从而,最后转化得到的新量子程序中新增的量子逻辑门相对较少,量子程序的计算效率得以提高。
[0171] 本发明实施例还提供一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
[0172] 具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
[0173] S1,获得量子芯片支持的第一量子比特的拓扑结构信息和量子逻辑门种类;
[0174] S2,对量子程序中的量子逻辑门划分执行时序;
[0175] S3,根据所述拓扑结构信息,确定每一执行时序对应的、所述量子程序中的第二量子比特与所述第一量子比特的映射关系,以使新生成的、用于等价转化量子逻辑门的特定量子逻辑门的数量最少;其中,所述特定量子逻辑门为SWAP门且可拆分为所述量子逻辑门种类包含的量子逻辑门的组合;
[0176] S4,根据各所述映射关系和所述特定量子逻辑门,将所述量子程序转化为新的量子程序;其中,所述新的量子程序中的量子逻辑门均为所述量子逻辑门种类包含的量子逻辑门。
[0177] 具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
[0178] 可见,现有的量子程序中的虚拟量子比特与量子芯片上的物理量子比特的映射关系,默认为:量子程序中编号为n的量子比特映射真实量子芯片中的编号为n的量子比特。通过调整量子比特的映射关系,以使新生成的、用于等价转化量子逻辑门的SWAP门的数量最少,确定出各执行时序对应的映射关系,即为最佳映射关系,从而,最后转化得到的新量子程序中新增的量子逻辑门相对较少,量子程序的计算效率得以提高。
[0179] 本发明实施例还提供一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
[0180] 具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
[0181] 具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
[0182] S1,获得量子芯片支持的第一量子比特的拓扑结构信息和量子逻辑门种类;
[0183] S2,对量子程序中的量子逻辑门划分执行时序;
[0184] S3,根据所述拓扑结构信息,确定每一执行时序对应的、所述量子程序中的第二量子比特与所述第一量子比特的映射关系,以使新生成的、用于等价转化量子逻辑门的特定量子逻辑门的数量最少;其中,所述特定量子逻辑门为SWAP门且可拆分为所述量子逻辑门种类包含的量子逻辑门的组合;
[0185] S4,根据各所述映射关系和所述特定量子逻辑门,将所述量子程序转化为新的量子程序;其中,所述新的量子程序中的量子逻辑门均为所述量子逻辑门种类包含的量子逻辑门。
[0186] 可见,现有的量子程序中的虚拟量子比特与量子芯片上的物理量子比特的映射关系,默认为:量子程序中编号为n的量子比特映射真实量子芯片中的编号为n的量子比特。通过调整量子比特的映射关系,以使新生成的、用于等价转化量子逻辑门的SWAP门的数量最少,确定出各执行时序对应的映射关系,即为最佳映射关系,从而,最后转化得到的新量子程序中新增的量子逻辑门相对较少,量子程序的计算效率得以提高。
[0187] 以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈