本发明涉及量子算法,尤其涉及一种用于量子相位编码的方法、装置、设备及存储介质。
背景技术:
1、量子算法是一种基于量子力学原理的新型计算方法,与经典算法不同,量子算法利用量子比特(qubit)作为信息的基本单位,运用量子叠加、量子纠缠和量子干涉等关键特性执行运算。例如能够在多项式时间内解决大数质因数分解问题的shor算法、解决无序数据库搜索问题的grover算法等。另一类量子算法为利用经典优化器来优化参数化量子线路中的参数的量子-经典混合算法,也称为变分量子算法(vqa)。vqa非常适合有噪声中等规模量子(nisq)线路的应用,并能够实现无完整纠错情况下相关问题的近似和解决。vqa包括变分量子特征求解器(vqe)、量子近似优化算法(qaoa)和量子神经网络(qnn)等。
2、在使用量子算法解决经典问题的过程中,量子编码是一个不可或缺的步骤。量子编码是指将经典信息转化为量子态的过程。例如,在使用hhl算法求解以下线性方程组时,需要将向量b转化为量子态并应用到量子线路中。
3、方程组:ax=b,其中,。
4、所述的量子线路也称量子逻辑电路,是常用的通用量子计算模型。
5、目前量子计算领域中的量子编码方法有基态编码、振幅编码、角度编码等,不同的编码方法适用于不同类型或结构的经典信息,例如,基态编码方法适用于由0和1组成的经典信息,如1011,采用基态编码方法得到对应的量子态。而振幅编码适用于将一个 n维的经典向量 x编码到一个有 n 个量子比特的量子态,其中 n=log2(n)。例如,
6、当时,编码后得到的量子态为:。
7、针对不同的数据可以使用不同的编码方法,而振幅编码应用的量子门数量多,得到的量子线路深度大,从而使得执行过程中运行时间长,效率低。
技术实现思路
1、有鉴于此,本发明实施例提供一种用于量子相位编码的方法、装置、设备及存储介质,至少用于解决现有对经典数据进行量子编码时的实现方法复杂、量子门数量多的技术问题。
2、根据本发明的一个方面,本发明提供了一种用于量子相位编码的方法,用于编码的经典数据样本为一个多位二进制数据,且所述二进制数据的位数n满足n=2n,n为自然数,所述方法包括以下步骤:
3、获取所述经典数据样本的每个数据位的位序号;
4、将每个数据位的位序号转换为n位二进制字符串;
5、基于所述经典数据样本的每个数据位的数据值计算所述数据位的相位因子;
6、构建包含n个量子比特的量子线路,每个量子比特的序号与n位二进制字符串的字符序号一一对应,在运行所述量子线路时顺序执行以下步骤:
7、对n个基态的量子比特执行量子操作得到n个量子态的均匀叠加态;
8、在所述均匀叠加态的基础上,从最低数据位开始,依次以所述经典数据样本的每一个数据位为目标数据位,将目标数据位的相位因子添加到与目标数据位序号对应的量子态上;在完成全部数据位相位因子添加后得到与所述经典数据样本对应的量子态数据。
9、可选地,构建n个量子比特的量子线路的步骤包括:
10、创建h门,用于对n个基态的量子比特执行h门操作得到n个量子态的均匀叠加态;
11、以所述经典数据样本的每一个数据位为目标数据位,在h门后创建多个连续的与目标数据位对应的操作单元,用于将目标数据位的相位因子添加到与目标数据位序号对应的量子态上。
12、可选地,在创建与目标数据位对应的操作单元的步骤包括:
13、基于与目标数据位的位序号对应的n位二进制字符串,创建第一量子门,用以对n个量子比特执行对应的第一量子操作以确定与目标数据位序号对应的量子态为目标量子态;
14、创建第二量子门,用以将所述目标数据位的相位因子添加到目标量子态上;
15、再次创建相同的第一量子门,用以对n个量子比特再次执行第一量子操作以将进行完第二量门操作后的量子态恢复到原始均匀叠加态。
16、可选地,基于目标数据位的位序号对应的n位二进制字符串创建第一量子门时,分别为与每一个二进制字符对应的量子比特所在的子线路创建一个第一量子门;在创建完第二量子门后,对已经创建了第一量子门的子线路再次创建一个第一量子门。
17、可选地,在为一个量子比特所在的子线路创建第一量子门时,当与所述量子比特对应的二进制字符为0时,所述第一量子门为x门,当与所述量子比特对应的二进制字符为1时,所述第一量子门为i门。
18、可选地,所述第二量子门为c^{n-1}ps(alpha_m)门,其中以最高位的量子比特为目标位,其余n-1个量子比特为控制位,将基于目标数据位的数据值计算得到的相位因子作为操作值alpha_m,将所述目标数据位的相位因子添加到与目标数据位序号对应的量子态上。
19、可选地,在构建n个量子比特的量子线路后进一步包括对所述量子线路的优化步骤。
20、可选地,所述的优化步骤包括以下步骤中的一个或多个:
21、从量子线路中删除h门后的第一列x门;
22、在一个量子比特所在的子线路中,删除需要连续执行的两个相邻x门。
23、根据本发明的另一个方面,本发明提供了一种用于量子相位编码的装置,用于编码的经典数据样本为一个多位二进制数据,且所述二进制数据的位数n满足n=2n,n为自然数,所述装置包括:
24、数据获取单元,经配置以获取经典数据样本,其中包括所述经典数据样本的每个数据位的数据值及位序号;
25、位序号转换单元,经配置以将每个数据位的位序号转换为n位二进制字符串;
26、相位因子计算单元,经配置以基于所述经典数据样本的每个数据位的数据值计算所述数据位的相位因子;
27、量子线路构建单元,经配置以构建包含n个量子比特的量子线路,每个量子比特的序号与n位二进制字符串的字符序号一一对应;
28、运行单元,经配置以运行所述量子线路,在运行所述量子线路时执行以下步骤:
29、对n个基态的量子比特执行第一量子操作得到n个量子态的均匀叠加态;
30、在所述均匀叠加态的基础上,从最低数据位开始,依次以所述经典数据样本的每一个数据位为目标数据位,将目标数据位的相位因子添加到与目标数据位序号对应的量子态上;在完成全部数据位相位因子添加后得到与所述经典数据样本对应的量子态数据。
31、本发明还提供了一种电子设备,所述电子设备包括处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现前述的用于量子相位编码的方法。
32、本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现前述的用于量子相位编码的方法。
33、本发明应用最少数量的量子比特把经典信息编码在量子态的相位上,不需要辅助量子比特,实现步骤简洁,缩短了执行过程中的运行时间长,提高了效率,不会丢失任何经典信息。