具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
以下分别进行详细说明。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
图1A为本申请实施例提供的一种量子线路执行结果确定方法的计算机终端的硬件结构框图。
参见图1A所示,计算机终端可以包括一个或多个(图1A中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机终端还可以包括用于通信功能的传输装置106以及输入输出设备108。本领域普通技术人员可以理解,图1A所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1A中所示更多或者更少的组件,或者具有与图1A所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的量子线路执行结果确定方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
需要说明的是,本申请实施例所指量子程序,即是经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。
量子线路作为量子程序的一种体现方式,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线),以及各种量子逻辑门,最后常需要通过量子测量操作将结果读取出来。量子线路的展现方式可以是按一定执行时序排列的量子逻辑门序列。
具体的,例如一段量子程序:
QCircuitcir;
cir<<H(q[0])<<H(q[1])<<H(q[2])<<H(q[3])<<RZ(q[0],PI/2)<<RY(q[1],PI/4)<<RZ(q[2],PI/4)<<CNOT(q[0],q[1])<<CR(q[1],q[2],PI/3)<<CNOT(q[2],q[3])<<CNOT(q[0],q[3]).
对应的量子线路(记为1#量子线路),可表示为:
q[0]:H(q[0])、RZ(q[0],PI/2)
q[1]:H(q[1])、RY(q[1],PI/4)、CNOT(q[0],q[1])
q[2]:H(q[2])、RZ(q[2],-PI/4)、CR(q[1],q[2],PI/3)
q[3]:H(q[3])、CNOT(q[2],q[3])、CNOT(q[0],q[3])
其中,q[0]、q[1]、q[2]、q[3]是指比特位从0至3的量子比特,通常也可被记为q0、q1、q2、q3。
更为形象的一种展现方式,与上述量子逻辑门序列对应的量子线路图展示参照图1B所示。
不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上量子逻辑门而***作。
一个量子程序整体上对应有一条总的量子线路,本申请所述量子程序即指该条总的量子线路,其中,该总的量子线路中的量子比特总数与量子程序的量子比特总数相同。可以理解为:一个量子程序可以由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至千上万个量子逻辑门操作。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,量子逻辑门包括单比特量子逻辑门(或单量子逻辑门,简称“单门”),如Hadamard门(H门,阿达马门)、泡利-X门(X门)、泡利-Y门(Y门)、泡利-Z门(Z门)、RX门、RY门、RZ门等等;两比特量子逻辑门(或双量子逻辑门,简称“双门”),如CNOT门、CR门、SWAP门、iSWAP门等等;多比特量子逻辑门(或多量子逻辑门,简称“多门”),如Toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算的。
例如,量子态右矢|0>对应的矢量为
量子态右矢|1>对应的矢量为/>
量子态,即量子比特的逻辑状态。在量子算法(或称量子程序)中,针对量子线路包含的一组量子比特的量子态,采用二进制表示方式,例如,一组量子比特为q0、q1、q2,表示第0位、第1位、第2位量子比特,在二进制表示方式中从高位到低位排序为q2q1q0,该组量子比特对应的量子态共有2的量子比特总数次方个,即8个本征态(确定的状态):|000>、|001>、|010>、|011>、|100>、|101>、|110>、|111>,每个量子态的位与量子比特对应一致,如|001>态,001从高位到低位对应q2q1q0,|>为狄拉克符号。对于包含N个量子比特q0、q1、…、qn、…、qN-1的量子线路,二进制表示量子态的位阶排序为qN-1qN-2…、q1q0。
以单个量子比特说明,单个量子比特的逻辑状态ψ可能处于|0>态、|1>态、|0>态和|1>态的叠加态(不确定状态),具体可以表示为ψ=a|0>+b|1>,其中,a和b为表示量子态振幅(概率幅)的复数,振幅的模的平方表示概率,a2、b2分别表示逻辑状态是|0>态、|1>态的概率,|a|2+|b|2=1。简言之,量子态是各本征态组成的叠加态,当其他态的概率为0时,即处于唯一确定的本征态。
下面结合附图进一步介绍本申请实施例提供的一种量子线路执行结果确定方法。
参见图2A,图2A为本申请实施例提供的一种量子线路执行结果确定方法的流程示意图,该方法包括:
步骤201:获取第一子量子线路的测量结果,所述第一子量子线路为第二子量子线路在量子计算设备中实际运行的子量子线路,所述第二子量子线路为切割后的子量子线路,所述测量结果为在第一测量基上测得的量子比特的第一测量态的第一测量次数。
其中,所述第一子量子线路的个数基于所述第二子量子线路中的量子比特的个数、量子比特的初始量子态的个数和所述第一测量基的个数确定。
进一步地,所述第一测量基包括第一子测量基和第二子测量基,所述第二子量子线路中的量子比特包括第一量子比特和第二量子比特,所述第一量子比特所在的时间线未被切割,所述第二量子比特所在的时间线已被切割。所述第一量子比特的初始量子态被制备至第一量子态,且在所述第一子测量基上被测量;若所述第二量子比特所在的时间线为切割后的上游时间线,所述第二量子比特的初始量子态被制备至所述第一量子态,且在所述第二子测量基上被测量;若所述第二量子比特所在的时间线为切割后的下游时间线,所述第二量子比特的初始量子态被制备至第二量子态,且在所述第一子测量基上被测量。
其中,所述上游时间线为切割位置前的时间线,所述下游时间线为切割位置后的时间线。
其中,所述第一量子态的个数为1,所述第一子测量基的个数为1;所述第二量子态的个数为r,所述第二子测量基的个数为s,所述第二子量子线路中的上游时间线个数为p,所述第二子量子线路中的下游时间线个数为q,则所述第一子量子线路的个数为rp·sq。在本申请实施例中,r=4,s=3,所述第一子量子线路的个数为4p·3q。
进一步地,所述第一量子态为|0>;所述第二量子态为以下其中一个:
其中,所述第一子测量基为Z,所述第二子测量基为以下其中一个:Z、X、Y;所述
所述/>
所述/>
举例说明,如图2B所示,图2B为本申请实施例提供的一种由量子线路切割为第二子量子线路的过程示意图,其中第二子量子线路包括子量子线路1和子量子线路2。其中,左指向三角表示该处的量子比特的初始量子态需要制备至第二量子态,右指向三角表示该处的量子比特的末终量子态需要在第二子测量基上进行测量。对于子量子线路1,q[0]、q[3]的初始量子态均为|0>,q[1]的初始量子态为以下之一:
q[0]、q[1]的第一子测量基为Z,q[3]的第二子测量基为以下其中之一:X、Y、Z。子量子线路1中的上游时间线个数为1,子量子线路1中的下游时间线个数为1,因此,对于子量子线路1对应12个第一子量子线路;同理,子量子线路2也对应12个第一子量子线路。
在本申请的一实施例中,所述测量结果的格式包括第一测量态位和第一测量次数位,所述第一测量态位用于表示在所述第一测量基上测得的量子比特的第一测量态,所述第一测量次数位用于表示在所述第一测量基上测得的量子比特的第一测量态的测量次数。
其中,所述第一测量态为泡利特征态。
进一步地,所述Z对应的泡利特征态为
或/>
所述X对应的泡利特征态为/>
或/>
所述Y对应的泡利特征态为/>
或
举例说明,如图2B所示的子量子线路1,对于将q[0]、q[1]、q[3]的初始量子态均制备至|0>,对应的测量基均为Z的第一子量子线路测量结果如下:
其中,000、001、010、011、100、101、110、111分别用于表示对应的第一测量态|000>、|001>、|010>、|011>、|100>、|101>、|110>、|111>。161、0、55、0、32116、0、9334、0分别用于表示对应的第一测量态|000>、|001>、|010>、|011>、|100>、|101>、|110>、|111>的测量次数。
步骤202:基于所述测量结果确定所述第二子量子线路的态矩阵和态计数矩阵,所述态矩阵用于表示在第二测量基上测得的量子比特的第二测量态,所述态计数矩阵用于表示在所述第二测量基上测得的量子比特的第二测量态的第二测量次数。
在本申请的一实施例中,在所述基于所述测量结果确定所述第二子量子线路的态矩阵方面,包括:
基于所述测量结果确定子图,所述子图包括M×N个子图数据,所述N列用于表示所述第二子量子线路在所述第二测量基上测得的量子比特的N个第二测量态,所述M行用于表示每个第二测量态在所述第一测量态上的分量;
确定每个子图数据对应的初始量子态的第一测量矩阵和所述第一测量态的第二测量矩阵;
确定所述第一测量矩阵的转置矩阵与所述第二测量矩阵的直积,得到第一矩阵;
将每列子图数据对应的M个第一矩阵与第二矩阵合成为每列子图数据对应的第二测量态的态矩阵,所述第二矩阵为2n阶的单位矩阵,所述n为所述第二子量子线路上切割位置的个数;
基于N列子图数据对应的N个第二测量态的N个态矩阵确定所述第二子量子线路的态矩阵。
具体地,所述基于所述测量结果确定子图,包括:
将所述测量结果转化为子图数据;
基于所述子图数据确定子图;所述子图数据的格式包括第二量子态位和第二测量次数位;所述第二测量态位基于所述初始量子态、所述第一测量基和所述第一测量态位确定;所述第二测量次数位基于所述第一测量次数位确定。
举例说明,如图2B所示的子量子线路1,对于将q[0]、q[1]、q[3]的初始量子态均制备至|0>,对应的测量基均为Z的第一子量子线路测量结果如下:
由于量子比特q[0]为第一量子比特,其所在的时间线未被切割。将表示量子比特q[0]的量子态位省略,以及将量子比特q[1]的初始量子态和量子比特q[3]的测量态加入,得到如下子图数据:
00--(('S0',),('Zp',)):161 01--(('S0',),('Zp',)):0
10--(('S0',),('Zm',)):55 11--(('S0',),('Zm',)):0
00--(('S0',),('Zp',)):32116 01--(('S0',),('Zp',)):0
10--(('S0',),('Zm',)):9334 11--(('S0',),('Zm',)):0
需要说明的是,为了简便,子图数据中的S
0、S
1、S
2、S
3分别表示
上述例子仅以展示了q[0]、q[1]、q[3]的初始量子态均制备至|0>,对应的测量基均为Z的测量结果。同理,q[0]、q[3]的初始量子态均制备至|0>,q[1]的初始量子态还可以制备至/>
对应的测量基也可以为X或Y,因此对于每一个子量子线路均有12个测量结果。上述例子仅展示了子量子线路1的12个测量结果中的一个,其余的11个测量结果就不在此一一展示,其可以通过下表1推理得出。子量子线路2的12个测量结果可以通过表2推理得出。
表1为子量子线路1对应的12个第一子量子线路的测量结果构成的第一个子图。
表1:
表2为子量子线路2对应的12个第一子量子线路的测量结果构成的第二个子图。
表2:
其中,所述第一测量矩阵与所述第二测量矩阵均为复数矩阵。具体如下:
初始量子态S0的第一测量矩阵为:
初始量子态S1的第一测量矩阵为:
初始量子态S2的第一测量矩阵为:
初始量子态S3的第一测量矩阵为:
第一测量态Zp的第二测量矩阵为:
第一测量态Zm的第二测量矩阵为:
第一测量态Xp的第二测量矩阵为:
第一测量态Xm的第二测量矩阵为:
第一测量态Yp的第二测量矩阵为:
第一测量态Ym的第二测量矩阵为:
举例说明,对于第一个子图中的子图数据00--(('S0',),('Zp',)):161,其第一测量矩阵和第二测量矩阵分别为:
其第一矩阵为:
同理,可以确定其余各子图数据的第一矩阵。
在本例子中,第二矩阵为22阶矩阵,第二矩阵如下:
在本申请的一实施例中,在所述将每列子图数据对应的M个第一矩阵与第二矩阵合成为每列子图数据对应的第二测量态的态矩阵方面,包括:
将M个第一矩阵和第二矩阵展开,得到M+1个1×(2n·2n)的矩阵;
将所述M+1个1×(2n·2n)的矩阵按照展开顺序依次排列,得到(M+1)×(2n·2n)的矩阵;
将所述(M+1)×(2n·2n)的矩阵确定为每列子图数据对应的第二测量态的态矩阵。
举例说明,将第一个子图的第一列子图数据对应的24个第一矩阵与第二矩阵展开,得到25个1×16的矩阵;将25个1×16的矩阵按照展开顺序依次排列,得到25×16的矩阵;将25×16的矩阵确定为第一个子图的第一列子图数据对应的第二测量态的态矩阵。
在本申请的一实施例中,所述基于所述测量结果确定所述第二子量子线路的态计数矩阵,包括:
确定每列子图数据在所述第一测量态上的平均子图数据;
将所述M个子图数据以及所述平均子图数据依次排列得到(M+1)×1的矩阵;
将所述(M+1)×1的矩阵确定为每列子图数据对应的态计数矩阵;
将所述N列子图数据对应的N个态计数矩阵确定为所述第二子量子线路的态计数矩阵。
具体地,每列子图数据在所述第一测量态上的平均子图数据等于每列子图数据之和除以第一测量态的个数。
举例说明,对于第一个子图的第一列子图数据,第一测量态包括Zp、Zm、Xp、Xm、Yp、Ym,所以其平均子图数据为:
(161+32116+15900+16251+13748+18321+45+10643+5313+4606+6103+56+10652+5387+5354+4588+6162+51+10572)/6=32121.833333。
第一个子图的第一列子图数据对应的态计数矩阵为:
(161,32116,15900,16251,13748,18321,45,10643,5313,4606,6103,56,10652,5387,5354,4588,6162,51,10572,27671.5)T。
步骤203:基于所述态矩阵和所述态计数矩阵确定所述第二子量子线路的执行结果,所述执行结果用于表示在所述第二测量基上测得的量子比特的第二测量态和所述第二测量态的概率。
在本申请的一实施例中,所述基于所述态矩阵和所述态计数矩阵确定所述第二子量子线路的执行结果,包括:
基于所述态矩阵A、所述态计数矩阵y和x矩阵确定公式确定矩阵x,所述x矩阵确定公式为Ax=y;
将所述矩阵x按照比特切割个数进行划分,得到复数矩阵;
将所述复数矩阵确定为所述第二子量子线路的执行结果。
举例说明,对于第一个子图的第一列子图数据,其对应的第二量子态为0000,00的态矩阵A为25×16的矩阵;态计数矩阵y为(161,32116,15900,16251,13748,18321,45,10643,5313,4606,6103,56,10652,5387,5354,4588,6162,51,10572,27671.5)T;根据公式Ax=y,可以得到x,x为16×1的矩阵,x的每个矩阵元xi为复数。
对于子量子线路1,其被切割的量子比特为q[1]和q[3],因此,将16×1的矩阵前四个矩阵元x1、x2、x3、x4作为复数矩阵的第一行矩阵元,将矩阵元x5、x6、x7、x8作为复数矩阵的第二行矩阵元,将矩阵元x9、x10、x11、x12作为复数矩阵的第三行矩阵元,将矩阵元x13、x14、x15、x16作为复数矩阵的第四行矩阵元。所以00对应的复数矩阵为:
所述复数矩阵用于表示量子比特q[1]的初始量子态为0,q[3]的初始量子态为0时,子量子线路1对应的密度矩阵。这里q[0]和q[1]的测量态可以为0,也可以为1。
同理,根据上述方法可以确定01、10和11对应的复数矩阵,进而分别确定子量子线路1的00、01、10和11对应的密度矩阵,子量子线路2的00、01、10和11对应的密度矩阵。
可以看出,在本申请实施例中,首先,通过第一子量子线路的测量结果确定第二子量子线路的态矩阵和态计数矩阵,所述第一子量子线路为第二子量子线路在量子计算设备中实际运行的子量子线路,所述第二子量子线路为切割后的子量子线路,所述测量结果为在第一测量基上测得的量子比特的第一测量态的第一测量次数,所述态矩阵用于表示在第二测量基上测得的量子比特的第二测量态,所述态计数矩阵用于表示在所述第二测量基上测得的量子比特的第二测量态的第二测量次数。
然后,基于所述态矩阵和所述态计数矩阵确定所述第二子量子线路的执行结果,所述执行结果用于表示在所述第二测量基上测得的量子比特的第二测量态和所述第二测量态的概率,从而实现了通过实际运行的子量子线路的测量结果确定切割后的子量子线路的执行结果。
参见图3,图3为本申请实施例提供的另一种量子线路执行结果确定方法的流程示意图,该方法包括:
步骤301:获取第一子量子线路的测量结果,所述第一子量子线路为第二子量子线路在量子计算设备中实际运行的子量子线路,所述第二子量子线路为切割后的子量子线路,所述测量结果为在第一测量基上测得的量子比特的第一测量态的第一测量次数;所述测量结果的格式包括第一测量态位和第一测量次数位,所述第一测量态位用于表示在所述第一测量基上测得的量子比特的第一测量态,所述第一测量次数位用于表示在所述第一测量基上测得的量子比特的第一测量态的测量次数。
步骤302:基于所述测量结果确定子图,所述子图包括M×N个子图数据,所述N列用于表示所述第二子量子线路在所述第二测量基上测得的量子比特的N个第二测量态,所述M行用于表示每个第二测量态在所述第一测量态上的分量;所述子图数据的格式包括第二量子态位和第二测量次数位;所述第二测量态位基于所述初始量子态、所述第一测量基和所述第一测量态位确定;所述第二测量次数位基于所述第一测量次数位确定。
步骤303:确定每个子图数据对应的初始量子态的第一测量矩阵和所述第一测量态的第二测量矩阵。
步骤304:确定所述第一测量矩阵的转置矩阵与所述第二测量矩阵的直积,得到第一矩阵。
步骤305:将M个第一矩阵和第二矩阵展开,得到M+1个1×(2n·2n)的矩阵,所述第二矩阵为2n阶的单位矩阵,所述n为所述第二子量子线路上切割位置的个数。
步骤306:将所述M+1个1×(2n·2n)的矩阵按照展开顺序依次排列,得到(M+1)×(2n·2n)的矩阵。
步骤307:将所述(M+1)×(2n·2n)的矩阵确定为每列子图数据对应的第二测量态的态矩阵,所述态矩阵用于表示在第二测量基上测得的量子比特的第二测量态。
步骤308:确定每列子图数据在所述第一测量态上的平均子图数据。
步骤309:将所述M个子图数据以及所述平均子图数据依次排列得到(M+1)×1的矩阵。
步骤310:将所述(M+1)×1的矩阵确定为每列子图数据对应的态计数矩阵。
步骤311:将所述N列子图数据对应的N个态计数矩阵确定为所述第二子量子线路的态计数矩阵,所述态计数矩阵用于表示在所述第二测量基上测得的量子比特的第二测量态的第二测量次数。
步骤312:基于所述态矩阵A、所述态计数矩阵y和x矩阵确定公式确定矩阵x,所述x矩阵确定公式为Ax=y。
步骤313:将所述矩阵x按照比特切割个数进行划分,得到复数矩阵。
步骤314:将所述复数矩阵确定为所述第二子量子线路的执行结果,所述执行结果用于表示在所述第二测量基上测得的量子比特的第二测量态和所述第二测量态的概率。
需要说明的是,本实施例的具体实现过程可参见上述方法实施例所述的具体实现过程,在此不再叙述。
与上述图2A和图3所示的实施例一致的,请参阅图4,图4为本申请实施例提供的一种电子设备的结构示意图,如图4所示,该电子设备包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令:
获取第一子量子线路的测量结果,所述第一子量子线路为第二子量子线路在量子计算设备中实际运行的子量子线路,所述第二子量子线路为切割后的子量子线路,所述测量结果为在第一测量基上测得的量子比特的第一测量态的第一测量次数;
基于所述测量结果确定所述第二子量子线路的态矩阵和态计数矩阵,所述态矩阵用于表示在第二测量基上测得的量子比特的第二测量态,所述态计数矩阵用于表示在所述第二测量基上测得的量子比特的第二测量态的第二测量次数;
基于所述态矩阵和所述态计数矩阵确定所述第二子量子线路的执行结果,所述执行结果用于表示在所述第二测量基上测得的量子比特的第二测量态和所述第二测量态的概率。
在本申请的一实施例中,在所述基于所述测量结果确定所述第二子量子线路的态矩阵方面,上述程序包括具体用于执行以下步骤的指令:
基于所述测量结果确定子图,所述子图包括M×N个子图数据,所述N列用于表示所述第二子量子线路在所述第二测量基上测得的量子比特的N个第二测量态,所述M行用于表示每个第二测量态在所述第一测量态上的分量;
确定每个子图数据对应的初始量子态的第一测量矩阵和所述第一测量态的第二测量矩阵;
确定所述第一测量矩阵的转置矩阵与所述第二测量矩阵的直积,得到第一矩阵;
将每列子图数据对应的M个第一矩阵与第二矩阵合成为每列子图数据对应的第二测量态的态矩阵,所述第二矩阵为2n阶的单位矩阵,所述n为所述第二子量子线路上切割位置的个数;
基于N列子图数据对应的N个第二测量态的N个态矩阵确定所述第二子量子线路的态矩阵。
在本申请的一实施例中,所述测量结果的格式包括第一测量态位和第一测量次数位,所述第一测量态位用于表示在所述第一测量基上测得的量子比特的第一测量态,所述第一测量次数位用于表示在所述第一测量基上测得的量子比特的第一测量态的测量次数;
所述子图数据的格式包括第二量子态位和第二测量次数位;所述第二测量态位基于所述初始量子态、所述第一测量基和所述第一测量态位确定;所述第二测量次数位基于所述第一测量次数位确定。
在本申请的一实施例中,在所述将每列子图数据对应的M个第一矩阵与第二矩阵合成为每列子图数据对应的第二测量态的态矩阵方面,上述程序包括具体用于执行以下步骤的指令:
将M个第一矩阵和第二矩阵展开,得到M+1个1×(2n·2n)的矩阵;
将所述M+1个1×(2n·2n)的矩阵按照展开顺序依次排列,得到(M+1)×(2n·2n)的矩阵;
将所述(M+1)×(2n·2n)的矩阵确定为每列子图数据对应的第二测量态的态矩阵。
在本申请的一实施例中,在所述基于所述测量结果确定所述第二子量子线路的态计数矩阵方面,上述程序包括具体用于执行以下步骤的指令:
确定每列子图数据在所述第一测量态上的平均子图数据;
将所述M个子图数据以及所述平均子图数据依次排列得到(M+1)×1的矩阵;
将所述(M+1)×1的矩阵确定为每列子图数据对应的态计数矩阵;
将所述N列子图数据对应的N个态计数矩阵确定为所述第二子量子线路的态计数矩阵。
在本申请的一实施例中,在所述基于所述态矩阵和所述态计数矩阵确定所述第二子量子线路的执行结果方面,上述程序包括具体用于执行以下步骤的指令:
基于所述态矩阵A、所述态计数矩阵y和x矩阵确定公式确定矩阵x,所述x矩阵确定公式为Ax=y;
将所述矩阵x按照比特切割个数进行划分,得到复数矩阵;
将所述复数矩阵确定为所述第二子量子线路的执行结果。
需要说明的是,本实施例的具体实现过程可参见上述方法实施例所述的具体实现过程,在此不再叙述。
本申请实施例可以根据所述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。所述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
下面为本申请装置实施例,本申请装置实施例用于执行本申请方法实施例所实现的方法。请参阅图5,图5为本申请实施例提供的一种量子线路执行结果确定装置的结构示意图,包括:
获取单元501,用于获取第一子量子线路的测量结果,所述第一子量子线路为第二子量子线路在量子计算设备中实际运行的子量子线路,所述第二子量子线路为切割后的子量子线路,所述测量结果为在第一测量基上测得的量子比特的第一测量态的第一测量次数;
确定单元502,用于基于所述测量结果确定所述第二子量子线路的态矩阵和态计数矩阵,所述态矩阵用于表示在第二测量基上测得的量子比特的第二测量态,所述态计数矩阵用于表示在所述第二测量基上测得的量子比特的第二测量态的第二测量次数;基于所述态矩阵和所述态计数矩阵确定所述第二子量子线路的执行结果,所述执行结果用于表示在所述第二测量基上测得的量子比特的第二测量态和所述第二测量态的概率。
在本申请的一实施例中,在所述基于所述测量结果确定所述第二子量子线路的态矩阵方面,所述确定单元502,具体用于:
基于所述测量结果确定子图,所述子图包括M×N个子图数据,所述N列用于表示所述第二子量子线路在所述第二测量基上测得的量子比特的N个第二测量态,所述M行用于表示每个第二测量态在所述第一测量态上的分量;
确定每个子图数据对应的初始量子态的第一测量矩阵和所述第一测量态的第二测量矩阵;
确定所述第一测量矩阵的转置矩阵与所述第二测量矩阵的直积,得到第一矩阵;
将每列子图数据对应的M个第一矩阵与第二矩阵合成为每列子图数据对应的第二测量态的态矩阵,所述第二矩阵为2n阶的单位矩阵,所述n为所述第二子量子线路上切割位置的个数;
基于N列子图数据对应的N个第二测量态的N个态矩阵确定所述第二子量子线路的态矩阵。
在本申请的一实施例中,所述测量结果的格式包括第一测量态位和第一测量次数位,所述第一测量态位用于表示在所述第一测量基上测得的量子比特的第一测量态,所述第一测量次数位用于表示在所述第一测量基上测得的量子比特的第一测量态的测量次数;
所述子图数据的格式包括第二量子态位和第二测量次数位;所述第二测量态位基于所述初始量子态、所述第一测量基和所述第一测量态位确定;所述第二测量次数位基于所述第一测量次数位确定。
在本申请的一实施例中,在所述将每列子图数据对应的M个第一矩阵与第二矩阵合成为每列子图数据对应的第二测量态的态矩阵方面,所述确定单元502,具体用于:
将M个第一矩阵和第二矩阵展开,得到M+1个1×(2n·2n)的矩阵;
将所述M+1个1×(2n·2n)的矩阵按照展开顺序依次排列,得到(M+1)×(2n·2n)的矩阵;
将所述(M+1)×(2n·2n)的矩阵确定为每列子图数据对应的第二测量态的态矩阵。
在本申请的一实施例中,在所述基于所述测量结果确定所述第二子量子线路的态计数矩阵方面,所述确定单元502,具体用于:
确定每列子图数据在所述第一测量态上的平均子图数据;
将所述M个子图数据以及所述平均子图数据依次排列得到(M+1)×1的矩阵;
将所述(M+1)×1的矩阵确定为每列子图数据对应的态计数矩阵;
将所述N列子图数据对应的N个态计数矩阵确定为所述第二子量子线路的态计数矩阵。
在本申请的一实施例中,在所述基于所述态矩阵和所述态计数矩阵确定所述第二子量子线路的执行结果方面,所述确定单元502,具体用于:
基于所述态矩阵A、所述态计数矩阵y和x矩阵确定公式确定矩阵x,所述x矩阵确定公式为Ax=y;
将所述矩阵x按照比特切割个数进行划分,得到复数矩阵;
将所述复数矩阵确定为所述第二子量子线路的执行结果。
需要说明的是,获取单元501和确定单元502可通过处理器实现。
本申请实施例还提供一种计算机可读存储介质,其中,该计算机可读存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
本申请实施例还提供一种量子计算机操作***,该量子计算机操作***根据上述方法实施例中记载的任一方法的部分或全部步骤实现所述量子计算线路的切割处理。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。