一种基于QASM编程架构的量子程序可视化推演方法及装置制造方法及图纸

技术编号:35780320 阅读:12 留言:0更新日期:2022-12-01 14:25
本发明专利技术提供一种基于QASM编程架构的量子程序可视化推演方法及装置。该装置包括:QASM代码解析模块,用于对源量子程序进行分类分析,提取其中的寄存器信息和操作名称,以及将操作名称转译为适用于单量子比特的转译符;QGOQ模块,用于将转译符入队至对应的量子寄存器下的QGOQ中;寄存器映射模块,用于存储量子寄存器和对应的经典寄存器进行交互操作时的映射关系,以及筛选和提供映射关系;模拟运行模块,用于命令所有量子寄存器下的量子门操作队列进行出队以使位于同一深度的所有转译符对应的量子门操作同时模拟运行和演算;深度是指量子门操作在QGOQ中所处的顺序;测量模块,用于对需要进行测量的量子寄存器进行模拟测量操作。量操作。量操作。

【技术实现步骤摘要】
一种基于QASM编程架构的量子程序可视化推演方法及装置


[0001]本专利技术涉及量子计算
,尤其涉及一种基于QASM编程架构的量子程序可视化推演方法及装置。

技术介绍

[0002]目前的已有技术是以N量子比特在量子逻辑门序列操作下的状态演变以及在测量操作下得到的概率测量结果的量子计算模型为基础的技术。在该技术中,使用的模型是以量子物理作为基本原理的计算模型,所以存在以下问题:(1)量子程序在设计上过于复杂,构建量子程序的逻辑不同于经典逻辑,不具备直观的逻辑构造,程序和算法设计存在一定的偶然性。(2)量子程序在调试上存在局限性,由于量子比特状态一经测量即会坍缩,直接对量子程序进行调试无法得到完整的调试信息。基于上述情形,本专利技术面临下面三方面的问题:(1)目前缺少量子程序运行全过程中量子比特状态变化的自动化经典模拟预演方法;(2)缺少QASM量子程序运行过程的经典模拟调试方法以辅助QASM量子程序的编写和测试;(3)在当前量子计算领域,量子算法应用和编程架构各方面生态还不够成熟,亟需一些方法可以将量子算法和编程设计的结果性验证方法转化为过程性分析方法。

技术实现思路

[0003]为了至少能够部分地解决上述的问题,本专利技术提供一种基于QASM编程架构的量子程序可视化推演方法及装置。
[0004]一方面,本专利技术提供一种基于QASM编程架构的量子程序可视化推演装置,包括:QASM代码解析模块、QGOQ模块、寄存器映射模块、模拟运行模块和测量模块,QGOQ表示量子门操作队列,是指量子程序中对于同一量子比特进行的有先后操作顺序的多个量子门操作所组成的队列结构;
[0005]所述QASM代码解析模块,用于对源量子程序进行分类分析,提取其中的寄存器信息和操作名称,以及将操作名称转译为适用于单量子比特的转译符;
[0006]所述QGOQ模块,用于将转译符入队至对应的量子寄存器下的QGOQ中;
[0007]所述寄存器映射模块,用于存储量子寄存器和对应的经典寄存器进行交互操作时的映射关系,以及筛选和提供映射关系;
[0008]所述模拟运行模块,用于命令所有量子寄存器下的量子门操作队列进行出队以使位于同一深度的所有转译符对应的量子门操作同时模拟运行和演算;所述深度是指量子门操作在QGOQ中所处的顺序;
[0009]所述测量模块,用于对需要进行测量的量子寄存器进行模拟测量操作。
[0010]进一步地,所述QASM代码解析模块中,所述对源量子程序进行分类分析具体包括:
[0011]遍历源量子程序,寻找量子比特和经典比特的定义语句,通过定义语句获得量子寄存器或经典寄存器的标识符,根据标识符筛选出合法的若干块独立的代码段,并根据标识符确定每块代码段是属于仅涉及量子比特的逻辑门操作的代码段还是属于涉及量子比
特和经典比特交互的门操作的代码段。
[0012]进一步地,若一个量子门操作名称同时对应多个转译符,则所述QGOQ模块应先将对应的多个量子寄存器下的QGOQ进行对齐操作,再将多个转译符入队至对应的各个量子寄存器下的QGOQ,以使多个转译符位于同一深度;
[0013]以及,对于有多步测量操作的序列,所述QGOQ模块在将转译符入队时应确保对应QGOQ的每一层深度上至多只有一个测量门。
[0014]进一步地,所述寄存器映射模块包括寄存器映射表和交互操作筛选器;
[0015]所述寄存器映射表,用于将量子寄存器信息、经典寄存器信息和操作备注组成一条映射关系进行存储;所述操作备注用于记录交互操作类型对应的转译符和寄存器操作数;
[0016]所述交互操作筛选器,用于将模拟运行模块传递来的转译符和操作备注进行匹配以筛选得到映射关系,并将映射关系提供给模拟运行模块。
[0017]进一步地,对于测量操作,筛选出映射关系后,只需要把量子比特作为键,找到对应的经典比特值,就可以将该映射关系提供给模拟运行模块;对于Qif或Qwhile操作,在筛选出映射关系后,仅需将当前的第一条映射关系和操作备注中具体操作数传给模拟运行模块。
[0018]进一步地,所述模拟运行模块包括转译符解释表TOT、量子逻辑门矩阵表QGMT、控制位载入器CQL、转化矩阵生成器TMG、量矢转化器QSVC和日志记录工具;
[0019]所述TOT,用于存储转译符所代表的任务操作类型,所述任务操作类型包括G、C、T和M四种类型;G表示将任务递交给QGMT,C表示将任务递交给CQL,T表示将任务递交给QGMT之后再转交给CQL,M表示将任务递交给测量模块;
[0020]所述QGMT,用于存储转译符、量子门和矩阵三者之间的映射关系;
[0021]所述CQL,用于加载转译符中的控制位,并使用控制位对转译符中的目标位对应的矩阵进行加工;
[0022]所述TMG,用于对输入的所有矩阵进行张量积计算,得到转化矩阵;
[0023]所述QSVC,用于使用转化矩阵对量子态矢进行转化操作;
[0024]所述日志记录工具,用于记录QGMT、CQL、TMG和QSVC中的所有操作内容。
[0025]进一步地,所述CQL具体用于:
[0026]当CQL接收到一个或多个来自同一个量子门的控制位转译符时,等待接收QGMT传来目标位转译符对应的矩阵U0,并收集所有控制位的索引号和目标位的索引号;
[0027]从所有的索引号中选出最小的索引号和最大的索引号,分别用Qmin和Qmax表示,以使得[Qmin,Qmax]中的所有比特都参与矩阵的控制位载入操作;
[0028]将控制位的索引号分别记为Qc
i
,Qc
i+1
,

,Qc
n
,目标位的索引号记为Qt,[Qmin,Qmax]中既不属于控制位也不属于目标位的索引号记作Qk
j
,Qk
j+1
,

,Qk
m

[0029]对于所有的控制位,均采用I矩阵作为对应的矩阵;对于目标位Qt采用U0作为对应的矩阵;从Qmin到Qmax,按索引号从小到大的顺序将各自对应的矩阵依次进行张量积计算,得到矩阵U1;
[0030]遍历矩阵U1的所有行号,行号均采用二进制数表示,每一位对应Qc
i
Qc
i+1

Qt

Qc
n
,其中,Qc
i
Qc
i+1

Qc
n
均为1的行号数必然有两个,分别记为a1和a2,将矩阵U1中(a1,a1),
(a1,a2),(a2,a1),(a2,a2)这四个位置分别置换为U0中(1,1),(1,2),(2,1),(2,2)对应的矩阵数,得到矩阵U2;
[0031]对于任意一个Qk
i
,将U2均分为多个大小为2
Qki
*2
Qki
的矩本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于QASM编程架构的量子程序可视化推演装置,其特征在于,包括:QASM代码解析模块、QGOQ模块、寄存器映射模块、模拟运行模块和测量模块,QGOQ表示量子门操作队列,是指量子程序中对于同一量子比特进行的有先后操作顺序的多个量子门操作所组成的队列结构;所述QASM代码解析模块,用于对源量子程序进行分类分析,提取其中的寄存器信息和操作名称,以及将操作名称转译为适用于单量子比特的转译符;所述QGOQ模块,用于将转译符入队至对应的量子寄存器下的QGOQ中;所述寄存器映射模块,用于存储量子寄存器和对应的经典寄存器进行交互操作时的映射关系,以及筛选和提供映射关系;所述模拟运行模块,用于命令所有量子寄存器下的量子门操作队列进行出队以使位于同一深度的所有转译符对应的量子门操作同时模拟运行和演算;所述深度是指量子门操作在QGOQ中所处的顺序;所述测量模块,用于对需要进行测量的量子寄存器进行模拟测量操作。2.根据权利要求1所述的一种基于QASM编程架构的量子程序可视化推演装置,其特征在于,所述QASM代码解析模块中,所述对源量子程序进行分类分析具体包括:遍历源量子程序,寻找量子比特和经典比特的定义语句,通过定义语句获得量子寄存器或经典寄存器的标识符,根据标识符筛选出合法的若干块独立的代码段,并根据标识符确定每块代码段是属于仅涉及量子比特的逻辑门操作的代码段还是属于涉及量子比特和经典比特交互的门操作的代码段。3.根据权利要求1所述的一种基于QASM编程架构的量子程序可视化推演装置,其特征在于,若一个量子门操作名称同时对应多个转译符,则所述QGOQ模块应先将对应的多个量子寄存器下的QGOQ进行对齐操作,再将多个转译符入队至对应的各个量子寄存器下的QGOQ,以使多个转译符位于同一深度;以及,对于有多步测量操作的序列,所述QGOQ模块在将转译符入队时应确保对应QGOQ的每一层深度上至多只有一个测量门。4.根据权利要求1所述的一种基于QASM编程架构的量子程序可视化推演装置,其特征在于,所述寄存器映射模块包括寄存器映射表和交互操作筛选器;所述寄存器映射表,用于将量子寄存器信息、经典寄存器信息和操作备注组成一条映射关系进行存储;所述操作备注用于记录交互操作类型对应的转译符和寄存器操作数;所述交互操作筛选器,用于将模拟运行模块传递来的转译符和操作备注进行匹配以筛选得到映射关系,并将映射关系提供给模拟运行模块。5.根据权利要求4所述的一种基于QASM编程架构的量子程序可视化推演装置,其特征在于,对于测量操作,筛选出映射关系后,只需要把量子比特作为键,找到对应的经典比特值,就可以将该映射关系提供给模拟运行模块;对于Qif或Qwhile操作,在筛选出映射关系后,仅需将当前的第一条映射关系和操作备注中具体操作数传给模拟运行模块。6.根据权利要求1所述的一种基于QASM编程架构的量子程序可视化推演装置,其特征在于,所述模拟运行模块包括转译符解释表TOT、量子逻辑门矩阵表QGMT、控制位载入器CQL、转化矩阵生成器TMG、量矢转化器QSVC和日志记录工具;所述TOT,用于存储转译符所代表的任务操作类型,所述任务操作类型包括G、C、T和M四
种类型;G表示将任务递交给QGMT,C表示将任务递交给CQL,T表示将任务递交给QGMT之后再转交给CQL,M表示将任务递交给测量模块;所述QGMT,用于存储转译符、量子门和矩阵三者之间的映射关系;所述CQL,用于加载转译符中的控制位,并使用控制位对转译符中的目标位对应的矩阵进行加工;所述TMG,用于对输入的所有矩阵进行张量积计算,得到转化矩阵;所述QSVC,用于使用转化矩阵对量子态矢进行转化操作;所述日志记录工具,用于记录QGMT、CQL、TMG和QSVC中的所有操作内容。7.根据权利要求6所述的一种基于QASM编程架构的量子程序可视化推演装置,其特征在于,所述CQL具体用于:当CQL接收到一个或多个来自同一个量子门的控制位转译符时,等待接收QGMT传来目标位转译符对应的矩阵U0,并收集所有控制位的索引号和目标位的索引号;从所有的索引号中选出最小的索引号和最大的索引号,分别用Qmin和Qmax表示,以使得[Qmin, Qmax]中的所有比特都参与矩阵的控制位载入操作;将控制位的索引号分别记为Qc
i
,Qc
i+...

【专利技术属性】
技术研发人员:李熙单征许瑾晨连航刘洋笑陈卓弋宗江
申请(专利权)人:中国人民解放军战略支援部队信息工程大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1