一种量子操作的编译方法、系统、存储介质和电子设备与流程

文档序号:29869397发布日期:2022-04-30 17:32阅读:88来源:国知局
一种量子操作的编译方法、系统、存储介质和电子设备与流程

1.本发明涉及量子编译技术领域,尤其涉及一种量子操作的编译方法、系统、存储介质和电子设备。


背景技术:

2.量子程序,又称量子操作序列,具体由一系列的量子操作构成,酉矩阵是量子计算中量子操作的一种基本描述形式。但是量子计算机只可以执行特定的基本操作,因此,在量子计算机中执行一个酉矩阵描述的量子操作之前,需要将一个一般的酉矩阵分解为一系列基本操作对应的酉矩阵,要求分解后的矩阵与分解前的矩阵在功能上完全(近似)相等,该过程被称为(近似)量子编译,但目前往往通过人工进行量子编译,存在效率低的问题,尤其不适用于编译具有较大量子比特数目的量子操作序列。


技术实现要素:

3.本发明所要解决的技术问题是针对现有技术的不足,提供了一种量子操作的编译方法、系统、存储介质和电子设备。
4.本发明的一种量子操作的编译方法的技术方案如下:s1、向初始的待打开父亲状态的量子操作序列,添加指定的量子操作层,得到具有待定参数的量子操作序列;s2、调用量子操作优化器确定所述待定参数的具体取值,得到具有所述具体取值的量子操作序列;s3、对具有所述具体取值的量子操作序列与所述初始的待打开父亲状态的量子操作序列是否近似等价进行评估;s4、当评估结果为是时,则将具有所述具体取值的量子操作序列确定为最终编译结果。
5.本发明的一种量子操作的编译方法的有益效果如下:将整个编译过程抽象为一个搜索优化问题,将整个编译过程抽象为一个搜索优化问题,在搜索过程中增加一个量子操作层,确定待定参数的具体取值,并对具有具体取值的量子操作序列与初始的待打开父亲状态的量子操作序列是否近似等价进行评估,当评估结果为是时,确定最终编译结果,可以实现任意量子比特数目的量子操作序列的编译,且效率高。
6.本发明的一种量子操作的编译系统的技术方案如下:包括添加模块、计算模块、评估模块和确定模块;所述添加模块用于:向初始的待打开父亲状态的量子操作序列,添加指定的量子操作层,得到具有待定参数的量子操作序列;所述计算模块用于:调用量子操作优化器确定所述待定参数的具体取值,得到具有所述具体取值的量子操作序列;
所述评估模块用于:对具有所述具体取值的量子操作序列与所述初始的待打开父亲状态的量子操作序列是否近似等价进行评估;所述确定模块用于:当评估结果为是时,则将具有所述具体取值的量子操作序列确定为最终编译结果。
7.本发明的一种量子操作的编译系统的有益效果如下:将整个编译过程抽象为一个搜索优化问题,将整个编译过程抽象为一个搜索优化问题,在搜索过程中增加一个量子操作层,确定待定参数的具体取值,并对具有具体取值的量子操作序列与初始的待打开父亲状态的量子操作序列是否近似等价进行评估,当评估结果为是时,确定最终编译结果,可以实现任意量子比特数目的量子操作序列的编译,且效率高。
8.本发明的一种存储介质,所述存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行上述任一项所述的一种量子操作的编译方法。
9.本发明的一种电子设备,包括处理器和上述的存储介质,所述处理器执行所述存储介质中的指令。
附图说明
10.图1为本发明实施例的一种量子操作的编译方法的流程示意图;图2为本发明实施例的一种量子操作的编译系统的结构示意图。
具体实施方式
11.如图1所示,本发明实施例的一种量子操作的编译方法,包括如下步骤:s1、向初始的待打开父亲状态的量子操作序列,添加指定的量子操作层,得到具有待定参数的量子操作序列;对“待打开父亲状态的量子操作序列”进行阐述:近似量子编译的量子操作序列构造过程可以看作搜索空间的搜索过程,搜索空间的一个状态存储的信息包括:一个操作序列及其参数取值,该状态的评估值,该状态的父亲状态。状态亦可以记为,可以理解为一个待打开父亲状态,待打开父亲状态的量子操作序列为。
12.其中,量子操作层是本技术所新引入的一个概念,其基本思想是将若干个量子操作看为一个整体,亦可以理解为具有固定模式的特殊量子序列。在本技术中,默认采用两种量子操作层,具体地:1)第一种量子操作层包括1个cnot门、两个门,以及两个量子比特,且该两个量子比特上作用一个cnot门,每个量子比特上分别作用一个门,将一个共同作用在量子比特上的第一种量子操作层表示为:
,其中,,表示第一种量子操作层的两个门所包含的参数;2)第二种量子操作层包括:个门和个量子比特,每个量子比特上作用一个门,为正整数,其符号表示为:,其中。
13.其中,向初始的待打开父亲状态的量子操作序列添加指定的量子操作层的过程,选取一种量子操作层,再选取该量子操作层所作用的量子比特,再将该量子操作层添加上述初始的待打开父亲状态的量子操作序列的后面,即得到具有待定参数的量子操作序列,具体可参考如下两种伪代码实现:1)第二种实现方式对应的伪代码:1、;2)第二种实现方式对应的伪代码:1、;2、;3、如果,则返回;4、,则进入步骤2;5、;s2、调用量子操作优化器确定待定参数的具体取值,得到具有具体取值的量子操作序列;其中,一些量子操作本身具有一个或者多个待定参数,一个或者多个待定参数为决定相应量子门的具体功能的系数,例如前述的单量子比特门,在编译过程中需要确定具有待定参数的单量子比特门的待定参数的具体取值,待定参数为决定单量子比特门的具体功能的系数,该过程可以看作一个优化问题,解决该问题的具体工具在本专利中被称为量子操作优化器。具体来说,一个量子操作优化器的输入是含待定参数的量子操作序列和目标量子操作,输出为中参数的具体取值集合,且需要使的取值尽可能的小。量子操作优化器的调用过程在本发明中记为。
14.s3、对具有具体取值的量子操作序列与初始的待打开父亲状态的量子操作序列是否近似等价进行评估;
s4、当评估结果为是时,则将具有具体取值的量子操作序列确定为最终编译结果。
15.可选地,在上述技术方案中,还包括:s5、若评估结果为否时,则调节预设量子操作层和/或修改待打开父亲状态并重复执行s1至s3,直至评估结果为是。具体如下:调节预设量子操作层具体指:调整量子操作层的种类和/或位置;修改用于打开待打开父亲状态的具体值的过程如下:选取另外一个新的状态,作为待打开父亲状态。
16.可选地,在上述技术方案中,s3包括:s30、调用启发式评估函数得到相似度,利用相似度对具有具体取值的量子操作序列与初始的待打开父亲状态的量子操作序列是否近似等价进行评估,启发式评估函数为:,其中,表示:具有具体取值的量子操作序对应的矩阵,表示:初始的待打开父亲状态的量子操作序列对应的矩阵,表示:具有具体取值的量子操作序列与初始的待打开父亲状态的量子操作序列之间的距离,,其中,n表示初始的待打开父亲状态的量子操作序列中的量子比特数量,表示对和进行求迹操作。
17.其中,距离()用来刻画作用在相同量子比特上的两个量子操作之间的相似程度。其可以表示为:,其中,表示对矩阵进行求迹操作,。此外,的输入可以为一个量子操作序列,此时需要对该量子操作序列进行合并,之后将合并得到的量子操作代入上式。
18.其中,相似度越大,说明越相似,可设置相应的相似度阈值,当相似度大于该阈值时,则判定具有具体取值的量子操作序列与初始的待打开父亲状态的量子操作序列是近似等价,若否,则具有具体取值的量子操作序列与初始的待打开父亲状态的量子操作序列不近似等价。
19.对于一个量子操作和一个足够小的正数,当存在一个量子操作序列且满足时,称为量子操作的近似分解,其中为前述量子操作序列的合并。当时,为量子操作的分解。由此可见,量子操作的分解是其近似分解的一个特例。
20.本技术中的技术语的解释如下:
1)量子比特:量子比特是量子计算机存储数据的基本单元。量子操作通过对量子比特进行相应的控制来实现具体的功能。本技术中,采用符号表示量子计算机中所有量子比特的集合,表示量子计算机中的第个量子比特,表示一个量子计算机中量子比特的数目。
21.2)量子操作:量子操作表示量子计算机可以执行的具体操作,酉矩阵(用符号表示)是量子操作的一种常见表述方式。一般情况下,一个作用在个量子比特集合上的量子操作可以表示为一个大小为的矩阵,且满足,其中表示单位阵。在本发明中,有时会省略具体作用的量子比特,将一个量子操作简写为。
22.控制非门(cnot门)为一种常见的两量子比特操作,一个作用在量子比特上的cnot门可以表示为:;此外,一个任意的单量子比特门可以用带参数的门来表示。一个作用在量子比特上的门可以表示为:,其中,是三个可以任意取值的待定参数,通过特定的取值,就可以将一个门转变为任意一个单量子比特门。
23.3)基本量子操作:在量子程序设计过程中,会假设任意的量子操作都可以在量子计算机上执行。但在实际情况中,一个量子计算机只可以执行一些特定的量子操作,将这些可以被特定量子计算机执行的操作称为该量子计算机的基本量子操作。本专利中假设基本量子操作为单量子比特门和两量子比特cnot门。需要注意的是,对于大部分实际量子计算机,门和cnot门可以很容易地被编译为其对应的基本量子操作。
24.4)量子操作序列:大多数情况下,量子程序含有多个需要顺序执行的量子操作,本专利中将上述量子操作称为量子操作序列,其符号表示为:或者
其中表示该序列中所有量子操作的待定参数集合,表示该序列中所有量子操作作用的量子比特集合,表示该序列中第个被执行的量子操作。在后续叙述中,为了表述方便,有时会将简写为。
25.对于两个不同的量子序列,可以将两者组合成一个新的序列,假设的执行在之后,则两者的组合可以表示为:;5)量子操作的合并与分解:对于由多个量子操作构成的量子操作序列,可以通过对其对应的酉矩阵表示顺序执行一系列特定的代数运算(用符号表示),得到一个新的酉矩阵,该酉矩阵为前述量子操作序列的矩阵表示,且该酉矩阵对应的量子操作为前述多个量子操作的合并,合并前后的量子操作功能相同。前述合并过程可以用符号表示为,其为合并后的量子操作。反之,也可以称量子操作序列为量子操作的一种分解。需要注意的是,量子操作序列的合并是唯一的,而一个量子操作的分解一般是不唯一的。
26.6)近似量子编译:近似量子编译是指给定一个正数(可以理解为编译的目标精度),将一个任意的量子操作近似分解为基本量子操作序列的过程。一般情况下,一个任意的量子操作存在多种近似分解方法,本专利的目标是设计一个近似量子编译算法,使得找到的量子操作序列中,基本量子操作的数目尽可能少。
27.近似量子编译的量子操作序列构造过程可以看作搜索空间的搜索过程,搜索空间的一个状态存储的信息包括:一个操作序列及其参数取值,该状态的评估值,该状态的父亲状态。状态亦可以记为。此外,可以将多个状态所构成的集合记为,通过下面通过伪代码的形式,对本技术的一种量子操作的编译方法进行说明,具体地:输入:待编译的目标量子操作,目标精度,量子计算机的量子比特数目,搜索深度判断阈值,剪枝比例;输出:一个量子操作序列以及其参数取值,使得为的近似分解。
28.具体过程如下:
1、;2、;3、如果,则返回以及其参数取值;4、;5、中任意取出一个状态;6、;7、;8、如果,则进入步骤5;9、;10、如果,则进入下一步,反之则进入步骤4;11、,进入步骤2;其中,涉及到的内容如下:1)状态的打开(open):输入:一个量子操作序列,父亲状态,目标量子操作。
29.输出:搜索空间中的一个状态,具体过程如下:1、;2、;3、;4、返回。
30.2)状态的展开(expand):输入:一个待展开状态,目标量子操作,量子计算机的量子比特数目;输出:新打开的状态集合,具体过程如下:
1、;2、;3、如果,则返回;4、,则进入步骤2;5、;6、,进入步骤4。
31.3)剪枝(prune):输入:待剪枝状态集合,剪枝比例。
32.输出:剪枝后的状态集合。具体过程如下:1、;2、;3、;4、如果,则返回,反之则进入步骤2。
33.4)状态的判决(decide):输入:待判决状态集合,搜索深度。
34.输出:判决后的状态集合以及当前最优状态。
35.1、;2、如果则进入步骤4;3、,进入步骤2;4、5、中任意取出一个状态,;6、如果则进入步骤8;
7、,进入步骤6;8、如果,则;9、如果,则返回,反之则进入步骤5。
36.本技术的一种量子操作的编译方法,采用搜索算法解决近似量子编译问题,在搜索的每次迭代中首先向量子操作序列添加特定的量子操作层;再调用量子操作优化器对新得到的量子操作序列的参数进行求解;第三,对当前量子操作序列调用启发式评估函数进行评估。也就是说,将整个编译过程抽象为一个搜索优化问题,将整个编译过程抽象为一个搜索优化问题,在搜索过程中每步增加一个量子操作层,再对该层的参数进行优化、评估,重复上述过程,直到生成的具有具体取值的量子操作序与初始的待打开父亲状态的量子操作序列近似等价。
37.其中,搜索过程还引入了剪枝技术,并且搜索深度可以自适应地进行调节,达到了性能和效率的兼顾。
38.在上述各实施例中,虽然对步骤进行了编号s1、s2等,但只是本技术给出的具体实施例,本领域的技术人员可根据实际情况调整s1、s2等的执行顺序,此也在本发明的保护范围内,可以理解,在一些实施例中,可以包含如上述各实施方式中的部分或全部。
39.如图2所示,本发明实施例的一种量子操作的编译系统200,包括添加模块210、计算模块220、评估模块230和确定模块240;添加模块210用于:向初始的待打开父亲状态的量子操作序列,添加指定的量子操作层,得到具有待定参数的量子操作序列;计算模块220用于:调用量子操作优化器确定待定参数的具体取值,得到具有具体取值的量子操作序列;评估模块230用于:对具有具体取值的量子操作序列与初始的待打开父亲状态的量子操作序列是否近似等价进行评估;确定模块240用于:当评估结果为是时,则将具有具体取值的量子操作序列确定为最终编译结果。
40.可选地,在上述技术方案中,还包括重复调用模块,重复调用模块用于:若评估结果为否时,则调节预设量子操作层和/或修改待打开父亲状态,并重复调用添加模块210、计算模块220和评估模块230,直至评估结果为是。
41.可选地,在上述技术方案中,评估模块230具体用于:调用启发式评估函数得到相似度,利用相似度对具有具体取值的量子操作序列与初始的待打开父亲状态的量子操作序列是否近似等价进行评估,启发式评估函数为:,其中,表示:具有具体取值的量子操作序对应的矩阵,表示:初始的待打开父亲状态的量子操作序列对应的矩阵,表示:具有具体
取值的量子操作序列与初始的待打开父亲状态的量子操作序列之间的距离,,其中,n表示初始的待打开父亲状态的量子操作序列中的量子比特数量,表示对进行求迹操作。
42.可选地,在上述技术方案中,量子操作层共有两种,第一种量子操作层包括1个cnot门、两个门,以及两个量子比特,且该两个量子比特上作用一个cnot门,每个量子比特上分别作用一个门;第二种量子操作层包括:个门和个量子比特,每个量子比特上作用一个门,为正整数。
43.上述关于本发明的一种量子操作的编译系统200中的各参数和各个单元模块实现相应功能的步骤,可参考上文中关于一种量子操作的编译方法的实施例中的各参数和步骤,在此不做赘述。
44.本发明实施例的一种存储介质,存储介质中存储有指令,当计算机读取指令时,使计算机执行上述任一项的一种量子操作的编译方法。
45.本发明实施例的一种电子设备,包括处理器和上述的存储介质,处理器执行存储介质中的指令。其中,电子设备可以选用电脑、手机等。
46.所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。
47.因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
48.可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一一但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram),只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
49.尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1