本公开涉及量子计算,尤其涉及量子电路,具体涉及一种量子电路处理方法、装置及电子设备。
背景技术:
1、量子计算利用量子世界中特有的运行规律,提供了一条全新的并且非常有前景的信息处理方式。在诸多特定问题上,量子算法可以带来超越经典算法的优势。例如,利用秀尔(shor)算法,可以对大整数进行高效的分解,利用格罗弗(grover)算法,可以更快的进行数据搜索。随着量子理论的发展,不断有新的量子算法被提出,如何高效的对这些算法进行模拟或者在真正的量子硬件上运行始终是一个重要的问题。
2、目前,量子算法的经典模拟或者真机运行主要受限于量子比特的数量。在经典模拟上,由于描述量子态的列向量的长度随对应比特数呈指数增长(例如一个n比特的量子态的列向量长度为2n),经典计算机很难模拟大规模的量子算法。受计算机内存和处理器能力的限制,现有的量子电路模拟方式最多能支持模拟几十个量子比特的算法。
技术实现思路
1、本公开提供了一种量子电路处理方法、装置及电子设备。
2、根据本公开的第一方面,提供了一种量子电路处理方法,包括:
3、获取第一量子电路的第一指令列表;
4、基于所述第一指令列表,确定第一有向无环图,所述第一有向无环图包括所述第一指令列表中指令对应的节点和至少两个第一有向边,所述第一有向边用于表征所述第一指令列表中不同指令间的时序关系;
5、基于所述第一有向无环图,确定所述第一有向无环图等效的有向二分图的第一邻接矩阵,所述第一邻接矩阵用于表征所述有向二分图的节点集合中每两个节点之间是否存在有向通路,所述节点集合包括所述第一有向无环图中的输入节点和输出节点;
6、基于所述第一邻接矩阵,确定在所述有向二分图中添加输出节点至输入节点的有向边数量达到极大值的优化目标下的添加有向边矩阵,基于所述添加有向边矩阵在所述有向二分图添加有向边的情况下,添加有向边后的所述有向二分图中不存在有向环路,且所述添加有向边矩阵满足:每个输出节点最多只能和一个输入节点相连,以及每个输入节点最多只能和一个输出节点相连;
7、基于所述添加有向边矩阵、所述第一有向无环图和所述第一指令列表,对所述第一量子电路进行等效编译,得到与所述第一量子电路等效的第二量子电路的第二指令列表。
8、根据本公开的第二方面,提供了一种量子电路处理装置,包括:
9、获取模块,用于获取第一量子电路的第一指令列表;
10、第一确定模块,用于基于所述第一指令列表,确定第一有向无环图,所述第一有向无环图包括所述第一指令列表中指令对应的节点和至少两个第一有向边,所述第一有向边用于表征所述第一指令列表中不同指令间的时序关系;
11、第二确定模块,用于基于所述第一有向无环图,确定所述第一有向无环图等效的有向二分图的第一邻接矩阵,所述第一邻接矩阵用于表征所述有向二分图的节点集合中每两个节点之间是否存在有向通路,所述节点集合包括所述第一有向无环图中的输入节点和输出节点;
12、第三确定模块,用于基于所述第一邻接矩阵,确定在所述有向二分图中添加输出节点至输入节点的有向边数量达到极大值的优化目标下的添加有向边矩阵,基于所述添加有向边矩阵在所述有向二分图添加有向边的情况下,添加有向边后的所述有向二分图中不存在有向环路,且所述添加有向边矩阵满足:每个输出节点最多只能和一个输入节点相连,以及每个输入节点最多只能和一个输出节点相连;
13、等效编译模块,用于基于所述添加有向边矩阵、所述第一有向无环图和所述第一指令列表,对所述第一量子电路进行等效编译,得到与所述第一量子电路等效的第二量子电路的第二指令列表。
14、根据本公开的第三方面,提供了一种电子设备,包括:
15、至少一个处理器;以及
16、与至少一个处理器通信连接的存储器;其中,
17、存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器能够执行第一方面中的任一项方法。
18、根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行第一方面中的任一项方法。
19、根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现第一方面中的任一项方法。
20、根据本公开的技术解决了相关技术中量子电路的经典模拟和真机运行比较难的问题,使得能够实现对大规模量子比特的量子电路进行经典模拟和真机运行。
21、应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
1.一种量子电路处理方法,包括:
2.根据权利要求1所述的方法,其中,所述第一邻接矩阵按照所述第一有向无环图中的输入节点数量进行分块,所述第一邻接矩阵为2×2的分块矩阵,所述基于所述第一有向无环图,确定所述第一有向无环图等效的有向二分图的第一邻接矩阵,包括:
3.根据权利要求2所述的方法,其中,所述第一邻接矩阵为反对角分块矩阵,所述第一邻接矩阵中除所述可达性矩阵之外的块矩阵均为全零矩阵。
4.根据权利要求1所述的方法,其中,所述基于所述第一邻接矩阵,确定在所述有向二分图中添加输出节点至输入节点的有向边数量达到极大值的优化目标下的添加有向边矩阵,包括:
5.根据权利要求4所述的方法,其中,所述约束条件包括:
6.根据权利要求5所述的方法,其中,使添加有向边后的所述有向二分图的第二邻接矩阵满足幂零的幂为4。
7.根据权利要求5所述的方法,其中,在所述第一目标值为1的情况下,所述约束条件包括:
8.根据权利要求5所述的方法,其中,在所述第一目标值为1的情况下,所述第一函数表征所述添加有向边矩阵中元素值的和值达到极大值。
9.根据权利要求1所述的方法,其中,所述基于所述添加有向边矩阵、所述第一有向无环图和所述第一指令列表,对所述第一量子电路进行等效编译,得到与所述第一量子电路等效的第二量子电路的第二指令列表,包括:
10.根据权利要求9所述的方法,其中,所述基于所述第二有向无环图、所述第二有向边构成的第一目标列表和所述第一指令列表,对所述第一量子电路进行等效编译,得到与所述第一量子电路等效的第二量子电路的第二指令列表,包括:
11.根据权利要求10所述的方法,其中,所述基于所述第二有向无环图,对所述第一指令列表中的指令进行重排序,得到第三指令列表,包括:
12.根据权利要求10所述的方法,其中,所述基于所述第一目标列表,对所述第三指令列表中的指令进行等效编译,得到所述第二指令列表,包括:
13.根据权利要求1所述的方法,其中,所述基于所述第一指令列表,确定第一有向无环图,包括:
14.一种量子电路处理装置,包括:
15.根据权利要求14所述的装置,其中,所述第一邻接矩阵按照所述第一有向无环图中的输入节点数量进行分块,所述第一邻接矩阵为2×2的分块矩阵,所述第二确定模块,具体用于:
16.根据权利要求15所述的装置,其中,所述第一邻接矩阵为反对角分块矩阵,所述第一邻接矩阵中除所述可达性矩阵之外的块矩阵均为全零矩阵。
17.根据权利要求14所述的装置,其中,所述第三确定模块,具体用于:
18.根据权利要求17所述的装置,其中,所述约束条件包括:
19.根据权利要求18所述的装置,其中,使添加有向边后的所述有向二分图的第二邻接矩阵满足幂零的幂为4。
20.根据权利要求18所述的装置,其中,在所述第一目标值为1的情况下,所述约束条件包括:
21.根据权利要求18所述的装置,其中,在所述第一目标值为1的情况下,所述第一函数表征所述添加有向边矩阵中元素值的和值达到极大值。
22.根据权利要求14所述的装置,其中,所述等效编译模块包括:
23.根据权利要求22所述的装置,其中,所述等效编译子模块包括:
24.根据权利要求23所述的装置,其中,所述重排序单元,具体用于:
25.根据权利要求23所述的装置,其中,所述等效编译单元,具体用于:
26.根据权利要求14所述的装置,其中,所述第一确定模块,具体用于:
27.一种电子设备,包括:
28.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-13中任一项所述的方法。
29.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-13中任一项所述的方法。