CN114764549A - 基于矩阵乘积态的量子线路模拟计算方法、装置 - Google Patents
基于矩阵乘积态的量子线路模拟计算方法、装置 Download PDFInfo
- Publication number
- CN114764549A CN114764549A CN202011634161.8A CN202011634161A CN114764549A CN 114764549 A CN114764549 A CN 114764549A CN 202011634161 A CN202011634161 A CN 202011634161A CN 114764549 A CN114764549 A CN 114764549A
- Authority
- CN
- China
- Prior art keywords
- quantum
- tensor
- amplitude
- entanglement
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 31
- 238000004364 calculation method Methods 0.000 title claims abstract description 29
- 229940050561 matrix product Drugs 0.000 title claims abstract description 25
- 239000002096 quantum dot Substances 0.000 claims abstract description 86
- 238000000034 method Methods 0.000 claims abstract description 44
- 239000011159 matrix material Substances 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 15
- 238000010276 construction Methods 0.000 claims description 5
- 230000008602 contraction Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 11
- 238000000354 decomposition reaction Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000005259 measurement Methods 0.000 description 6
- 239000013598 vector Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005610 quantum mechanics Effects 0.000 description 3
- 235000015149 toffees Nutrition 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012900 molecular simulation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Evolutionary Computation (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Artificial Intelligence (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开了一种基于矩阵乘积态的量子线路模拟计算方法、装置,属于涉及量子计算技术领域。方法包括:获取待执行量子线路中包含的量子比特和量子逻辑门;针对每个量子比特分别构建对应的振幅张量,并针对每两个相邻量子比特分别构建对应的纠缠张量,振幅张量包括对应量子比特处于|0>态和|1>态分别对应的第一分量和第二分量,纠缠张量用于表征量子态纠缠系数;初始化振幅张量为对应量子比特的初始量子态,初始化纠缠张量为标量1;按照执行时序执行各量子逻辑门,并根据每次执行的量子逻辑门操作的量子比特更新对应的振幅张量和纠缠张量;根据振幅张量和纠缠张量,计算量子线路的量子态的振幅值。本发明能够高效的进行量子线路模拟计算。
Description
技术领域
本发明涉及量子计算技术领域,特别是涉及一种基于矩阵乘积态的量子线路模拟计算方法、装置及存储介质和电子装置。
背景技术
量子计算仿真是一个借助数值计算和计算机科学来仿真遵循量子力学规律的模拟计算,介于数学、量子力学和计算机科学之间的交叉学科,在大数据分解算法、搜索算法、分子模拟等有着重要的应用。作为一个仿真程序,它依据量子力学的量子比特的基本定律,利用计算机的高速计算能力,刻画量子态的时空演化,具有计算密集、数据量大、仿真花费时间过长等特点。
量子程序,是一系列按照一定时序操作量子逻辑门的指令序列,它是由经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程,并且最后常需要通过量子测量操作将结果读取出来。需要说明的是,时序即各量子逻辑门被执行的时间顺序。
量子线路,是最常用的通用量子计算模型,表示在抽象概念下使用量子逻辑门对量子比特进行操作的线路。一个目标量子程序整体上对应有一条总的量子线路,该量子线路中的量子比特总数与量子程序的量子比特总数相同,可以理解为:一个量子程序主要由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的经典比特及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至千上万个量子逻辑门操作。
量子逻辑门包括单量子逻辑门、双量子逻辑门以及多量子逻辑门。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算的。
而如何高效的进行量子线路的模拟计算一直是量子计算技术领域重点探索的一个问题。
发明内容
本发明的目的是提供一种基于矩阵乘积态的量子线路模拟计算方法、装置及存储介质和电子装置,以实现高效进行量子线路模拟计算的目的。
本申请的一个实施例提供了基于矩阵乘积态的量子线路模拟计算方法,包括:
获取待执行量子线路中包含的量子比特和量子逻辑门,其中,所述量子比特的比特位依序编号;
针对每个量子比特分别构建对应的振幅张量,并针对每两个相邻量子比特分别构建对应的纠缠张量,所述振幅张量包括对应量子比特处于|0>态和|1>态分别对应的第一分量和第二分量,所述纠缠张量用于表征量子态纠缠系数;
初始化所述振幅张量和所述纠缠张量;
按照执行时序执行所述量子逻辑门,并根据每次执行的量子逻辑门操作的量子比特更新对应的纠缠张量以及对应振幅张量中的第一分量和第二分量;
根据所述振幅张量和所述纠缠张量,计算所述量子线路的量子态的振幅值。
本申请的另一个实施例提供了基于矩阵乘积态的量子线路模拟计算装置,包括:
获取模块,用于获取待执行量子线路中包含的量子比特和量子逻辑门,其中,所述量子比特的比特位依序编号;
构建模块,用于针对每个量子比特分别构建对应的振幅张量,并针对每两个相邻量子比特分别构建对应的纠缠张量,所述振幅张量包括对应量子比特处于|0>态和|1>态分别对应的第一分量和第二分量,所述纠缠张量用于表征量子态纠缠系数;
初始化模块,用于初始化所述振幅张量和所述纠缠张量;
张量更新模块,用于按照执行时序执行所述量子逻辑门,并根据每次执行的量子逻辑门操作的量子比特更新对应的纠缠张量以及对应振幅张量中的第一分量和第二分量;
振幅计算模块,用于根据所述振幅张量和所述纠缠张量,计算所述量子线路的量子态的振幅值。
相应地,本申请的实施例还提供了一种存储介质合一种电子装置,其中:
所述存储介质中存储有计算机程序,所述计算机程序被设置为运行时执行所述的方法。
所述电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述的方法。
与现有技术相比,本发明通过先获取待执行量子线路中包含的量子比特和量子逻辑门,其中,量子比特的比特位依序编号;然后,针对每个量子比特分别构建对应的振幅张量,并针对每两个相邻量子比特分别构建对应的纠缠张量,振幅张量包括对应量子比特处于|0>态和|1>态分别对应的第一分量和第二分量,纠缠张量用于表征量子态纠缠系数;并初始化振幅张量和纠缠张量;再按照执行时序执行量子逻辑门,并根据每次执行的量子逻辑门操作的量子比特更新对应的纠缠张量以及对应振幅张量中的第一分量和第二分量;最后,根据振幅张量和纠缠张量,计算量子线路的量子态的振幅值,即能够高效的进行量子线路的模拟计算。
本发明的实施方案更为适用于纠缠程度相对较低的量子线路,例如,双门数量较少的量子线路,尤其是跨比特位的双门数量较少的量子线路,对于跨比特位的双门数量较少的量子线路,构成量子线路量子态振幅系数的Γ0λ0Γ1λ1…λn-1Γnλn…λN-2ΓN-1整体结构的尺寸仍然很小,这样可以进行更有效的量子逻辑门操作。需要说明的是,跨比特位的双门,是指操作的量子比特处于非相邻比特位的双门,例如CNOT(q[0],q[3]),由于q[0]和q[3]不相邻,所以将CNOT(q[0],q[3])称为跨比特位的双门。
由于执行量子逻辑门时只涉及与该量子逻辑门操作的量子比特相关的振幅张量和纠缠张量,而无需对量子线路整体的振幅张量进行运算,因此,本发明实施例具有运算效率高的特点,并且,由于对Γ0、λ0、Γ1、λ1…λN-2ΓN-1可以分开保存,执行量子逻辑门时,只需要调用相关的振幅张量和纠缠张量,因此,本发明实施例对于模拟计算的硬件的存储资源要求较低。
附图说明
图1为本发明实施例提供的一种基于矩阵乘积态的量子线路模拟计算方法的计算机终端的硬件结构框图;
图2为本发明实施例中提供的1#量子线路的图形化显示示意图;
图3为本发明实施例提供的一种基于矩阵乘积态的量子线路模拟计算方法的流程示意图;
图4为本发明实施例提供的一种基于矩阵乘积态的量子线路模拟计算装置的结构示意图;
图5为本发明实施例提供的Toffoli门拆分示例图示。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明实施例首先提供了一种基于矩阵乘积态的量子线路模拟计算方法,该方法可以应用于电子设备,如计算机终端,具体如普通电脑、量子计算机等。
下面以运行在计算机终端上为例对其进行详细说明。图1为本发明实施例提供的一种基于矩阵乘积态的量子线路模拟计算方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机终端还可以包括用于通信功能的传输装置106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的基于矩阵乘积态的量子线路模拟计算方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
需要说明的是,真正的量子计算机是混合结构的,它包含两大部分:一部分是经典计算机,负责执行经典计算与控制;另一部分是量子设备,负责运行量子程序进而实现量子计算。而量子程序是由量子语言如QRunes语言编写的一串能够在量子计算机上运行的指令序列,实现了对量子逻辑门操作的支持,并最终实现量子计算。具体的说,量子程序就是一系列按照一定时序操作量子逻辑门的指令序列。
在实际应用中,因受限于量子设备硬件的发展,通常需要进行量子计算模拟以验证量子算法、量子应用等等。量子计算模拟即借助普通计算机的资源搭建的虚拟架构(即量子虚拟机)实现特定问题对应的量子程序的模拟运行的过程。通常,需要构建特定问题对应的量子程序。本发明实施例所指量子程序,即是经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。
量子线路作为量子程序的一种体现方式,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线),以及各种量子逻辑门,最后常需要通过量子测量操作将结果读取出来。量子线路的展现方式可以是按一定执行时序排列的量子逻辑门序列。
具体的,例如一段量子程序:
QCircuit cir;
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。
更为形象的一种展现方式,与上述量子逻辑门序列对应的量子线路图展示参照图2所示。
不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上量子逻辑门而被操作。
一个量子程序整体上对应有一条总的量子线路,本发明所述量子程序即指该条总的量子线路,其中,该总的量子线路中的量子比特总数与量子程序的量子比特总数相同。可以理解为:一个量子程序可以由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至千上万个量子逻辑门操作。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,量子逻辑门包括单比特量子逻辑门(或单量子逻辑门,简称“单门”),如Hadamard门(H门,阿达马门)、泡利-X门(X门)、泡利-Y门(Y门)、泡利-Z门(Z门)、RX门、RY门、RZ门等等;两比特量子逻辑门(或双量子逻辑门,简称“双门”),如CNOT门、CR门、SWAP门、iSWAP门等等;多比特量子逻辑门(或多量子逻辑门,简称“多门”),如Toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算的。
下表列出了部分量子逻辑门及其对应的矩阵形式。
量子态,即量子比特的逻辑状态。在量子算法(或称量子程序)中,针对量子线路包含的一组量子比特的量子态,采用二进制表示方式,例如,一组量子比特为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>态的概率,a2+b2=1。简言之,量子态是各本征态组成的叠加态,当其他态的概率为0时,即处于唯一确定的本征态。
下面对本发明实施例提供的一种基于矩阵乘积态的量子线路模拟计算方法作进一步描述说明。
参见图3,图3为本发明实施例提供的一种基于矩阵乘积态的量子线路模拟计算方法的流程示意图,包括步骤S301至S305,其中:
S301、获取待执行量子线路中包含的量子比特和量子逻辑门,其中,所述量子比特的比特位依序编号,示例性的,本发明实施例中,对待执行量子线路中包含的N个量子比特的比特位从0开始依序编号,例如,q[0]、q[1]、…、q[n]、…、q[N-1],n为整数且0≤n≤N-1,编号相邻的两个量子比特即为两个相邻量子比特。
S302、针对每个量子比特分别构建对应的振幅张量,并针对每两个相邻量子比特分别构建对应的纠缠张量,所述振幅张量包括对应量子比特处于|0>态和|1>态分别对应的第一分量和第二分量,所述纠缠张量用于表征量子态纠缠系数。
例如,针对q[0]、q[1]、…、q[n]、…、q[N-1]分别构建振幅张量Γ0、Γ1、Γ2…Γn…ΓN-1,以及纠缠张量λ0、λ1、λ2…λn…λN-2,其中:振幅张量Γ0与q[0]对应,振幅张量Γ1与q[1]对应,以此类推…,ΓN-1与q[N-1]对应;纠缠张量λ0与q[0]、q[1]对应,纠缠张量λ1与q[1]、q[2]对应,以此类推…,纠缠张量λN-2与q[N-2]、q[N-1]对应。
需要说明的是,振幅张量Γn(n为整数且0≤n≤N-1)包含第一分量和第二分量,其中第一分量表示量子比特q[n]的量子态为|0>的振幅,第二分量表示量子比特q[n]的量子态为|1>的振幅,也就是说,振幅张量Γn满足[AB]的形式,其中,第一分量A表示量子比特q[n]的量子态为|0>的振幅,第二分量B表示量子比特q[n]的量子态为|1>的振幅。
基于此,对于包含N个量子比特的待执行量子线路,将振幅张量依序排列,并将纠缠张量插入对应的振幅张量中间,例如,纠缠张量λ0与q[0]、q[1]对应,即将纠缠张量λ0插入振幅张量Г0和振幅张量Г1中间,纠缠张量λ1与q[1]、q[2]对应,即将纠缠张量λ1插入振幅张量Γ1和振幅张量Γ2中间,以此类推…,纠缠张量λN-2与q[N-2]、q[N-1]对应,即将纠缠张量λN-2插入ΓN-2和ΓN-1中间,按照这种排列顺序,针对振幅张量和纠缠张量依序计算即形成该量子线路的量子态的振幅系数,即
S303、初始化所述振幅张量和所述纠缠张量,示例性的,本发明实施例中,初始化所述振幅张量为对应量子比特的初始量子态的振幅,例如量子比特的初始量子态|0>所对应的振幅为[[1][0]],初始化所述纠缠张量为标量1。
S304、按照执行时序执行所述量子逻辑门,并根据每次执行的量子逻辑门操作的量子比特更新对应的纠缠张量以及对应振幅张量中的第一分量和第二分量。
S305、根据所述振幅张量和所述纠缠张量,计算所述量子线路的量子态的振幅值。
本发明实施例通过上述的步骤S301至步骤S305,即完成基于矩阵乘积态的量子线路模拟计算。与现有技术相比,本发明实施例通过先获取待执行量子线路中包含的量子比特和量子逻辑门,其中,量子比特的比特位依序编号;然后,针对每个量子比特分别构建对应的振幅张量,并针对每两个相邻量子比特分别构建对应的纠缠张量,振幅张量包括对应量子比特处于|0>态和|1>态分别对应的第一分量和第二分量,纠缠张量用于表征量子态纠缠系数;并初始化振幅张量和纠缠张量;再按照执行时序执行量子逻辑门,并根据每次执行的量子逻辑门操作的量子比特更新对应的纠缠张量以及对应振幅张量中的第一分量和第二分量;最后,根据振幅张量和纠缠张量,计算量子线路的量子态的振幅值,即能够高效的进行量子线路的模拟计算。
本发明实施例更为适用于纠缠程度相对较低的量子线路,例如,双门数量较少的量子线路,尤其是跨比特位的双门数量较少的量子线路,对于跨比特位的双门数量较少的量子线路,构成量子线路量子态振幅系数的Γ0λ0Γ1λ1…λn-1Γnλn…λN-2ΓN-1整体结构的尺寸仍然很小,这样可以进行更有效的量子逻辑门操作。需要说明的是,跨比特位的双门,是指操作的量子比特处于非相邻比特位的双门,例如CNOT(q[0],q[3]),由于q[0]和q[3]不相邻,所以将CNOT(q[0],q[3])称为跨比特位的双门。
由于执行量子逻辑门时只涉及与该量子逻辑门操作的量子比特相关的振幅张量和纠缠张量,而无需对量子线路整体的振幅张量进行运算,因此,本发明实施例具有运算效率高的特点,并且,由于对Γ0、λ0、Γ1、λ1…λN-2ΓN-1可以分开保存,执行量子逻辑门时,只需要调用相关的振幅张量和纠缠张量,因此,本发明实施例对于模拟计算的硬件的存储资源要求较低。
在本发明一些实施例中,步骤S304中所述根据每次执行的量子逻辑门操作的量子比特更新对应的纠缠张量以及对应振幅张量中的第一分量和第二分量的步骤,包括:
S3041、判断当前执行时序的所述量子逻辑门的类型;
S3042、若所述量子逻辑门的类型为单门,则利用所述量子逻辑门直接更新对应的振幅张量,即更新对应的振幅张量中的第一分量和第二分量。
进一步地,在本发明另一些实施例中,步骤S304中所述根据每次执行的量子逻辑门操作的量子比特更新对应的纠缠张量以及对应振幅张量中的第一分量和第二分量的步骤,还包括:
S3043、若所述量子逻辑门的类型为双门,则判断所述量子逻辑门操作的两个量子比特是否相邻;
S3044、若是,则针对与所述两个量子比特对应的振幅张量以及与所述两个量子比特相关的纠缠张量执行缩并运算获得缩并张量,与所述两个量子比特对应的振幅张量是指与所述两个量子比特相分别相对应的振幅张量,例如,所述量子逻辑门操作的两个量子比特若是q[0]和q[1],则与所述两个量子比特对应的振幅张量为Γ0和Γ1,所述量子逻辑门操作的两个量子比特若是q[1],q[2],则与所述两个量子比特对应的振幅张量为Г1和Γ2;与所述两个量子比特相关的纠缠张量是指对应的两个相邻量子比特包括所述两个量子比特中至少一个量子比特的纠缠张量,例如,所述量子逻辑门操作的两个量子比特若是q[0]和q[1],则与所述两个量子比特相关的纠缠张量为λ0和λ1,所述量子逻辑门操作的两个量子比特若是q[1],q[2],则与所述两个量子比特相关的纠缠张量为λ0、λ1和λ2;
S3045、利用所述量子逻辑门更新所述缩并张量;
S3046、针对经更新的所述缩并张量进行SVD分解获得左奇异矩阵、奇异普和右奇异矩阵;
S3047、利用所述左奇异矩阵、所述奇异普和所述右奇异矩阵更新对应的纠缠张量以及对应振幅张量中的第一分量和第二分量。
更进一步地,在本发明其他一些实施例中,步骤S304中所述根据每次执行的量子逻辑门操作的量子比特更新对应的纠缠张量以及对应振幅张量中的第一分量和第二分量的步骤,还包括:
S3048、若否,则在当前执行时序插入至少一个SWAP门,以使得执行所述至少一个SWAP门后所述量子逻辑门操作的两个量子比特处于相邻的比特位;
S3049、返回所述判断当前执行时序的所述量子逻辑门的类型的步骤,即返回步骤S3041。
在本发明一些实施例中,步骤S305、根据所述振幅张量和所述纠缠张量,计算所述量子线路的量子态的振幅值,具体包括:
S3051、确定振幅张量中各量子比特的单量子态及其对应的振幅值;
S3052、根据所述纠缠张量、各量子比特的单量子态及其对应的振幅值计算获得所述量子线路的量子态的振幅值。
可以理解的,步骤S305实现方式不限于此,例如,可选地,在本发明另一些实施例中,步骤S305包括:
针对所述振幅张量和所述纠缠张量执行缩并运算获得第三张量,其中,所述纠缠张量位于相邻量子比特对应的两个所述振幅张量之间;
确定所述量子线路的量子态的振幅值为所述第三张量中对应元素的值。
在本发明的另一些实施例中,在步骤S304、所述按照执行时序执行各所述量子逻辑门之前,还包括:
判断待执行量子线路中包含的量子逻辑门中是否含有多门;
若有,则将各所述多门拆分为单门和双门的组合,或者双门和双门的组合。
结合图5所示,即为多门Toffoli量子逻辑门拆分为单门和双门组合的示例。
在量子计算领域,可以将量子态描述为状态向量,其表达式:
其中,Γn表示对应量子比特的复数张量;λn是实数矩阵,用于将q[n]和q[n+1]的振幅归一化。
执行量子逻辑门的过程:单门作用在一个量子比特,仅更新对应的振幅张量;双门对相邻的或者连续比特位编号(例如n和n+1)的量子比特进行操作,这涉及张量收缩操作,即针对执行量子逻辑门操作前的λn-1、Γn、λn、Γn+1、λn+1进行缩并运算,创建一个缩并张量,然后利用量子逻辑门更新该缩并张量,更新后,再分解成缩并运算前的结构形式。涉及操作两个不相邻或者比特位编号不连续的量子比特的量子逻辑门,则需要一系列交换门,以使两个比特位相邻,再执行量子逻辑门,然后可选地,可以进行反向交换门恢复至原始的比特位编号顺序以与量子线路输出量子态时的量子比特的位阶排序对应一致。
本发明的实施例尤其适用于纠缠程度相对较低的量子线路,例如双门数量较少的量子线路,对于双门数量较少的量子线路,构成量子线路量子态振幅系数的Γ0λ0Γ1λ1…λn-1Γnλn…λN-2ΓN-1整体结构的尺寸仍然很小,这样可以进行更有效的量子逻辑门操作。
下面结合示例,对本发明的实施方案进一步说明。
参照图2,示例性的,本发明实施例结合前述的1#量子线路,详细阐述基于矩阵乘积态的量子线路模拟计算方法:
针对1#量子线路,该量子线路包含4个量子比特q[0]、q[1]、q[2]、q[3],比特位为0至3,且量子逻辑门如下:
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])
基于矩阵乘积态(matrix product state)构建量子态振幅系数满足TT(Tensor-Train)形式的分解式:
式中:振幅张量Γ0、Γ1、Γ2、Γ3表示比特位为0至3的量子比特的量子态振幅;纠缠张量λ0、λ1、λ2分别表示比特位0和比特位1、比特位1和比特位2、比特位2和比特位3的量子态纠缠系数。需要说明的是,振幅张量Γn包含第一分量和第二分量,其中第一分量表示量子比特q[n]的量子态为|0>的振幅,第二分量表示量子比特q[n]的量子态为|1>的振幅,也就是说,振幅张量Γn满足[AB]的形式,其中,第一分量A表示量子比特q[n]的量子态为|0>的振幅,第二分量B表示量子比特q[n]的量子态为|1>的振幅。
初始化q[0]、q[1]、q[2]、q[3]的量子态为|0>,并且初始化所述纠缠张量λ0、λ1、λ2均为标量1,则Γ0、λ0、Γ1、λ1、Γ2、λ2、Γ3可表示为:
Γ0=[[1] [0]]
λ0=1
Γ1=[[1] [0]]
λ1=1
Γ2=[[1] [0]]
λ2=1
Γ3=[[1] [0]]
第1时序
针对H(q[0])操作:
H(q[0])的类型为单门,则利用H(q[0])操作对应的量子比特,q[0]的量子态发生演化,即:
更新Γ0、λ0、Γ1、λ1、Γ2、λ2、Γ3中的Γ0,并且λ0、Γ1、λ1、Γ2、λ2、Γ3保持不变,具体如下:
Γ0=[[0.707] [0.707]]
λ0=1
Γ1=[[1] [0]]
λ1=1
Γ2=[[1] [0]]
λ2=1
Γ3=[[1] [0]]
针对H(q[1])操作:
H(q[1])的类型为单门,则利用H(q[1])操作对应的量子比特,q[1]的量子态发生演化,即:
更新Γ0、λ0、Γ1、λ1、Γ2、λ2、Γ3中的Γ1,并且Γ0、λ0、λ1、Γ2、λ2、Γ3保持不变,具体如下:
Γ0=[[0.707] [0.707]]
λ0=1
Γ1=[[0.707] [0.707]]
λ1=1
Γ2=[[1] [0]]
λ2=1
Γ3=[[1] [0]]
针对H(q[2])操作、H(q[3])操作,与前述过程相类似。
故,经过H(q[0])、H(q[1])、H(q[2])、H(q[3])操作后,Γ0、λ0、Γ1、λ1、Γ2、λ2、Γ3更新的值,具体如下:
Γ0=[[0.707] [0.707]]
λ0=1
Γ1=[[0.707] [0.707]]
λ1=1
Γ2=[[0.707] [0.707]]
λ2=1
Γ3=[[0.707] [0.707]]
第2时序
RZ(q[0],PI/2)、RY(q[1],PI/4)、RZ(q[2],-PI/4)的类型均为单门,且RZ(q[0],PI/2)操作、RY(q[1],PI/4)操作、以及RZ(q[2],-PI/4),与第1时序中Hadamard门(H门,阿达马门)操作相类似。
故经过RZ(q[0],PI/2)、RY(q[1],PI/4)、RZ(q[2],-PI/4)操作后,Γ0、λ0、Γ1、λ1、Γ2、λ2、Γ3更新的值,具体如下:
Γ0=[[0.5-0.5i] [0.5+0.5i]]
λ0=1
Γ1=[[0.383] [0.924]]
λ1=1
Γ2=[[0.653+0.271i] [0.653-0.271i]]
λ2=1
Γ3=[[0.707] [0.707]]
第3时序
针对CNOT(q[0],q[1])操作:
由于CNOT(q[0],q[1])的类型为双门,且CNOT(q[0],q[1])操作的两个量子比特q[0]和q[1]的比特位0和1相邻,则针对与所述两个量子比特的比特位相关的振幅张量、纠缠张量执行缩并运算获得缩并张量。
需要说明的是,在本示例中,表示量子比特q[i]的量子态处于|ψi>且量子比特q[j]的量子态处于|ψj>的振幅,例如,表示q[0]和q[1]的量子态均处于|0>的振幅,表示q[0]和q[1]的量子态分别处于|0>和|1>的振幅,和依此类推。
执行缩并运算获得的缩并张量即为:
CNOT(q[0],q[1])作用在缩并张量上,即可更新该缩并张量,得到:
由此,得到:
需要说明的是,在本示例中,表示经过量子逻辑门操作后,对应量子比特q[i]的量子态处于|ψi>且量子比特q[j]的量子态处于|ψj>的振幅,例如,表示q[0]和q[1]的量子态均处于|0>的振幅,表示q[0]和q[1]的量子态分别处于|0>和|1>的振幅,和依此类推。
下面针对量子逻辑门操作演化后的量子态振幅形成的矩阵进行SVD分解:
该矩阵经SVD分解得到的U、S、VT分别为:
需要说明的是,对于任一矩阵A的SVD分解获得USVT,使得A=USVT为现有技术。本发明实施例SVD分解时S只保留最大的r个奇异值,例如,只保留非零的奇异值,以进行数据压缩,简化数据,去除噪声,提供计算效率,矩阵A的分解式即满足:
在本发明实施例中,经SVD分解获得的矩阵U按行划分为两个部分(即第一行分量和第二行分量),矩阵V按列划分为两个部分(即第一列分量和第二列分量),即矩阵U、矩阵V满足以下形式:
VT=[VT A VT B]
其中,第一行分量UA与比特位在前的振幅张量中的第一分量A对应,第二行分量UB与比特位在前的振幅张量中的第二分量B对应,第一列分量VT A与比特位在后的振幅张量中的第一分量A对应,第二列分量VT B与比特位在后的振幅张量中的第二分量B对应。
UA=[0.5-0.5i -0.5+0.5i]
UB=[0.5+0.5i 0.5+0.5i]
利用SVD分解得到的矩阵更新Γ0、λ0和Γ1,即利用S更新λ0,利用U更新Γ0,利用VT更新Γ1。具体的,利用U更新Γ0可以理解为:利用第一行分量UA更新振幅张量Γ0中的第一分量A,利用第二行分量UB更新振幅张量Γ0中的第二分量B;利用VT更新Γ1则可以理解为:利用第一列分量VT A更新振幅张量Γ1中的第一分量A,利用第一列分量VT B更新振幅张量Γ1中的第二分量B。
根据Γ0=U,可得:
Γ0=[[0.5-0.5i -0.5+0.5i][0.5+0.5i 0.5+0.5i]]
上式也可以理解为根据A=UA,B=UB分别确定更新后的振幅张量Γ0中的第一分量A、第二分量B。
根据Γ1λ1=VT,可得:
上式也可以理解为根据Aλ1=VT A,Bλ1=VT B分别确定更新后的振幅张量Γ1中的第一分量A、第二分量B。
Γ0、λ0、Γ1、λ1、Γ2、λ2、Γ3更新的值,具体如下:
Γ0=[[0.5-0.5i -0.5+0.5i][0.5+0.5i 0.5+0.5i]]
λ1=1
Γ2=[[0.653+0.271i] [0.653-0.271i]]
λ2=1
Γ3=[[0.707] [0.707]]
第4时序
针对CR(q[1],q[2],PI/3)操作:
由于CR(q[1],q[2],PI/3)的类型为双门,且CR(q[1],q[2],PI/3)操作的两个量子比特q[1]和q[2]的比特位1和2相邻,则针对与所述两个量子比特的比特位相关的振幅张量、纠缠张量执行缩并运算获得缩并张量。
执行缩并运算获得的缩并张量即为:
CR(q[1],q[2],PI/3)作用在缩并的张量上,即得到:
由此,得到:
下面针对量子逻辑门操作演化后的量子态振幅形成的矩阵进行SVD分解:
该矩阵经SVD分解得到的U、S、VT分别为:
经SVD分解获得的矩阵U按行划分为两个部分(即第一行分量和第二行分量),矩阵V按列分为两个部分(即第一列分量和第二列分量),即矩阵U、矩阵V满足以下形式:
VT=[VT A VT B]
其中,第一行分量UA与比特位在前的振幅张量中的第一分量A对应,第二行分量UB与比特位在前的振幅张量中的第二分量B对应,第一列分量VT A与比特位在后的振幅张量中的第一分量A对应,第二列分量VT B与比特位在后的振幅张量中的第二分量B对应。
利用SVD分解得到的矩阵更新Γ1、λ1和Γ2,即利用S更新λ1,利用U更新Γ1,利用VT更新Γ2。具体的,利用U更新Γ1可以理解为:利用第一行分量UA更新振幅张量Γ1中的第一分量A,利用第二行分量UB更新振幅张量Γ1中的第二分量B;利用VT更新Γ2则可以理解为:利用第一列分量VT A更新振幅张量Γ2中的第一分量A,利用第一列分量VT B更新振幅张量Γ2中的第二分量B。
根据λ0Γ1=U,可得:
上式也可以理解为根据λ0A=UA,λ0B=UB分别确定更新后的振幅张量Γ1中的第一分量A、第二分量B。
根据Γ2λ2=VT,可得:
上式也可以理解为根据Aλ2=VT A,Bλ2=VT B分别确定更新后的振幅张量Γ2中的第一分量A、第二分量B。
更新Γ0、λ0、Γ1、λ1、Γ2、λ2、Γ3中的Γ1、λ1、Γ2,并且Γ0、λ0、λ2、Γ3保持不变,具体如下:
Γ0=[[0.5-0.5i -0.5+0.5i][0.5+0.5i 0.5+0.5i]]
λ2=1
Γ3=[[0.707] [0.707]]
第5时序
针对CNOT(q[2],q[3])操作:
由于CNOT(q[2],q[3])的类型为双门,且CNOT(q[2],q[3])操作的两个量子比特q[2]和q[3]的比特位2和3相邻,故,CNOT(q[2],q[3])操作与CNOT(q[0],q[1])操作相类似。
经CNOT(q[2],q[3])操作后,Γ0、λ0、Γ1、λ1、Γ2、λ2、Γ3更新的值,具体如下:
Γ0=[[0.5-0.5i -0.5+0.5i][0.5+0.5i 0.5+0.5i]]
λ2=1
Γ3=[[0.707] [0.707]]
第6时序
CNOT(q[0],q[3])操作:
由于CNOT(q[0],q[3])的类型为双门,且CNOT(q[0],q[3])操作的两个量子比特q[0]和q[3]的比特位0和3不相邻,因此,需要插入SWAP(q[3],q[2])、SWAP(q[2],q[1])以使得执行SWAP门后,CNOT门操作的两个量子比特的比特位相邻。
插入SWAP门后,即在当前执行时序形成SWAP(q[3],q[2])、SWAP(q[2],q[1])、CNOT(q[0],q[3])的量子逻辑门序列。
返回所述判断当前执行时序的所述量子逻辑门的类型的步骤,先判断SWAP(q[3],q[2])的类型,并针对SWAP(q[3],q[2])操作更新Γ0、λ0、Γ1、λ1、Γ2、λ2、Γ3,然后判断SWAP(q[2],q[1])的类型,并针对SWAP(q[2],q[1])操作更新Γ0、λ0、Γ1、λ1、Γ2、λ2、Γ3,再判断CNOT(q[0],q[3])的类型,并针对CNOT(q[0],q[3])操作更新Γ0、λ0、Γ1、λ1、Γ2、λ2、Γ3。
由于的类型均为双门,且操作的两个量子比特的比特位均相邻,因此,更新Γ0、λ0、Γ1、λ1、Γ2、λ2、Γ3的过程,与CNOT(q[0],q[1])操作、CR(q[1],q[2],PI/3)操作相类似,在此不赘述。
经过SWAP(q[3],q[2])、SWAP(q[2],q[1])、CNOT(q[0],q[3])操作后,更新得到的Γ0、λ0、Γ1、λ1、Γ2、λ2、Γ3的值,具体如下:
Γ0=[[0.707 0.707][0.707i -0.707i]]
需要说明的是:针对前述的1#量子线路,初始时,二进制表示量子态的位阶排序为q[3]q[2]q[1]q[0],经过SWAP(q[3],q[2])、SWAP(q[2],q[1])操作后,位阶排序对应的调整为q[2]q[1]q[3]q[0],即q[3]与q[0]和q[1]相邻,q[1]与q[3]和q[2]相邻。故可选地,在第6时序CNOT(q[0],q[3])操作时,为了与量子线路初始时量子态的位阶排序对应一致,在CNOT(q[0],q[3])前后插入交换方向相反的SWAP门,即在当前执行时序形成SWAP(q[3],q[2])、SWAP(q[2],q[1])、CNOT(q[0],q[3])、SWAP(q[1],q[2])、SWAP(q[2],q[3])的量子逻辑门序列。
在本发明一些实施例中,根据所述振幅张量Γ0、Γ1、Γ2、Γ3和所述纠缠张量λ0、λ1、λ2,计算所述量子线路的量子态的振幅值,可以按照如下的方式:
由于振幅张量Γi满足[AB]的形式,可以确定:
q[0]的量子态处于|0>态的振幅[0.707 0.707],处于|1>态的振幅为[0.707i -0.707i];
并且,可以确定:
基于此,可以计算出量子线路处于各量子态时的振幅,例如,q[0]、q[3]、q[1]、q[2]均处于|0>态的振幅即可按下式计算确定:
q[0]、q[3]、q[1]、q[2]均处于|0>态的振幅以此类推亦可获得。
至此,即计算出所述量子线路的量子态的振幅值。
在本发明另一些实施例中,根据所述振幅张量Γ0、Γ1、Γ2、Γ3和所述纠缠张量λ0、λ1、λ2,计算所述量子线路的量子态的振幅值的方式,包括:
针对所述振幅张量Γ0、Г1、Γ2、Γ3和所述纠缠张量λ0、λ1、λ2,按照下列式求TT(Tensor-Train)积:
本发明实施例还提供了一种基于矩阵乘积态的量子线路模拟计算装置。
参见图4,图4为本发明实施例提供的一种基于矩阵乘积态的量子线路模拟计算装置的结构示意图,与图3所示的流程相对应,所述量子线路模拟计算装置可以包括:
获取模块401,用于获取待执行量子线路中包含的量子比特和量子逻辑门,其中,所述量子比特的比特位依序编号;
构建模块402,用于针对每个量子比特分别构建对应的振幅张量,并针对每两个相邻量子比特分别构建对应的纠缠张量,所述振幅张量包括对应量子比特处于|0>态和|1>态分别对应的第一分量和第二分量,所述纠缠张量用于表征量子态纠缠系数;
初始化模块403,用于初始化所述振幅张量为对应量子比特的初始量子态,初始化所述纠缠张量为标量1;
张量更新模块404,用于按照执行时序执行各所述量子逻辑门,并根据每次执行的所述量子逻辑门操作的量子比特更新对应的振幅张量和纠缠张量;以及
振幅计算模块405,用于根据所述振幅张量和所述纠缠张量,计算所述量子线路的量子态的振幅值。
本发明实施例通过获取模块401、构建模块402、初始化模块403、张量更新模块404和振幅计算模块405,即可完成基于矩阵乘积态的量子线路模拟计算。与现有技术相比,本发明实施例通过获取模块401先获取待执行量子线路中包含的量子比特和量子逻辑门,其中,量子比特的比特位依序编号;然后,构建模块402针对每个量子比特分别构建对应的振幅张量,并针对每两个相邻量子比特分别构建对应的纠缠张量,振幅张量包括对应量子比特处于|0>态和|1>态分别对应的第一分量和第二分量,纠缠张量用于表征量子态纠缠系数;并利用初始化模块403初始化振幅张量和纠缠张量;张量更新模块404再按照执行时序执行量子逻辑门,并根据每次执行的量子逻辑门操作的量子比特更新对应的纠缠张量以及对应振幅张量中的第一分量和第二分量;振幅计算模块405根据振幅张量和纠缠张量,计算量子线路的量子态的振幅值,即能够高效的进行量子线路的模拟计算。
本发明实施例更为适用于纠缠程度相对较低的量子线路,例如,双门数量较少的量子线路,对于双门数量较少的量子线路,构成量子线路量子态振幅系数的Г0λ0Γ1λ1…λn-1Γnλn…λN-2ΓN-1整体的数据结构仍然很小,这样可以进行更有效的量子逻辑门操作。
本发明实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S301、获取待执行量子线路中包含的量子比特和量子逻辑门,其中,所述量子比特的比特位依序编号;
S302、针对每个量子比特分别构建对应的振幅张量,并针对每两个相邻量子比特分别构建对应的纠缠张量,所述振幅张量包括对应量子比特处于|0>态和|1>态分别对应的第一分量和第二分量,所述纠缠张量用于表征量子态纠缠系数;
S303、初始化所述振幅张量为对应量子比特的初始量子态,初始化所述纠缠张量为标量1;
S304、按照执行时序执行各所述量子逻辑门,并根据每次执行的所述量子逻辑门操作的量子比特更新对应的纠缠张量以及对应振幅张量中的第一分量和第二分量;
S305、根据所述振幅张量和所述纠缠张量,计算所述量子线路的量子态的振幅值。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明实施例还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S301、获取待执行量子线路中包含的量子比特和量子逻辑门,其中,所述量子比特的比特位依序编号;
S302、针对每个量子比特分别构建对应的振幅张量,并针对每两个相邻量子比特分别构建对应的纠缠张量,所述振幅张量包括对应量子比特处于|0>态和|1>态分别对应的第一分量和第二分量,所述纠缠张量用于表征量子态纠缠系数;
S303、初始化所述振幅张量为对应量子比特的初始量子态,初始化所述纠缠张量为标量1;
S304、按照执行时序执行各所述量子逻辑门,并根据每次执行的所述量子逻辑门操作的量子比特更新对应的纠缠张量以及对应振幅张量中的第一分量和第二分量;
S305、根据所述振幅张量和所述纠缠张量,计算所述量子线路的量子态的振幅值。
应理解,说明书通篇中提到的“一些实施例”、“一种实施例”、“一实施方式”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一些实施例中”、“在一种实施例中”或“在一实施方式”,未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和系统,可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,所述模块、单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台实现资源变更的设备(可以是计算机、服务器等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。
Claims (10)
1.基于矩阵乘积态的量子线路模拟计算方法,其特征在于,包括:
获取待执行量子线路中包含的量子比特和量子逻辑门,其中,所述量子比特的比特位依序编号;
针对每个量子比特分别构建对应的振幅张量,并针对每两个相邻量子比特分别构建对应的纠缠张量,所述振幅张量包括对应量子比特处于|0>态和|1>态分别对应的第一分量和第二分量,所述纠缠张量用于表征量子态纠缠系数;
初始化所述振幅张量和所述纠缠张量;
按照执行时序执行所述量子逻辑门,并根据每次执行的量子逻辑门操作的量子比特更新对应的纠缠张量以及对应振幅张量中的第一分量和第二分量;
根据所述振幅张量和所述纠缠张量,计算所述量子线路的量子态的振幅值。
2.根据权利要求1所述的量子线路模拟计算方法,其特征在于,所述根据每次执行的量子逻辑门操作的量子比特更新对应的纠缠张量以及对应振幅张量中的第一分量和第二分量的步骤,包括:
判断当前执行时序的所述量子逻辑门的类型;
若所述量子逻辑门的类型为单门,则利用所述量子逻辑门直接更新对应的振幅张量中的第一分量和第二分量。
3.根据权利要求2所述的量子线路模拟计算方法,其特征在于,所述根据每次执行的量子逻辑门操作的量子比特更新对应的纠缠张量以及对应振幅张量中的第一分量和第二分量的步骤,还包括:
若所述量子逻辑门的类型为双门,则判断所述量子逻辑门操作的两个量子比特是否相邻;
若是,则针对与所述两个量子比特相关的振幅张量、纠缠张量执行缩并运算获得缩并张量;
利用所述量子逻辑门更新所述缩并张量;
针对经更新的所述缩并张量进行SVD分解获得左奇异矩阵、奇异普和右奇异矩阵;
利用所述左奇异矩阵、所述奇异普和所述右奇异矩阵更新对应的纠缠张量以及对应振幅张量中的第一分量和第二分量。
4.根据权利要求3所述的量子线路模拟计算方法,其特征在于,所述根据每次执行的量子逻辑门操作的量子比特更新对应的纠缠张量以及对应振幅张量中的第一分量和第二分量的步骤,还包括:
若否,则在当前执行时序插入至少一个SWAP门,以使得执行所述至少一个SWAP门后所述量子逻辑门操作的两个量子比特处于相邻的比特位;
返回所述判断当前执行时序的所述量子逻辑门的类型的步骤。
5.根据权利要求1所述的量子线路模拟计算方法,其特征在于,所述根据所述振幅张量和所述纠缠张量,计算所述量子线路的量子态的振幅值的步骤,包括:
确定振幅张量中各量子比特的单量子态及其对应的振幅值;
根据所述纠缠张量、各量子比特的单量子态及其对应的振幅值计算获得所述量子线路的量子态的振幅值。
6.根据权利要求1所述的量子线路模拟计算方法,其特征在于,所述根据所述振幅张量和所述纠缠张量,计算所述量子线路的量子态的振幅值的步骤,包括:
针对所述振幅张量和所述纠缠张量执行缩并运算获得第三张量,其中,所述纠缠张量位于相邻量子比特对应的两个所述振幅张量之间;
确定所述量子线路的量子态的振幅值为所述第三张量中对应元素的值。
7.根据权利要求1所述的量子线路模拟计算方法,其特征在于,在所述按照执行时序执行所述量子逻辑门的步骤之前,还包括:
判断待执行量子线路中包含的量子逻辑门中是否含有多门;
若有,则将各所述多门拆分为单门和双门的组合,或者双门和双门的组合。
8.基于矩阵乘积态的量子线路模拟计算装置,包括:
获取模块,用于获取待执行量子线路中包含的量子比特和量子逻辑门,其中,所述量子比特的比特位依序编号;
构建模块,用于针对每个量子比特分别构建对应的振幅张量,并针对每两个相邻量子比特分别构建对应的纠缠张量,所述振幅张量包括对应量子比特处于|0>态和|1>态分别对应的第一分量和第二分量,所述纠缠张量用于表征量子态纠缠系数;
初始化模块,用于初始化所述振幅张量和所述纠缠张量;
张量更新模块,用于按照执行时序执行所述量子逻辑门,并根据每次执行的量子逻辑门操作的量子比特更新对应的纠缠张量以及对应振幅张量中的第一分量和第二分量;
振幅计算模块,用于根据所述振幅张量和所述纠缠张量,计算所述量子线路的量子态的振幅值。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011634161.8A CN114764549B (zh) | 2020-12-31 | 2020-12-31 | 基于矩阵乘积态的量子线路模拟计算方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011634161.8A CN114764549B (zh) | 2020-12-31 | 2020-12-31 | 基于矩阵乘积态的量子线路模拟计算方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114764549A true CN114764549A (zh) | 2022-07-19 |
CN114764549B CN114764549B (zh) | 2023-04-25 |
Family
ID=82363627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011634161.8A Active CN114764549B (zh) | 2020-12-31 | 2020-12-31 | 基于矩阵乘积态的量子线路模拟计算方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114764549B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115130676A (zh) * | 2022-09-02 | 2022-09-30 | 之江实验室 | 基于生命周期的路径搜索判别、优化方法和装置 |
CN115358407A (zh) * | 2022-08-16 | 2022-11-18 | 北京中科弧光量子软件技术有限公司 | 基于张量网络的近似量子编译方法、系统和电子设备 |
CN115759270A (zh) * | 2022-10-24 | 2023-03-07 | 华东师范大学 | 一种基于量子线路的高效模拟方法 |
CN116340714A (zh) * | 2023-03-10 | 2023-06-27 | 本源量子计算科技(合肥)股份有限公司 | 一种张量数据处理方法及相关装置 |
CN116402145A (zh) * | 2023-03-16 | 2023-07-07 | 本源量子计算科技(合肥)股份有限公司 | W态制备方法、装置、介质及电子装置 |
CN116996237A (zh) * | 2023-09-29 | 2023-11-03 | 山东高速建设管理集团有限公司 | 一种基于量子门限签名的分布式管理方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110188885A (zh) * | 2019-06-28 | 2019-08-30 | 合肥本源量子计算科技有限责任公司 | 一种量子计算模拟方法、装置、存储介质和电子装置 |
EP3570223A1 (en) * | 2018-05-17 | 2019-11-20 | Korea Advanced Institute of Science and Technology | Effective quantum ram architecture for quantum database |
CN111052122A (zh) * | 2017-09-22 | 2020-04-21 | 国际商业机器公司 | 模拟量子电路 |
US20200192417A1 (en) * | 2018-08-28 | 2020-06-18 | Synopsys, Inc. | Semiconductor digital logic circuitry for non-quantum enablement of quantum algorithms |
CN111914378A (zh) * | 2019-04-22 | 2020-11-10 | 合肥本源量子计算科技有限责任公司 | 一种单振幅量子计算模拟方法 |
CN111931939A (zh) * | 2019-05-13 | 2020-11-13 | 合肥本源量子计算科技有限责任公司 | 一种单振幅量子计算模拟方法 |
-
2020
- 2020-12-31 CN CN202011634161.8A patent/CN114764549B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111052122A (zh) * | 2017-09-22 | 2020-04-21 | 国际商业机器公司 | 模拟量子电路 |
EP3570223A1 (en) * | 2018-05-17 | 2019-11-20 | Korea Advanced Institute of Science and Technology | Effective quantum ram architecture for quantum database |
US20200192417A1 (en) * | 2018-08-28 | 2020-06-18 | Synopsys, Inc. | Semiconductor digital logic circuitry for non-quantum enablement of quantum algorithms |
CN111914378A (zh) * | 2019-04-22 | 2020-11-10 | 合肥本源量子计算科技有限责任公司 | 一种单振幅量子计算模拟方法 |
CN111931939A (zh) * | 2019-05-13 | 2020-11-13 | 合肥本源量子计算科技有限责任公司 | 一种单振幅量子计算模拟方法 |
CN110188885A (zh) * | 2019-06-28 | 2019-08-30 | 合肥本源量子计算科技有限责任公司 | 一种量子计算模拟方法、装置、存储介质和电子装置 |
Non-Patent Citations (3)
Title |
---|
CHU GUO,YONG LIU,MIN XIONG,SHICHUAN XUE,XIANG FU,ANQI HUANG,XIAOGANG QIANG: "General-Purpose Quantum Circuit Simulator with Projected Entangled-Pair States and the Quantum Supremacy Frontier" * |
FANG LI, XIN LIU, YONG LIU, PENGPENG ZHAO, YULING YANG, HONGHUI SHANG, WEIZHE SUN, ZHEN WANG, ENMING DONG, DEXUN CHEN: "SW_Qsim: a minimize-memory quantum simulator with high-performance on a new Sunway supercomputer" * |
翟良君;郑雨军;: "分子振转动量子计算及分子振转动纠缠" * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115358407A (zh) * | 2022-08-16 | 2022-11-18 | 北京中科弧光量子软件技术有限公司 | 基于张量网络的近似量子编译方法、系统和电子设备 |
CN115130676A (zh) * | 2022-09-02 | 2022-09-30 | 之江实验室 | 基于生命周期的路径搜索判别、优化方法和装置 |
CN115130676B (zh) * | 2022-09-02 | 2023-01-24 | 之江实验室 | 基于生命周期的路径搜索判别、优化方法和装置 |
CN115759270A (zh) * | 2022-10-24 | 2023-03-07 | 华东师范大学 | 一种基于量子线路的高效模拟方法 |
CN115759270B (zh) * | 2022-10-24 | 2024-07-09 | 华东师范大学 | 一种基于量子线路的高效模拟方法 |
CN116340714A (zh) * | 2023-03-10 | 2023-06-27 | 本源量子计算科技(合肥)股份有限公司 | 一种张量数据处理方法及相关装置 |
CN116340714B (zh) * | 2023-03-10 | 2024-07-16 | 本源量子计算科技(合肥)股份有限公司 | 一种张量数据处理方法及相关装置 |
CN116402145A (zh) * | 2023-03-16 | 2023-07-07 | 本源量子计算科技(合肥)股份有限公司 | W态制备方法、装置、介质及电子装置 |
CN116996237A (zh) * | 2023-09-29 | 2023-11-03 | 山东高速建设管理集团有限公司 | 一种基于量子门限签名的分布式管理方法及系统 |
CN116996237B (zh) * | 2023-09-29 | 2023-12-08 | 山东高速建设管理集团有限公司 | 一种基于量子门限签名的分布式管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114764549B (zh) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114764549A (zh) | 基于矩阵乘积态的量子线路模拟计算方法、装置 | |
CN112073221B (zh) | 一种实现网络节点排序的方法及装置 | |
CN111563599B (zh) | 一种量子线路的分解方法、装置、存储介质及电子装置 | |
CN111582491A (zh) | 一种量子线路的构建方法及装置 | |
CN113850389B (zh) | 一种量子线路的构建方法及装置 | |
CN112633508A (zh) | 一种量子线路的生成方法、装置、存储介质及电子装置 | |
CN112232513A (zh) | 一种量子态的制备方法及装置 | |
CN112068798A (zh) | 一种实现网络节点重要性排序的方法及装置 | |
CN112633507A (zh) | 一种将复向量编码到量子线路的方法及装置 | |
CN113222150A (zh) | 一种量子态的变换方法及装置 | |
CN114358319B (zh) | 基于机器学习框架的分类方法及相关装置 | |
CN111461335A (zh) | 基于mpi多进程的含噪声单量子逻辑门实现方法及装置 | |
CN114819163A (zh) | 量子生成对抗网络的训练方法、装置、介质及电子装置 | |
CN113222161A (zh) | 一种自定义量子逻辑门的实现方法、装置 | |
CN113222151A (zh) | 一种量子态的变换方法及装置 | |
CN113222157A (zh) | 一种量子模拟方法、装置、电子装置及存储介质 | |
CN114881239A (zh) | 量子生成器的构造方法、装置、介质及电子装置 | |
CN114881238A (zh) | 量子鉴别器的构造方法、装置、介质及电子装置 | |
CN114372539A (zh) | 基于机器学习框架的分类方法及相关设备 | |
CN114692880A (zh) | 一种量子线路中量子态振幅的模拟方法及装置 | |
CN114764618B (zh) | 一种针对线性系统的量子预处理方法及装置 | |
CN115511094B (zh) | 量子线路执行结果确定方法、装置及量子计算机操作系统 | |
CN115936132B (zh) | 一种量子电路的模拟方法及相关装置 | |
CN116049506B (zh) | 基于量子计算的数值查找方法、装置、设备及存储介质 | |
CN114692879B (zh) | 一种基于稀疏线性系统的量子预处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |