CN113222162B - 量子逻辑门可移动性的判断方法和*** - Google Patents
量子逻辑门可移动性的判断方法和*** Download PDFInfo
- Publication number
- CN113222162B CN113222162B CN202010074069.4A CN202010074069A CN113222162B CN 113222162 B CN113222162 B CN 113222162B CN 202010074069 A CN202010074069 A CN 202010074069A CN 113222162 B CN113222162 B CN 113222162B
- Authority
- CN
- China
- Prior art keywords
- quantum
- logic gate
- quantum logic
- circuit
- target
- 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.)
- Active
Links
Classifications
-
- 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)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开了一种量子逻辑门可移动性的判断方法和***,属于量子计算技术领域。本发明获取量子线路中的目标量子逻辑门和移动方式,在此基础上构建移动后的量子线路、确定相关量子逻辑门,并根据相关量子逻辑门在量子线路中的顺序和移动后的量子线路中的顺序,分别确定第一量子线路、第二量子线路,通过判断第一量子线路与第二量子线路是否等效来确定目标量子逻辑门可移动性。
Description
技术领域
本发明属于量子计算技术领域,更具体地说,涉及一种量子逻辑门可移动性的判断方法和***。
背景技术
量子程序,是一系列按照一定时序操作量子逻辑门的指令序列,它是由经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。量子程序的执行过程,即是执行量子线路的过程,更具体的说就是对所有的量子逻辑门按照一定时序执行的过程,并且最后常需要通过量子测量操作将结果读取出来。其中,各量子逻辑门在该量子线路中的时序对应各量子逻辑门被执行的时间顺序。
相关技术中,为了简化量子计算,通常需要对量子线路进行优化,将计算复杂度大的量子线路优化成计算复杂度小的量子线路,这就需要判断量子线路中的量子逻辑门是否可以移动或者说其相对顺序是否可以改变,而目前并无对量子逻辑门可移动性进行判断的技术。
发明内容
针对目前无法判断量子线路中量子逻辑门可移动性的问题,本发明提供一种量子逻辑门可移动性的判断方法和***。
一种量子逻辑门可移动性的判断方法,包括:
获取量子线路中的目标量子逻辑门和移动方式;
根据所述量子线路、所述目标量子逻辑门和所述移动方式,构建移动后的量子线路;
确定与目标量子逻辑门的量子比特相关联的量子逻辑门为相关量子逻辑门,其中,相关联的量子逻辑门是指量子比特与目标量子逻辑门的量子比特存在交集的量子逻辑门;
分别确定由所述相关量子逻辑门构建的第一量子线路、第二量子线路,其中,所述相关量子逻辑门在所述第一量子线路中的顺序与在所述量子线路中的顺序相同,所述相关量子逻辑门在所述第二量子线路中的顺序与在所述移动后的量子线路中的顺序相同;
判断所述第一量子线路与所述第二量子线路是否等效;
若等效,则确定所述目标量子逻辑门可移动。
进一步地,其中:
所述目标量子逻辑门包括第一目标量子逻辑门和第二目标量子逻辑门;
所述移动方式包括下列之一:
所述第一目标量子逻辑门和所述第二目标量子逻辑门交换位置、所述第一目标量子逻辑门移动***至与所述第二目标量子逻辑门相邻的位置、所述第一目标量子逻辑门移动至替换所述第二目标量子逻辑门。
进一步地,根据所述量子线路、所述目标量子逻辑门和所述移动方式,构建移动后的量子线路,包括:
生成所述量子线路副本和所述目标量子逻辑门副本;
根据所述移动方式,确定所述量子线路副本中用于放置所述目标量子逻辑门副本的目标位置;
将所述目标量子逻辑门副本添加到所述量子线路副本的所述目标位置处;
删除所述量子线路副本中的所述目标量子逻辑门;
将新的量子线路副本确定为移动后的量子线路。
进一步地,所述确定与目标量子逻辑门的量子比特相关联的量子逻辑门为相关量子逻辑门,包括:
根据所述目标量子逻辑门,分别确定所述量子线路中的第一位置和所述移动后的量子线路中的第二位置,其中,第一位置是指目标量子逻辑门在所述量子线路中的位置,第二位置是指目标量子逻辑门在所述移动后的量子线路中的位置;
确定所述量子线路中与所述第二位置对应的第三位置;
获取所述量子线路中从所述第一位置至所述第三位置所对应的所有量子逻辑门;
确定所述所有量子逻辑门中量子比特与目标量子逻辑门的量子比特存在交集的量子逻辑门为相关量子逻辑门。
进一步地,所述判断所述第一量子线路与所述第二量子线路是否等效,包括:
判断所述相关量子逻辑门是否仅包含一个量子逻辑门,且该逻辑门为所述目标量子逻辑门;
若是,则所述第一量子线路与所述第二量子线路等效。
进一步地,所述判断所述第一量子线路与所述第二量子线路是否等效,包括:
执行所述第一量子线路,获得计算结果mat1;
执行所述第二量子线路,获得计算结果mat2;
判断mat1与mat2是否符合mat1=eiαmat2,其中eiα=cosα+isinα,i2=-1,α为0~2π中的任意角度值;
若符合mat1=eiαmat2,则所述第一量子线路与所述第二量子线路等效。
进一步地,所述执行所述第二量子线路,获得计算结果mat2,包括:
确定所述第二量子线路中可简化的量子逻辑门组,其中,所述可简化的量子逻辑门组为所述第二量子线路中的至少两个量子逻辑门;
确定与所述可简化的量子逻辑门组等效的量子逻辑门为替代量子逻辑门;
根据所述可简化的量子逻辑门组和所述替代量子逻辑门,确定与所述第二量子线路对应的第三量子线路;
执行所述第三量子线路,获得计算结果mat2。
进一步地,所述确定所述第二量子线路中可简化的量子逻辑门组,包括:
对所述第二量子线路中的量子逻辑门进行执行时序划分,获得位于各执行时序内的量子逻辑门;
根据所述位于各执行时序内的量子逻辑门,确定可简化的量子逻辑门组。
进一步地,其中,所述可简化的量子逻辑门组为所述第二量子线路中的位于不同执行时序内的至少两个量子逻辑门。
本发明提供的一种量子逻辑门可移动性的判断***,包括:
获取模块,用于获取量子线路中的目标量子逻辑门和移动方式;
第一确定模块,用于根据所述量子线路、所述目标量子逻辑门和所述移动方式,构建移动后的量子线路;
第二确定模块,用于确定与目标量子逻辑门的量子比特相关联的量子逻辑门为相关量子逻辑门,其中,相关联的量子逻辑门是指量子比特与目标量子逻辑门的量子比特存在交集的量子逻辑门;
第三确定模块,用于分别确定由所述相关量子逻辑门构建的第一量子线路、第二量子线路,其中,所述相关量子逻辑门在所述第一量子线路中的顺序与在所述量子线路中的顺序相同,所述相关量子逻辑门在所述第二量子线路中的顺序与在所述移动后的量子线路中的顺序相同;
判断模块,用于判断所述第一量子线路与所述第二量子线路是否等效;
第四确定模块,用于在所述判断模块的判断结果为是的情况下,确定所述目标量子逻辑门可移动。
本发明还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述的方法。
本发明还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述的方法。
另外,本发明又提供了一种量子线路的优化方法,包括:
根据所述判断方法判断所述量子线路中目标量子逻辑门的可移动性;
若所述目标量子逻辑门可移动,则使用所述移动后的量子线路替代所述量子线路;
确定所述移动后的量子线路中可简化的量子逻辑门组,其中,所述可简化的量子逻辑门组为所述移动后的量子线路中的至少两个量子逻辑门;
确定与所述可简化的量子逻辑门组等效的量子逻辑门为替代量子逻辑门;
根据所述可简化的量子逻辑门组和所述替代量子逻辑门,确定与所述移动后的量子线路对应的优化量子线路。
相比于现有技术,本发明获取量子线路中的目标量子逻辑门和移动方式,在此基础上构建移动后的量子线路、确定相关量子逻辑门,并根据相关量子逻辑门在量子线路中的顺序和移动后的量子线路中的顺序,分别确定第一量子线路、第二量子线路,通过判断第一量子线路与第二量子线路是否等效来确定目标量子逻辑门可移动性。
附图说明
图1为本发明实施例提供的一种量子逻辑门可移动性的判断方法的流程示意图;
图2(a)为本发明实施例提供的示例2中第二量子线路执行时序划分后的示意图;
图2(b)为本发明实施例提供的示例2中第二量子线路执行时序划分并简化量子逻辑门组后的示意图;
图3为本发明实施例提供的一种量子逻辑门可移动性的判断***的结构示意图;
图4为本发明实施例提供的一种量子逻辑门可移动性的判断***中第一确定模块的结构示意图;
图5为本发明实施例提供的一种量子逻辑门可移动性的判断***中第二确定模块的结构示意图;
图6为本发明实施例提供的一种量子逻辑门可移动性的判断***中判断模块的结构示意图。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
需要说明的是,本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本发明的实施例提供了一种量子逻辑门可移动性的判断方法,应用于电子设备如移动终端,如手机、平板电脑,优选应用于计算机,如普通电脑、量子计算机等。下面对其进行详细说明。
需要说明的是,真正的量子计算机是混合结构的,它包含两大部分:一部分是经典计算机,负责执行经典计算与控制;另一部分是量子设备,负责执行量子计算。实际上,真正的量子程序是由量子语言如Qrunes语言编写的一串能够在量子计算机上运行的指令序列,实现了对量子逻辑门操作的支持,并最终实现对量子计算的模拟。具体的说,量子程序就是一系列按照一定时序操作量子逻辑门的指令序列。
在实际应用中,为了对量子计算进行模拟以验证量子应用等等,可以通过运行在普通计算机的量子虚拟机实现。本发明实施例所涉及的量子程序,即是在量子操作平台上运行的由经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的代码表示。
一个目标量子程序整体上对应有一条总的量子线路,而量子线路则是各量子逻辑门组成的集合,执行量子线路的过程(也称量子计算的过程)也就是用量子逻辑门使量子态发生演化,由于每一个量子逻辑门都对应一个酉矩阵,量子逻辑门使量子态发生演化的过程也可以用量子逻辑门对应的酉矩阵左乘以量子态右矢表示。举个例子,例如有一个量子态|ψ0>,经过量子逻辑门(对应酉矩阵用U表示)之后得到:
|ψ>=U|ψ0>
可以理解的是,量子逻辑门是构成量子算法的基础,在量子线路中,各量子逻辑门是由时间线所连接,亦即量子比特的状态随着时间演化。量子逻辑门包括单量子逻辑门、双量子逻辑门以及多量子逻辑门,其中:
单量子逻辑门(例如:阿达马门、泡利-X门、泡利-Y门、泡利-Z门等)是一个2×2的矩阵,一个单量子逻辑门作用于量子线路中的一个量子比特;双量子逻辑门(例如:控制非门、交换门等)是一个4×4的矩阵,一个双量子逻辑门作用于量子线路中的两个量子比特。
需要说明的是,双量子逻辑门作用的量子比特的比特位包括两个,分别为控制比特位和操作比特位,常见的双量子逻辑门为CNOT门(即控制非门),CNOT(q[1],q[2])中q1为控制位,q2为操作位,其作用为:当控制位为|0>态时,操作位q2的量子态不变,当控制位为|1>态时,操作位q2的量子态取反。需要说明的是,在构建量子线路时不允许控制比特和操作比特是同一个量子比特。
另外,对于受控量子逻辑门,其表示当受控的量子比特的量子态为|1>时,该受控量子逻辑门生效,即能够作用在对应的量子比特上,使量子态发生演化,而当受控的量子比特的量子态为|0>时,该受控量子逻辑门失效,例如对于量子线路中的量子逻辑门CNOT(q[0],q[1]).controled(q[2]),当量子比特q2的量子态为|1>时,CNOT(q[0],q[1])生效,能够作用在q0、q1上。
另外,需要说明的是,酉矩阵的转置共轭矩阵也是一个酉矩阵,对量子逻辑门转置共轭处理后所对应的矩阵即是该量子逻辑门对应的酉矩阵的转置共轭矩阵。例如,一个量子逻辑门,其对应的酉矩阵使用U来表达,表示酉矩阵的转置共轭矩阵,则量子逻辑门转置共轭处理后所对应的矩阵即是/>并且满足运算关系/>(单位矩阵)。在量子线路中,可以用H(q[1]).dagger()来表示H(q[1])的转置共轭。
另外,还需要说明的是,经典程序中存在顺序结构(按照语句编写的顺序自上到下逐句执行)、选择结构(例如,if选择结构——条件语句为真时,执行动作;条件语句为假时,跳过不执行)和循环结构(例如,while结构循环),量子程序中也存在类似的结构,这直接反应量子线路是顺序结构、选择结构还是循环结构;再者,量子程序中还可以存在嵌套线路,即一条总量子线路中嵌套有若干条子量子线路,例如:
QProg prog;
QProg prog3;
QCircuit circuit1;
circuit1<<X(q[2])<<S(q[0])<<H(q[1])
prog<<CNOT(q[0],q[1])<<RZ(q[2],PI/2)<<H(q[1])<<S(q[1])<<circuit1<<Z(q[0])
则对于总量子线路prog而言,circuit1即为嵌套在prog中的一条子量子线路,总量子线路prog中的量子逻辑门按顺序展开即为:
CNOT(q[0],q[1])、RZ(q[2],PI/2)、H(q[1])、S(q[1])、X(q[2])、S(q[0])、H(q[1])、Z(q[0])。
需要补充说明的是,与量子逻辑门转置共轭相类似的,量子线路中也可以对一条子量子线路转置共轭处理,例如,在一种转置共轭方式中上述量子程序代码中如还包含circuit1.setDagger(true),则表明该子量子线路经转置共轭处理,上述prog中的量子逻辑门按顺序展开即为:
CNOT(q[0],q[1])、RZ(q[2],PI/2)、H(q[1])、S(q[1])、H(q[1]).dagger()、S(q[0]).dagger()、X(q[2]).dagger()、Z(q[0])。
本发明所涉及的量子逻辑门可移动性的判断,是指在一段量子线路中对指定的量子逻辑门是否可以按照指定的移动方式(包括但不限于待移动到的目标位置信息)进行移动的判断。
参照图1所示的流程示意图,本实施例提供的一种量子逻辑门可移动性的判断方法,包括:
S100、获取量子线路中的目标量子逻辑门和移动方式。
本发明的实施,需先获取量子线路中的目标量子逻辑门和移动方式,其中目标量子逻辑门即为需要判断是否可以按照所述移动方式移动的量子逻辑门,移动方式是指将目标量子逻辑门或目标量子逻辑门副本添加至指定的目标位置的方式,具体的该指定的目标位置可以是另一个量子逻辑门所在的位置,或者是另两个相邻量子逻辑门之间的位置,即具体地而言所述移动方式可以是将目标量子逻辑门移走至另一个量子逻辑门所在的位置以替换另一个量子逻辑门、或将目标量子逻辑门移走***至另两个相邻量子逻辑门之间的位置、也可以是复制生成的目标量子逻辑门副本至另一个量子逻辑门所在的位置以替换另一个量子逻辑门、或复制生成的目标量子逻辑门副本***至另两个相邻量子逻辑门之间的位置等,在此不做限制。
在步骤S100中,所述目标量子逻辑门可以包括第一目标量子逻辑门和第二目标量子逻辑门;所述移动方式包括下列之一:所述第一目标量子逻辑门和所述第二目标量子逻辑门交换位置、所述第一目标量子逻辑门移动***至与所述第二目标量子逻辑门相邻的位置、所述第一目标量子逻辑门移动至替换所述第二目标量子逻辑门。
也就是说,所述移动后的量子线路为以下三种:
所述量子线路中所述第一目标量子逻辑门和所述第二目标量子逻辑门交换位置形成的量子线路;
所述量子线路中所述第一目标量子逻辑门移动***至与所述第二目标量子逻辑门相邻的位置形成的量子线路,也即将第一目标量子逻辑门移动***至第二目标量子逻辑门和与第二目标量子逻辑门相邻的某一个量子逻辑门之间的位置处;
所述量子线路中所述第一目标量子逻辑门移动至替换所述第二目标量子逻辑门形成的量子线路。
为便于理解,在此结合示例1对所述第一目标量子逻辑门和所述第二目标量子逻辑门交换位置的移动方式进行说明,其他两种移动方式不再赘述。
例如,示例1中对如下1#量子线路中指定量子逻辑门可移动性进行判断:
TEST(JudgeTwoNodeIterIsSwappable,doubleGateTest2)
QProg prog;
prog<<CNOT(q[0],q[3])<<RZ(q[1],PI/2)<<RZ(q[2],PI/2)<<CNOT(q[4],q[2])<<H(q[1])<<S(q[1])<<circuit3<<Z(q[0])<<H(q[1]).dagger()<<RZ(q[1],PI/2).dagger()<<gate2
NodeIter itr1=prog.getFirstNodeIter();
NodeIter itr2=prog.getLastNodeIter();
其中:
QVec control_vec;
control_vec.push_back(q[1]);
auto gate2=CNOT(q[0],q[3]).dagger();
gate2.setControl(control_vec);
QCircuit circuit3;
circuit3<<X(q[2])<<S(q[1])<<H(q[2])<<S(q[2])<<Z(q[0]);
circuit3.setDagger(true);
需要说明的是,本领域技术人员应该知道量子线路中不同代码表示的含义和运算规则,例如:
H代表阿达马Hadamard门,X代表泡利-X门(其对应的矩阵为泡利矩阵σx),Y代表泡利-Y门(其对应的矩阵为泡利矩阵σy),Z代表泡利-Z门(其对应的矩阵为泡利矩阵σz),RX代表任意旋转泡利-X门,RY代表任意旋转泡利-Y门,RZ代表任意旋转泡利-Z门,CNOT代表控制非门(Control-NOT);gate2为CNOT(q[0],q[3]).dagger().controled(q[1])。
q[0]、q[1]、q[2]、q[3]是指比特位从0至3的量子比特;
CNOT(q[2],q[3])则表示在q[2]和q[3]上同时有一个控制非门操作,且q[2]为控制比特,q[3]为操作比特;H(q[0])表示在q[0]上有一个Hadamard门操作;RY(q[2],PI/2)则表示在q[2]有一个任意旋转泡利-Y门,旋转角度为π/2。
在本示例中需要判断可移动性的目标量子逻辑门为第一目标量子逻辑门CNOT(q[0],q[3])和第二目标量子逻辑门gate2,本示例中已通过NodeIter itr1=prog.getFirstNodeIter()、NodeIter itr2=prog.getLastNodeIter()分别标记了第一目标量子逻辑门、第二目标量子逻辑门。
S200、根据所述量子线路、所述目标量子逻辑门和所述移动方式,构建移动后的量子线路。
对于1#量子线路,移动后的量子线路即为第一目标量子逻辑门CNOT(q[0],q[3])和第二目标量子逻辑门gate2交换位置后形成的新的量子线路,即移动后的量子线路为:
prog<<gate2<<RZ(q[1],PI/2)<<RZ(q[2],PI/2)<<CNOT(q[4],q[2])<<H(q[1])<<S(q[1])<<circuit3<<Z(q[0])<<H(q[1]).dagger()<<RZ(q[1],PI/2).dagger()<<CNOT(q[0],q[3])
具体实施时,步骤S200可以包括:
S210、生成所述量子线路副本和所述目标量子逻辑门副本;
S220、根据所述移动方式,确定所述量子线路副本中用于放置所述目标量子逻辑门副本的目标位置;
S230、将所述目标量子逻辑门副本添加到所述量子线路副本的所述目标位置处;
S240、删除所述量子线路副本中的所述目标量子逻辑门;
S250、将新的量子线路副本确定为移动后的量子线路。
结合示例1的1#量子线路,生成的量子线路副本和第一目标量子逻辑门副本、第二量子逻辑门副本,根据移动方式(即第一目标量子逻辑门和所述第二目标量子逻辑门交换位置),确定量子线路副本中用于分别放置第一目标量子逻辑门副本、第二量子逻辑门副本的第一目标位置和第二目标位置,其中,示例1中移动方式为第一目标量子逻辑门和第二目标量子逻辑门交换,第一目标位置是量子线路副本中的第二量子逻辑门所在位置,第二目标位置是是量子线路副本中的第一量子逻辑门所在位置,在此基础上,将第一目标量子逻辑门副本、第二量子逻辑门副本添加到量子线路副本中,然后删除量子线路副本中的第一目标量子逻辑门和第二量子逻辑门(注意,此处与第一目标量子逻辑门副本、第二量子逻辑门副本有所区别),得到更新后的量子线路副本,更新后的量子线路副本即为移动后的量子线路。
S300、确定与目标量子逻辑门的量子比特相关联的量子逻辑门为相关量子逻辑门,其中,相关联的量子逻辑门是指量子比特与目标量子逻辑门的量子比特存在交集的量子逻辑门。
对于1#量子线路,与第一目标量子逻辑门CNOT(q[0],q[3])和第二目标量子逻辑门gate2作用的存在交集的量子逻辑门:
CNOT(q[0],q[3]);RZ(q[1],PI/2);H(q[1]);S(q[1]);Z(q[0]).dagger();S(q[1]).dagger();Z(q[0]);H(q[1]).dagger();RZ(q[1],PI/2).dagger();CNOT(q[0],q[3]).dagger().controled(q[1])
需要说明的是,目标量子逻辑门的量子比特是可以确定的,我们称之为目标量子比特,该目标量子比特为目标量子逻辑门的控制位量子比特、操作位量子比特、受控的量子比特等,因此,一条量子线路中至少有一个量子逻辑门(即该目标量子逻辑门)的量子比特是与确定的目标量子比特存在交集的。
其中,在具体实施时,所述确定与目标量子逻辑门的量子比特相关联的量子逻辑门为相关量子逻辑门,可以包括:
S310、根据所述目标量子逻辑门,分别确定所述量子线路中的第一位置和所述移动后的量子线路中的第二位置,其中,第一位置是指目标量子逻辑门在所述量子线路中的位置,第二位置是指目标量子逻辑门在所述移动后的量子线路中的位置;
S320、确定所述量子线路中与所述第二位置对应的第三位置;
S330、获取所述量子线路中从所述第一位置至所述第三位置所对应的所有量子逻辑门;
S340、确定所述所有量子逻辑门中量子比特与目标量子逻辑门的量子比特存在交集的量子逻辑门为相关量子逻辑门。
通过步骤S310至S340,首先确定与所述量子线路中的第一位置(即示例1的1#量子线路中NodeIter itr1=prog.getFirstNodeIter()标记的位置)和所述移动后的量子线路中的第二位置(即示例1的1#量子线路中NodeIter itr2=prog.getLastNodeIter()标记的位置),通过第二位置确定所述量子线路中的第三位置(在示例1中的量子线路,第二位置与第三位置相同),再直接获取所述量子线路中从所述第一位置至所述第三位置各个位置所对应的所有量子逻辑门,进而确定其中与目标量子逻辑门的量子比特存在交集的量子逻辑门为相关量子逻辑门的方式,相对于对整条量子线路中的量子逻辑门从头至尾一一进行确定,能够很大幅度的提高效率。
S400、分别确定由所述相关量子逻辑门构建的第一量子线路、第二量子线路,其中,所述相关量子逻辑门在所述第一量子线路中的顺序与在所述量子线路中的顺序相同,所述相关量子逻辑门在所述第二量子线路中的顺序与在所述移动后的量子线路中的顺序相同。
具体地,即按照所述相关量子逻辑门在所述量子线路中的顺序确定第一量子线路,按照所述相关量子逻辑门在所述移动后的量子线路中的顺序确定第二量子线路。
对于示例1,本步骤按照相关量子逻辑门在所述量子线路中的顺序确定的第一量子线路为:
CNOT(q[0],q[3])<<RZ(q[1],PI/2)<<H(q[1])<<S(q[1])<<Z(q[0]).dagger()<<S(q[1]).dagger()<<Z(q[0])<<H(q[1]).dagger()<<RZ(q[1],PI/2).dagger()<<CNOT(q[0],q[3]).dagger().controled(q[1])
按照相关量子逻辑门在所述移动后的量子线路中的顺序确定的第二量子线路为:
CNOT(q[0],q[3]).dagger().controled(q[1])<<RZ(q[1],PI/2)<<H(q[1])<<S(q[1])<<Z(q[0]).dagger()<<S(q[1]).dagger()<<Z(q[0])<<H(q[1]).dagger()<<RZ(q[1],PI/2).dagger()<<CNOT(q[0],q[3])
S500、判断所述第一量子线路与所述第二量子线路是否等效。
每一个量子逻辑门对应一个酉矩阵,因此,量子线路相当于一系列的酉变换,而量子计算的过程,即可以理解为对初始的量子态按次序进行左乘操作的过程,运算式如|ψ>末态=UnUn-1....U2U1|ψ>初始。可以理解的是,由于组成量子线路的每一个量子逻辑门都是一个酉矩阵,所以整个量子线路整体也是一个大的酉矩阵。
因此,不难得出目标量子逻辑门可移动与所述量子线路和所述移动后的量子线路是等效的互为充分必要条件。由于目标量子逻辑门移动后,只改变了与目标量子逻辑门的量子比特存在交集的量子逻辑门之间的相对时序,因此,只需要判断由移动前、移动后量子线路中相关量子逻辑门的相对顺序所确定的第一量子线路与第二量子线路是否等效即可。
具体的,本步骤判断执行所述第一量子线路的计算结果与执行所述第二量子线路的计算结果是否等效,在此需要说明的是:判断执行所述第一量子线路的计算结果与执行所述第二量子线路的计算结果是否等效,可以通过判断执行所述第一量子线路的计算结果与执行所述第二量子线路的计算结果之间是否存在eiα倍的关系,其中eiα=cosα+isinα,i2=-1,α为0~2π中的任意角度值。
对于本步骤的论证推导具体如下:
假设初始量子态为M0,第一量子线路对应的大的酉矩阵为U1,第二量子线路对应的大的酉矩阵为U2,其中U1=eiαU2,eiα=cosα+isinα;
那么,mat1=U1M0,mat2=U2M0;
又,由于U1=eiαU2,所以mat1=U1M0=eiαU2M0=eiαmat2。
对于3个量子比特所处的逻辑状态为23(即8)个量子态的叠加态,其中,这8个量子态|ψi>分别为|000>、|001>、|010>、|011>、|100>、|101>、|110>和|111>,此时,该3个量子比特所处的任一逻辑状态|ψ>可以表示为:
|ψ>=c0|000>+c1|001>+c2|010>+c3|011>+c4|100>+c5|101>+c6|110>+c7|111>
且|ψ>对应的矩阵表示为:
其中,8个量子态中的每个量子态|ψi>(或称量子态分量)对应的振幅为ci,即c0至c7这些复数中的一个,c0至c7的下标值为该振幅所属量子态|ψi>的二进制对应的十进制值,我们把c0至c7这些复数中的每一个称作一个单振幅。c0至c7这些复数表示形式为ci=a+bi。
基于此,对于第一量子线路执行计算后,其中任意一量子态|ψi>,其概率为|ci|2,且
第二量子线路执行后对应量子态振幅为eiαci,其模为
因此,对第一量子线路和第二量子线路执行量子计算后,任意一相对应的量子态的振幅相等,也就是说第一量子线路和第二量子线路等效。
论证推导结束。
在步骤S500中,具体可以执行所述第一量子线路,获得计算结果mat1;执行所述第二量子线路,获得计算结果mat2;判断mat1与mat2是否符合mat1=λmat2,其中λ=eiα;若符合mat1=λmat2,则所述第一量子线路与所述第二量子线路等效,若不符合mat1=λmat2,则所述第一量子线路与所述第二量子线路不等效。
在此需要说明,本领域技术人员应该了解的是在量子计算领域中各量子逻辑门对应的矩阵形式如下表:
各量子逻辑门对应的矩阵形式
对于示例1,所述第一量子线路的计算结果mat1为:
/>
所述第二量子线路的计算结果mat 2为:
且α取0时,mat1=eiαmat2,因此,所述第一量子线路与所述第二量子线路等效。
在此,需要说明的是,量子线路执行计算时,本领域技术人员应该了解以下运算规则:
(1)如相邻两量子逻辑门作用在相同量子比特,则直接进行矩阵乘法运算,例如:
执行H(q[1])<<S(q[1]),得到的结果为:
(2)如相邻两量子逻辑门作用在不同量子比特,则直接进行张量积运算,例如:
执行CNOT(q[0],q[3])<<RZ(q[1],PI/2),得到的结果为:
具体实施时,为降低计算复杂度,其中,所述根据所述第二量子线路,获得计算结果mat2,包括以下步骤:
S500-1、确定所述第二量子线路中可简化的量子逻辑门组,其中,所述可简化的量子逻辑门组为所述第二量子线路中的至少两个量子逻辑门。作为本步骤一种具体地实施方式,可以先对所述第二量子线路中的量子逻辑门进行执行时序划分,获得位于各执行时序内的量子逻辑门;然后根据所述位于各执行时序内的量子逻辑门,确定可简化的量子逻辑门组,其中,所述可简化的量子逻辑门组可以是所述第二量子线路中的位于不同执行时序内的至少两个量子逻辑门。本步骤中的这种具体实施方式的目的是将位于不同执行时序内的至少两个量子逻辑门替代优化,缩短执行时序的数量,也即减少了要执行的次数,提供了量子计算效率。
S500-2、确定与所述可简化的量子逻辑门组等效的量子逻辑门为替代量子逻辑门。
S500-3、根据所述可简化的量子逻辑门组和所述替代量子逻辑门,确定与所述第二量子线路对应的第三量子线路;
S500-4、执行所述第三量子线路,获得计算结果mat2。
具体的,量子线路中可能存在多个特定结构的量子逻辑门组,这些量子逻辑门组是可以替代优化的,例如SWAP门可以替代下述的多个单门和CNOT门构成的量子逻辑门组,具体替换关系为:
SWAP(q[i],q[j])
=CNOT(q[i],q[j])+H(q[i])+H(q[j])+CNOT(q[i],q[j])+H(q[i])+H(q[j])+CNOT(q[i],q[j]);
也可以使用SWAP门替代多个CNOT门构成的量子逻辑门组,具体替换关系为:SWAP(q[i],q[j])=CNOT(q[i],q[j])+CNOT(q[j],q[i])+CNOT(q[i],q[j])。
通过等效量子逻辑门的替代优化,可以达到减少量子逻辑门的个数,从而提高程序运行效率,优化量子计算的效果,例如:采用一个例如SWAP的量子逻辑门替换多个CNOT门组成的量子线路。
同时,通过这些量子逻辑门或子量子线路的相互替代,也可以一定程度克服不同平台间的技术壁垒,例如A公司定义了SWAP门,而B公司没有定义SWAP门,只在量子程序中用多个单门和CNOT门来等效SWAP门的功能。
假设在又一个示例(示例2)中,确定的第二量子线路为:
CNOT(q[0],q[1])<<H(q[1])<<H(q[2])<<H(q[0])<<CNOT(q[1],q[2])<<RZ(q[0],PI/2)<<H(q[1])<<H(q[2])<<CNOT(q[2],q[0])
划分执行时序后,获得位于不同执行时序内的量子逻辑门,如图2(a)所示,具体如下:
第一时序:CNOT(q[0],q[1])、H(q[2]);
第二时序:H(q[1])、H(q[0]);
第三时序:CNOT(q[1],q[2])、RZ(q[0],PI/2);
第四时序:H(q[1])、H(q[2]);
第五时序:CNOT(q[2],q[0])。
其中,位于第一时序的H(q[2])、位于第二时序的H(q[1])、位于第三时序的CNOT(q[1],q[2])、以及位于第四时序的H(q[1])和H(q[2])组成的量子逻辑门组可简化,且替代量子逻辑门为CNOT(q[2],q[1]),简化后的量子线路图参照2(b)所示,即第三量子线路为:
CNOT(q[0],q[1])<<H(q[0])<<CNOT(q[2],q[1])<<RZ(q[0],PI/2)<<CNOT(q[2],q[0])
执行第三量子线路,获得计算结果mat2。
其中,对所述量子线路的进行执行时序划分对所述第二量子线路中的量子逻辑门进行执行时序划分,包括:
获得所述第二量子线路的信息;
根据当前的所述第二量子线路的信息,将每个量子比特各自执行的第一位量子逻辑门中的单量子逻辑门的执行时序,划分为同一时序;
当所述第一位量子逻辑门中的两量子逻辑门对应的两个位数均为第一位时,将所述两量子逻辑门的执行时序,划分为所述同一时序;否则,将所述两量子逻辑门的执行时序,划分为所述同一时序的下一时序;
当所述第一位量子逻辑门中的多量子逻辑门对应的多个位数均为第一位时,将所述多量子逻辑门的执行时序,划分为所述同一时序;
删除所述代码化量子线路的信息包含的、所述同一时序划分完成的量子逻辑门信息,继续执行所述根据当前的所述第二量子线路的信息,将每个量子比特各自执行的第一位量子逻辑门中的单量子逻辑门的执行时序,划分为同一时序的步骤。
需要说明的是,多量子逻辑门对应的多个位数是指,对于多量子逻辑门操作的每一个量子比特而言,都对应有一个位数,表示该多量子逻辑门属于其执行的第几个量子逻辑门。
需要说明的是,删除时序划分完成的量子逻辑门信息,是指删除代码化量子线路信息中的该量子逻辑门信息,为了方便时序划分之用,并不是删除代码化量子线路中的量子逻辑门,合并后的代码化量子线路结构并无变化。
另外一种较为优选方式,在具体实施时,如果根据S310至S340确定相关量子逻辑门,那么下一步判断所述第一量子线路与所述第二量子线路是否等效的一种具体实施方式可以包括:
判断所述相关量子逻辑门是否仅包含一个量子逻辑门,且该逻辑门为所述目标量子逻辑门;
若是,则所述第一量子线路与所述第二量子线路等效。
首先判断确定的所述相关量子逻辑门是否仅包含一个量子逻辑门,且该逻辑门为所述目标量子逻辑门,如果是,则直接确定所述第一量子线路与所述第二量子线路等效,这种方式省去了繁琐的计算,更为高效。
S600、若等效,则确定所述目标量子逻辑门可移动。
根据所述判断结果,确定所述目标量子逻辑门可移动性,具体的,如果判断结果为“是”,即所述第一量子线路与所述第二量子线路等效,则所述目标量子逻辑门可移动;如果判断结果为“否”,即所述第一量子线路与所述第二量子线路不等效,则所述目标量子逻辑门不可移动。
相比于现有技术,本实施例获取量子线路中的目标量子逻辑门和移动方式,在此基础上构建移动后的量子线路、确定相关量子逻辑门,并根据相关量子逻辑门在量子线路中的顺序和移动后的量子线路中的顺序,分别确定第一量子线路、第二量子线路,通过判断第一量子线路与第二量子线路是否等效来确定目标量子逻辑门可移动性。
如图3所示,本实施例还提供了一种量子逻辑门可移动性的判断***,它包括获取模块701、第一确定模块702、第二确定模块703、第三确定模块704、判断模块705和第四确定模块706,其中:
获取模块701,用于获取量子线路中的目标量子逻辑门和移动方式。
其中,所述目标量子逻辑门包括第一目标量子逻辑门和第二目标量子逻辑门;
所述移动方式包括下列之一:所述第一目标量子逻辑门和所述第二目标量子逻辑门交换位置、所述第一目标量子逻辑门移动***至与所述第二目标量子逻辑门相邻的位置、所述第一目标量子逻辑门移动至替换所述第二目标量子逻辑门。
第一确定模块702,用于根据所述量子线路、所述目标量子逻辑门和所述移动方式,构建移动后的量子线路。
具体的,参照图4所示的第一确定模块702的结构示意图,所述第一确定模块702可以包括:
量子线路副本生成单元7021,用于生成所述量子线路副本和所述目标量子逻辑门副本;
目标位置确定单元7022,用于根据所述移动方式,确定所述量子线路副本中用于放置所述目标量子逻辑门副本的目标位置;
添加单元7023,用于将所述目标量子逻辑门副本添加到所述量子线路副本的所述目标位置处;
删除单元7024,用于删除所述量子线路副本中的所述目标量子逻辑门;
第一确定单元7025,用于将新的量子线路副本确定为移动后的量子线路。
第二确定模块703,用于确定与目标量子逻辑门的量子比特相关联的量子逻辑门为相关量子逻辑门,其中,相关联的量子逻辑门是指量子比特与目标量子逻辑门的量子比特存在交集的量子逻辑门。
具体的,参照图5所示的第二确定模块703的结构示意图,所述第二确定模块703可以包括:
量子逻辑门位置确定单元7031,用于根据所述目标量子逻辑门,分别确定所述量子线路中的第一位置和所述移动后的量子线路中的第二位置,其中,第一位置是指目标量子逻辑门在所述量子线路中的位置,第二位置是指目标量子逻辑门在所述移动后的量子线路中的位置;
第三位置确定单元7032,用于确定所述量子线路中与所述第二位置对应的第三位置;
量子逻辑门获取单元7033,用于获取所述量子线路中从所述第一位置至所述第三位置所对应的所有量子逻辑门;
相关量子逻辑门确定单元7034,用于确定所述所有量子逻辑门中量子比特与目标量子逻辑门的量子比特存在交集的量子逻辑门为相关量子逻辑门。
第三确定模块704,用于分别确定由所述相关量子逻辑门构建的第一量子线路、第二量子线路,其中,所述相关量子逻辑门在所述第一量子线路中的顺序与在所述量子线路中的顺序相同,所述相关量子逻辑门在所述第二量子线路中的顺序与在所述移动后的量子线路中的顺序相同。
判断模块705,用于判断所述第一量子线路与所述第二量子线路是否等效。
具体的,参照图6所示的判断模块705的结构示意图,所述判断模块705可以包括:
第一计算单元7051,用于执行所述第一量子线路,获得计算结果mat1;
第二计算单元7052,用于执行所述第二量子线路,获得计算结果mat2;
判断单元7053,用于判断mat1与mat2是否符合mat1=eiαmat2,其中eiα=cosα+isinα,i2=-1,α为0~2π中的任意角度值;
第二确定单元7054,用于在判断单元7053的判断结果为符合的情况下,确定所述第一量子线路与所述第二量子线路等效;及在判断单元7053的判断结果为不符合的情况下,确定所述第一量子线路与所述第二量子线路不等效。
其中,第二计算单元7052具体用于对所述第二量子线路中的量子逻辑门进行执行时序划分,获得位于各执行时序内的量子逻辑门;根据所述位于各执行时序内的量子逻辑门,确定可简化的量子逻辑门组,其中,所述可简化的量子逻辑门组为所述第二量子线路中的位于不同执行时序内的至少两个量子逻辑门;确定与所述可简化的量子逻辑门组等效的量子逻辑门为替代量子逻辑门;根据所述可简化的量子逻辑门组和所述替代量子逻辑门,确定与所述第二量子线路对应的第三量子线路;执行所述第三量子线路,获得计算结果mat2。
第四确定模块706,用于根据所述判断结果,确定所述目标量子逻辑门可移动性。
相比于现有技术,本实施例提供的量子逻辑门可移动性的判断***能够获取量子线路中的目标量子逻辑门和移动方式,在此基础上构建移动后的量子线路、确定相关量子逻辑门,并根据相关量子逻辑门在量子线路中的顺序和移动后的量子线路中的顺序,分别确定第一量子线路、第二量子线路,通过判断第一量子线路与第二量子线路是否等效来确定目标量子逻辑门可移动性。
本发明实施例还提供一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S100、获取量子线路中的目标量子逻辑门和移动方式;
S200、根据所述量子线路、所述目标量子逻辑门和所述移动方式,构建移动后的量子线路;
S300、确定与目标量子逻辑门的量子比特相关联的量子逻辑门为相关量子逻辑门,其中,相关联的量子逻辑门是指量子比特与目标量子逻辑门的量子比特存在交集的量子逻辑门;
S400、分别确定由所述相关量子逻辑门构建的第一量子线路、第二量子线路,其中,所述相关量子逻辑门在所述第一量子线路中的顺序与在所述量子线路中的顺序相同,所述相关量子逻辑门在所述第二量子线路中的顺序与在所述移动后的量子线路中的顺序相同;
S500、判断所述第一量子线路与所述第二量子线路是否等效;
S600、若等效,则确定所述目标量子逻辑门可移动。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明实施例还提供一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S100、获取量子线路中的目标量子逻辑门和移动方式;
S200、根据所述量子线路、所述目标量子逻辑门和所述移动方式,构建移动后的量子线路;
S300、确定与目标量子逻辑门的量子比特相关联的量子逻辑门为相关量子逻辑门,其中,相关联的量子逻辑门是指量子比特与目标量子逻辑门的量子比特存在交集的量子逻辑门;
S400、分别确定由所述相关量子逻辑门构建的第一量子线路、第二量子线路,其中,所述相关量子逻辑门在所述第一量子线路中的顺序与在所述量子线路中的顺序相同,所述相关量子逻辑门在所述第二量子线路中的顺序与在所述移动后的量子线路中的顺序相同;
S500、判断所述第一量子线路与所述第二量子线路是否等效;
S600、若等效,则确定所述目标量子逻辑门可移动。
相比于现有技术,本实施例获取量子线路中的目标量子逻辑门和移动方式,在此基础上构建移动后的量子线路、确定相关量子逻辑门,并根据相关量子逻辑门在量子线路中的顺序和移动后的量子线路中的顺序,分别确定第一量子线路、第二量子线路,通过判断第一量子线路与第二量子线路是否等效来确定目标量子逻辑门可移动性。
值得说明的是,本实施例提供的量子逻辑门可移动性判断方法有助于量子线路的优化,以将计算复杂度大的量子线路优化成计算复杂度小的量子线路,具体地,本实施例还提供一种量子线路的优化方法,包括:
根据所述判断方法判断所述量子线路中目标量子逻辑门的可移动性;
若所述目标量子逻辑门可移动,则使用移动后的量子线路替代所述量子线路;
确定所述移动后的量子线路中可简化的量子逻辑门组,其中,所述可简化的量子逻辑门组为所述移动后的量子线路中的至少两个量子逻辑门;
确定与所述可简化的量子逻辑门组等效的量子逻辑门为替代量子逻辑门;
根据所述可简化的量子逻辑门组和所述替代量子逻辑门,确定与所述移动后的量子线路对应的优化量子线路。
所述优化方法通过判断量子线路中的量子逻辑门是否可以移动,以在不改变量子线路执行效果的情况下将目标量子逻辑门移动到能够与其他量子逻辑门形成能够被简化替代的量子逻辑门组,进而利用替代量子逻辑门替代该量子逻辑门组实现对所述的量子线路的优化,从而将计算复杂度大的量子线路优化成计算复杂度小的量子线路。
在本申请所提供的几个实施方式中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
Claims (13)
1.一种量子逻辑门可移动性的判断方法,包括:
获取量子线路中的目标量子逻辑门和移动方式;
根据所述量子线路、所述目标量子逻辑门和所述移动方式,构建移动后的量子线路;
确定与目标量子逻辑门的量子比特相关联的量子逻辑门为相关量子逻辑门,其中,相关联的量子逻辑门是指量子比特与目标量子逻辑门的量子比特存在交集的量子逻辑门;
分别确定由所述相关量子逻辑门构建的第一量子线路、第二量子线路,其中,所述相关量子逻辑门在所述第一量子线路中的顺序与在所述量子线路中的顺序相同,所述相关量子逻辑门在所述第二量子线路中的顺序与在所述移动后的量子线路中的顺序相同;
执行所述第一量子线路,获得计算结果mat1;执行所述第二量子线路,获得计算结果mat2;基于mat1与mat2是否符合mat1=eiαmat2,或,所述相关量子逻辑门是否仅包含一个量子逻辑门,且该逻辑门为所述目标量子逻辑门,判断所述第一量子线路与所述第二量子线路是否等效,其中eiα=cosα+isinα,i2=-1,α为0~2π中的任意角度值;
若等效,则确定所述目标量子逻辑门可移动。
2.根据权利要求1所述的量子逻辑门可移动性判断方法,其特征在于,其中:
所述目标量子逻辑门包括第一目标量子逻辑门和第二目标量子逻辑门;
所述移动方式包括下列之一:
所述第一目标量子逻辑门和所述第二目标量子逻辑门交换位置、所述第一目标量子逻辑门移动***至与所述第二目标量子逻辑门相邻的位置、所述第一目标量子逻辑门移动至替换所述第二目标量子逻辑门。
3.根据权利要求1所述的量子逻辑门可移动性判断方法,其特征在于,根据所述量子线路、所述目标量子逻辑门和所述移动方式,构建移动后的量子线路,包括:
生成所述量子线路副本和所述目标量子逻辑门副本;
根据所述移动方式,确定所述量子线路副本中用于放置所述目标量子逻辑门副本的目标位置;
将所述目标量子逻辑门副本添加到所述量子线路副本的所述目标位置处;
删除所述量子线路副本中的所述目标量子逻辑门;
将新的量子线路副本确定为移动后的量子线路。
4.根据权利要求1所述的量子逻辑门可移动性判断方法,其特征在于,所述确定与目标量子逻辑门的量子比特相关联的量子逻辑门为相关量子逻辑门,包括:
根据所述目标量子逻辑门,分别确定所述量子线路中的第一位置和所述移动后的量子线路中的第二位置,其中,第一位置是指目标量子逻辑门在所述量子线路中的位置,第二位置是指目标量子逻辑门在所述移动后的量子线路中的位置;
确定所述量子线路中与所述第二位置对应的第三位置;
获取所述量子线路中从所述第一位置至所述第三位置所对应的所有量子逻辑门;
确定所述所有量子逻辑门中量子比特与目标量子逻辑门的量子比特存在交集的量子逻辑门为相关量子逻辑门。
5.根据权利要求4所述的量子逻辑门可移动性判断方法,其特征在于,所述基于所述相关量子逻辑门是否仅包含一个量子逻辑门,且该逻辑门为所述目标量子逻辑门,判断所述第一量子线路与所述第二量子线路是否等效,包括:
若是,则所述第一量子线路与所述第二量子线路等效。
6.根据权利要求1所述的量子逻辑门可移动性判断方法,其特征在于,所述基于mat1与mat2是否符合mat1=eiαmat2,判断所述第一量子线路与所述第二量子线路是否等效,包括:
若符合mat1=eiαmat2,则所述第一量子线路与所述第二量子线路等效。
7.根据权利要求6所述的量子逻辑门可移动性判断方法,其特征在于,所述执行所述第二量子线路,获得计算结果mat2,包括:
确定所述第二量子线路中可简化的量子逻辑门组,其中,所述可简化的量子逻辑门组为所述第二量子线路中的至少两个量子逻辑门;
确定与所述可简化的量子逻辑门组等效的量子逻辑门为替代量子逻辑门;
根据所述可简化的量子逻辑门组和所述替代量子逻辑门,确定与所述第二量子线路对应的第三量子线路;
执行所述第三量子线路,获得计算结果mat2。
8.根据权利要求7所述的量子逻辑门可移动性判断方法,其特征在于,所述确定所述第二量子线路中可简化的量子逻辑门组,包括:
对所述第二量子线路中的量子逻辑门进行执行时序划分,获得位于各执行时序内的量子逻辑门;
根据所述位于各执行时序内的量子逻辑门,确定可简化的量子逻辑门组。
9.根据权利要求8所述的量子逻辑门可移动性判断方法,其特征在于,其中,所述可简化的量子逻辑门组为所述第二量子线路中的位于不同执行时序内的至少两个量子逻辑门。
10.一种量子逻辑门可移动性的判断***,包括:
获取模块,用于获取量子线路中的目标量子逻辑门和移动方式;
第一确定模块,用于根据所述量子线路、所述目标量子逻辑门和所述移动方式,构建移动后的量子线路;
第二确定模块,用于确定与目标量子逻辑门的量子比特相关联的量子逻辑门为相关量子逻辑门,其中,相关联的量子逻辑门是指量子比特与目标量子逻辑门的量子比特存在交集的量子逻辑门;
第三确定模块,用于分别确定由所述相关量子逻辑门构建的第一量子线路、第二量子线路,其中,所述相关量子逻辑门在所述第一量子线路中的顺序与在所述量子线路中的顺序相同,所述相关量子逻辑门在所述第二量子线路中的顺序与在所述移动后的量子线路中的顺序相同;
判断模块,用于执行所述第一量子线路,获得计算结果mat1;执行所述第二量子线路,获得计算结果mat2;基于mat1与mat2是否符合mat1=eiαmat2,或,所述相关量子逻辑门是否仅包含一个量子逻辑门,且该逻辑门为所述目标量子逻辑门,判断所述第一量子线路与所述第二量子线路是否等效,其中eiα=cosα+isinα,i2=-1,α为0~2π中的任意角度值;
第四确定模块,用于在所述判断模块的判断结果为是的情况下,确定所述目标量子逻辑门可移动。
11.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至9任一项中所述的方法。
12.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至9任一项中所述的方法。
13.一种量子线路的优化方法,包括:
根据权利要求1-9中任一项所述判断方法判断所述量子线路中目标量子逻辑门的可移动性;
若所述目标量子逻辑门可移动,则使用所述移动后的量子线路替代所述量子线路;
确定所述移动后的量子线路中可简化的量子逻辑门组,其中,所述可简化的量子逻辑门组为所述移动后的量子线路中的至少两个量子逻辑门;
确定与所述可简化的量子逻辑门组等效的量子逻辑门为替代量子逻辑门;
根据所述可简化的量子逻辑门组和所述替代量子逻辑门,确定与所述移动后的量子线路对应的优化量子线路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010074069.4A CN113222162B (zh) | 2020-01-21 | 2020-01-21 | 量子逻辑门可移动性的判断方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010074069.4A CN113222162B (zh) | 2020-01-21 | 2020-01-21 | 量子逻辑门可移动性的判断方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113222162A CN113222162A (zh) | 2021-08-06 |
CN113222162B true CN113222162B (zh) | 2023-08-08 |
Family
ID=77085335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010074069.4A Active CN113222162B (zh) | 2020-01-21 | 2020-01-21 | 量子逻辑门可移动性的判断方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113222162B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113919501B (zh) * | 2021-10-11 | 2022-04-08 | 北京量子信息科学研究院 | Cz门操作的校准方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109376867A (zh) * | 2018-09-17 | 2019-02-22 | 合肥本源量子计算科技有限责任公司 | 两量子比特逻辑门的处理方法及装置 |
CN109416928A (zh) * | 2016-06-07 | 2019-03-01 | 伊路米纳有限公司 | 用于进行二级和/或三级处理的生物信息学***、设备和方法 |
CN110516810A (zh) * | 2019-08-29 | 2019-11-29 | 合肥本源量子计算科技有限责任公司 | 一种量子程序的处理方法、装置、存储介质和电子装置 |
CN110598867A (zh) * | 2019-09-17 | 2019-12-20 | 合肥本源量子计算科技有限责任公司 | 一种量子态信息转化方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11235062B2 (en) * | 2009-03-06 | 2022-02-01 | Metaqor Llc | Dynamic bio-nanoparticle elements |
US20170270245A1 (en) * | 2016-01-11 | 2017-09-21 | Edico Genome, Corp. | Bioinformatics systems, apparatuses, and methods for performing secondary and/or tertiary processing |
-
2020
- 2020-01-21 CN CN202010074069.4A patent/CN113222162B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109416928A (zh) * | 2016-06-07 | 2019-03-01 | 伊路米纳有限公司 | 用于进行二级和/或三级处理的生物信息学***、设备和方法 |
CN109376867A (zh) * | 2018-09-17 | 2019-02-22 | 合肥本源量子计算科技有限责任公司 | 两量子比特逻辑门的处理方法及装置 |
CN110516810A (zh) * | 2019-08-29 | 2019-11-29 | 合肥本源量子计算科技有限责任公司 | 一种量子程序的处理方法、装置、存储介质和电子装置 |
CN110598867A (zh) * | 2019-09-17 | 2019-12-20 | 合肥本源量子计算科技有限责任公司 | 一种量子态信息转化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113222162A (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110826719B (zh) | 一种量子程序的处理方法、装置、存储介质和电子装置 | |
Miller | Cartesian genetic programming: its status and future | |
Hemmi et al. | Development and evolution of hardware behaviors | |
CN110825375B (zh) | 一种量子程序的转化方法、装置、存储介质和电子装置 | |
CN107341547B (zh) | 一种用于执行卷积神经网络训练的装置和方法 | |
CN112114776B (zh) | 一种量子乘法运算方法、装置、电子装置及存储介质 | |
CN110516810B (zh) | 一种量子程序的处理方法、装置、存储介质和电子装置 | |
CN111563599B (zh) | 一种量子线路的分解方法、装置、存储介质及电子装置 | |
JPH07219919A (ja) | 数値演算処理装置 | |
WO2019167603A1 (ja) | ニューラル機械翻訳モデルの訓練方法及び装置並びにそのためのコンピュータプログラム | |
CN113222162B (zh) | 量子逻辑门可移动性的判断方法和*** | |
CN111461335A (zh) | 基于mpi多进程的含噪声单量子逻辑门实现方法及装置 | |
CN113222159B (zh) | 一种量子态的确定方法及装置 | |
CN111931939A (zh) | 一种单振幅量子计算模拟方法 | |
CN113128015B (zh) | 预估单振幅模拟量子计算所需资源的方法和*** | |
CN113222160B (zh) | 一种量子态的转换方法及装置 | |
CN114764620B (zh) | 一种量子卷积操作器 | |
CN114861125A (zh) | 一种快速傅里叶变换和逆变换的实现方法 | |
US20240037433A1 (en) | Method and device for constructing quantum circuit of qram architecture, and method and device for parsing quantum address data | |
CN116402149B (zh) | 一种量子线路优化方法、装置、存储介质及电子装置 | |
US20240095565A1 (en) | Method, Device, Storage Medium and Electronic Device for Data Reading | |
CN114638366B (zh) | 量子地址数据的解析方法、装置、存储介质及电子装置 | |
CN114970872B (zh) | 量子线路的编译方法、装置、介质及电子装置 | |
CN114638368B (zh) | 一种用于qram架构的量子线路的构建方法及装置 | |
Heuberger et al. | Automata and transducers in the computer algebra system Sage |
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 | ||
CB02 | Change of applicant information |
Address after: 230088 6th floor, E2 building, phase II, innovation industrial park, 2800 innovation Avenue, high tech Zone, Hefei City, Anhui Province Applicant after: Benyuan Quantum Computing Technology (Hefei) Co.,Ltd. Address before: 230088 6th floor, E2 building, phase II, innovation industrial park, 2800 innovation Avenue, high tech Zone, Hefei City, Anhui Province Applicant before: ORIGIN QUANTUM COMPUTING COMPANY, LIMITED, HEFEI |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |