CN111563598B - 预估量子计算模拟时间的方法、系统 - Google Patents

预估量子计算模拟时间的方法、系统 Download PDF

Info

Publication number
CN111563598B
CN111563598B CN201911406483.4A CN201911406483A CN111563598B CN 111563598 B CN111563598 B CN 111563598B CN 201911406483 A CN201911406483 A CN 201911406483A CN 111563598 B CN111563598 B CN 111563598B
Authority
CN
China
Prior art keywords
quantum
circuit
sub
logic gate
preset
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
Application number
CN201911406483.4A
Other languages
English (en)
Other versions
CN111563598A (zh
Inventor
俞磊
窦猛汉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Origin Quantum Computing Technology Co Ltd
Original Assignee
Origin Quantum Computing Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Origin Quantum Computing Technology Co Ltd filed Critical Origin Quantum Computing Technology Co Ltd
Priority to CN201911406483.4A priority Critical patent/CN111563598B/zh
Publication of CN111563598A publication Critical patent/CN111563598A/zh
Application granted granted Critical
Publication of CN111563598B publication Critical patent/CN111563598B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Logic Circuits (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种预估量子计算模拟时间的方法、系统、存储介质和电子装置,属于量子计算技术领域。它通过获取配置的进程和待模拟量子线路,并按预设拆分规则将待模拟量子线路拆分构建子量子线路,确定该各子量子线路包含的量子比特的量子态在所述进程中的分布,在此基础上确定子量子线路中各量子逻辑门作用的量子比特对应的成组量子态在所述进程中的分布方式,然后进一步确定各所述分布方式所对应的量子逻辑门操作占用时间,进而计算出子量子线路中所有量子逻辑门操作总占用时间,再基于预设运行规则,计算待模拟量子线路的量子计算模拟时间,为使用者分析该次量子计算模拟的性能要求并进行调整,提供了参考。

Description

预估量子计算模拟时间的方法、系统
技术领域
本发明属于量子计算技术领域,更具体地说,涉及一种预估量子计算模拟 时间的方法、系统、存储介质、电子装置。
背景技术
量子计算模拟是一个借助数值计算和计算机科学来仿真遵循量子力学规律 的模拟计算,作为一个仿真程序,它依据量子力学的量子比特的基本定律,利 用计算机的高速计算能力,刻画量子态的时空演化。
目前,量子计算模拟主要包括全振幅模拟、部分振幅模拟和单振幅模拟三 种方式,其中部分振幅模拟是通过将待模拟量子线路拆分构建子量子线路,针 对每条子量子线路,先计算对应量子比特经子量子线路执行后的量子态振幅值; 再根据各条子量子线路对应的振幅值,计算所述量子线路对应量子比特的量子 态振幅值,实现量子计算模拟。由于量子线路被拆分成各条子量子线路,每条子量子线路的量子比特数减少,线路复杂度得以降低,所需要的内存资源随之 下降,从而能够在更低的内存资源下,实现量子计算模拟,但随着待模拟量子 线路的拆分,模拟各子量子线路的时间也有所变化,甚至是增加,这会严重影 响量子计算模拟效率。
基于此,对于进行部分振幅量子计算模拟的分布式计算机集群,亟需提供 一种方案提前预估待模拟的量子线路进行部分振幅量子计算模拟时至少需要的 计算时间。
发明内容
本发明提供一种预估量子计算模拟时间的方法,包括:
获取配置的进程和待模拟量子线路;
按预设拆分规则,拆分所述待模拟量子线路,构建子量子线路;
确定各子量子线路包含的量子比特的量子态在所述进程中的分布;
根据各所述量子态在所述进程中的分布,确定各所述子量子线路中的量子 逻辑门作用的量子比特所对应的成组量子态在所述进程中的分布方式;
确定各所述分布方式所对应的量子逻辑门操作占用时间,其中,所述量子 逻辑门操作占用时间为:所述子量子线路在模拟运行时所述量子逻辑门作用于 量子比特占用的执行时间;
根据各所述分布方式所对应的量子逻辑门操作占用时间,计算各子量子线 路包含的量子逻辑门操作总占用时间;
根据各子量子线路包含的量子逻辑门操作总占用时间,以及子量子线路预 设运行规则,计算待模拟量子线路的量子计算模拟时间。
优选地,所述待模拟量子线路包含单量子逻辑门和/或双量子逻辑门。
优选地,所述按预设规则,拆分所述待模拟量子线路,构建子量子线路, 包括:
判断所述待模拟量子线路中是否包含双量子逻辑门;其中,所述待模拟量 子线路包括:待模拟量子线路的前预设数量个量子比特所处的第一部分量子线 路和其余量子比特所处的第二部分量子线路;
若包含双量子逻辑门,判断每一双量子逻辑门作用的两量子比特是否分别 处于第一部分量子线路和第二部分量子线路中;
若每一双量子逻辑门作用的两量子比特均不分别处于第一部分量子线路和 第二部分量子线路中,将所述待模拟量子线路的第一部分量子线路确定为一子 量子线路,第二部分量子线路确定为另一子量子线路;其中,各条子量子线路 中的量子比特的比特位编号均从0依序编排。
优选地,所述方法还包括:
若不包含双量子逻辑门,将所述待模拟量子线路的第一部分量子线路确定 为一子量子线路,第二部分量子线路确定为另一子量子线路;其中,各条子量 子线路中的量子比特的比特位编号均从0依序编排。
优选地,所述方法还包括:
若存在双量子逻辑门所作用的两量子比特分别处于第一部分量子线路和第 二部分量子线路中,判断该存在的各双量子逻辑门是否均为特定种类的双量子 逻辑门;
若均为特定种类的双量子逻辑门,针对每一特定种类的双量子逻辑门,将 该双量子逻辑门拆分为第一预设单门、第二预设单门和特定单量子逻辑门,并 生成当前量子线路的副本,将所述第一预设单门添加到当前量子线路中,将所 述第二预设单门和特定单量子逻辑门添加到当前量子线路的副本中;
其中,所述第一预设单门和所述第二预设单门作用的量子比特均为该双量 子逻辑门的控制比特,所述特定单量子逻辑门作用的量子比特为该双量子逻辑 门的操作比特,所述特定单量子逻辑门由该双量子逻辑门的种类确定;
拆分当前添加完成的所有新量子线路,将每一新量子线路对应的当前第一 部分量子线路及第二部分量子线路,均确定为子量子线路;其中,各条子量子 线路中的量子比特的比特位编号均从0依序编排。
优选地,所述确定各子量子线路包含的量子比特的量子态在所述进程中的 分布,包括:
确定各所述进程的编号和各子量子线路中包含的量子比特;
确定各所述子量子线路中包含的量子比特的量子态和各所述量子态的下标 值,所述下标值为所述量子态对应的十进制值;
根据所有所述量子态的下标值和各所述进程的编号,将所有所述量子态依 次分配至各所述进程。
优选地,所述根据各所述量子态在所述进程中的分布,确定各所述子量子 线路中的量子逻辑门作用的量子比特所对应的成组量子态在所述进程中的分布 方式,包括:
获取各所述子量子线路包含的量子逻辑门;
确定各所述量子逻辑门操作的量子比特所对应的成组量子态;
根据所述成组量子态在所述进程中的分布,确定各所述量子逻辑门操作的 量子比特所对应的成组量子态在所述进程中的分布方式。
优选地,所述确定各所述分布方式所对应的量子逻辑门操作占用时间,包 括:
获取预设量子逻辑门作用的量子比特所对应的成组量子态在所述进程中预 设分布方式;
确定各所述预设分布方式时所对应的预设量子逻辑门操作占用时间;
根据各所述量子逻辑门操作的量子比特所对应的成组量子态在所述进程中 的分布方式,确定与各所述分布方式对应的预设分布方式;
根据各所述分布方式对应的预设分布方式所对应的预设量子逻辑门操作占 用时间,确定各所述分布方式所对应的量子逻辑门操作占用时间。
优选地,所述确定各所述预设分布方式时所对应的预设量子逻辑门操作占 用时间,包括:
初始化所述预设量子逻辑门作用的量子比特所对应的成组量子态;
执行所述预设量子逻辑门操作,并同时启动计时器;
当所述预设量子逻辑门操作执行完毕,获得所述计时器的计时结果;
根据所述计时结果,确定所述预设分布方式时所对应的预设量子逻辑门操 作占用时间。
优选地,所述根据各子量子线路包含的量子逻辑门的总占用时间,以及子 量子线路预设运行规则,计算待模拟量子线路的量子计算模拟时间,包括:
根据子量子线路预设运行规则,确定每次运行的子量子线路;
根据每次运行的子量子线路以及各子量子线路包含的量子逻辑门的总占用 时间,确定每次运行的时间;
根据每次运行的时间,确定量子计算模拟时间。
本发明还提供了一种预估量子计算模拟时间的系统,包括:
第一获取模块,用于获取配置的进程和待模拟量子线路;
第一构建模块,用于按预设拆分规则,拆分所述待模拟量子线路,构建子 量子线路;
第一确定模块,用于确定各子量子线路包含的量子比特的量子态在所述进 程中的分布;
第二确定模块,用于根据各所述量子态在所述进程中的分布,确定各所述 子量子线路中的量子逻辑门作用的量子比特所对应的成组量子态在所述进程中 的分布方式;
第三确定模块,用于确定各所述分布方式所对应的量子逻辑门操作占用时 间,其中,所述量子逻辑门操作占用时间为:所述子量子线路在模拟运行时所 述量子逻辑门作用于量子比特占用的执行时间;
第一计算模块,用于根据各所述分布方式所对应的量子逻辑门操作占用时 间,计算各子量子线路包含的量子逻辑门操作总占用时间;
第二计算模块,用于根据各子量子线路包含的量子逻辑门操作总占用时间, 以及子量子线路预设运行规则,计算待模拟量子线路的量子计算模拟时间。
本发明还提供了一种存储介质,所述存储介质中存储有计算机程序,其中, 所述计算机程序被设置为运行时执行上述任一项中所述的方法。
本发明还提供了一种电子装置,包括存储器和处理器,所述存储器中存储 有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中 所述的方法。
相比于现有技术,本发明的有益效果为:
通过按预设拆分规则将待模拟量子线路拆分构建子量子线路,再根据预设 运行规则运行模拟各子量子线路以完成对待模拟量子线路的模拟运行,由于子 量子线路是由不同的量子逻辑门按次序形成的,因此,模拟运行该子量子线路 所需的时间为该子量子线路中各量子逻辑门操作的占用时间之和。
基于此,本发明通过获取配置的进程和待模拟量子线路,并按预设拆分规 则将待模拟量子线路拆分构建子量子线路,确定该各子量子线路包含的量子比 特的量子态在所述进程中的分布,在此基础上确定子量子线路中各量子逻辑门 作用的量子比特对应的成组量子态在所述进程中的分布方式,然后进一步确定 各所述分布方式所对应的量子逻辑门操作占用时间,进而计算出子量子线路中所有量子逻辑门操作总占用时间,再基于预设运行规则,计算待模拟量子线路 的量子计算模拟时间,为使用者分析该次量子计算模拟的性能要求并进行调整, 提供了参考。
附图说明
图1为本发明实施例提供的一种预估量子计算模拟时间的方法的流程示意 图;
图2为本发明实施例提供的一种量子线路的拆分示意图;
图3为本发明实施例提供的一种预估量子计算模拟时间的系统的结构示意 图。
具体实施方式
下面结合附图和具体实施例对本发明进一步进行描述。
量子比特是量子计算中基本的信息单位,因此,N个量子比特对应有2N个 量子态,举例而言:
1个量子比特所处的逻辑状态为2个量子态的叠加态,这2个量子态分别为 |0>和|1>,该1个量子比特所处的任一逻辑状态可以表示为:
ψ=a|0>+b|1>
其中,a、b分别为|0>、|1>的振幅,a、b均为复数形式。
ψ对应的矩阵表示为:
Figure SMS_1
测量后,该1个量子比特所处的逻辑状态塌缩至一个固定的量子态|0>或|1>,其中,塌缩至|0>的概率是a2,塌缩至|1>的概率是b2,a2+b2=1。
3个量子比特所处的逻辑状态为23(即8)个量子态的叠加态,其中,这8 个量子态分别为|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>
且ψ对应的矩阵表示为:
Figure SMS_2
其中,8个量子态中的每个量子态(或称量子态分量)对应的振幅为c0至 c7这些复数中的一个,c0至c7的下标值为该振幅所属量子态的二进制对应的十 进制值,我们把c0至c7这些复数中的每一个称作一个单振幅。
量子计算的过程,是不同的量子逻辑门按次序操作对应量子比特的过程, 其中,我们把这些按次序组合起来的量子逻辑门序列称为量子线路。在量子计 算模拟过程中,用酉矩阵表示量子逻辑门,则量子逻辑门操作对应量子比特的 过程即是用酉矩阵左乘以量子态右矢对应的矩阵进行矩阵乘法计算的过程。因 此,量子计算,也可以理解为不同的量子逻辑门对应的酉矩阵对初始的量子态按次序进行左乘。其中:
单量子逻辑门(例如:阿达马门、泡利-X门、泡利-Y门、泡利-Z门等)是 一个2×2的矩阵,一个单量子逻辑门作用于量子线路中的一个量子比特,该单 量子逻辑门只会改变这个量子比特对应的态的振幅,并且,这个量子比特对应 的态是成组出现的,一组有2个量子态;双量子逻辑门(例如:控制非门、交 换门等)是一个4×4的矩阵,一个双量子逻辑门作用于量子线路中的两个量子 比特,该双量子逻辑门只会改变这两个量子比特对应的态的振幅,并且,这个 量子比特对应的态是成组出现的,一组有4个量子态。
需要说明的是,双量子逻辑门作用的量子比特的比特位包括两个,分别为 控制比特位和操作比特位,常见的双量子逻辑门为CNOT门(即控制非门), CNOT(q1,q2)中q1为控制位,q2为操作位,其作用为:当控制位为|0>态时, 操作位q2的量子态不变,当控制位为|1>态时,操作位q2的量子态取反。需要 说明的是,在构建量子线路时不允许控制比特和操作比特是同一个量子比特。
量子计算模拟主要包括全振幅模拟、部分振幅模拟和单振幅模拟,其中:
部分振幅模拟,便是指通过遍历待模拟量子线路,判断所述待模拟量子线 路是否符合预设适用条件;若符合,拆分待模拟量子线路,构建子量子线路; 针对每条子量子线路,初始化所述子量子线路对应量子比特的量子态振幅值, 并计算对应量子比特经子量子线路执行后的量子态振幅值;根据各条子量子线 路对应的振幅值,计算所述量子线路对应量子比特的量子态振幅值,实现量子计算模拟。由于待模拟量子线路被拆分成各条子量子线路,每条子量子线路的 量子比特数减少,线路复杂度得以降低,所需要的内存资源随之下降,从而能 够在更低的内存资源下,实现量子计算模拟。但是,随着待模拟量子线路的拆分,模拟各子量子线路的时间也有所变化,甚至是增加,这会严重影响量子计 算模拟效率。
基于此,本实施例提供了一种预估量子计算模拟时间的方法,包括:
S100、获取配置的进程和待模拟量子线路。
为便于理解,本实施例结合具体示例说明,例如,待模拟量子线路为如下 量子线路,模拟如下量子线路的分布式计算机集群配置有8个基于MPI通信的 进程:
QCircuitcir;
cir<<H(q0)<<H(q1)<<RY(q2,PI/2)<<H(q4)
<<CNOT(q0,q3)<<X(q1)<<CNOT(q1,q2)
<<H(q1)<<CZ(q2,q3)<<H(q4)
<<H(q2)<<CNOT(q3,q4)
<<RZ(q3,PI/2)<<Y(q4)
<<RX(q4,PI/5).
其中:
H代表阿达马Hadamard门,X代表泡利-X门(其对应的矩阵为泡利矩阵σx),Y代表泡利-Y门(其对应的矩阵为泡利矩阵σy),Z代表泡利-Z门(其对应的 矩阵为泡利矩阵σz),RX代表任意旋转泡利-X门,RY代表任意旋转泡利-Y门, RZ代表任意旋转泡利-Z门,CNOT代表控制非门(Control-NOT);CZ代表控 制泡利Z门(Control Pauli-Z Gate);
q0、q1、q2、q3、q4是指比特位从0至4的量子比特。另外,需要说明的 是,量子态的表示对应q4q3q2q1q0的排布规则,且q4q3q2q1q0中从右至左对应的比特位由低位到高位。
因此,由该量子线路中,可以确定量子逻辑门H(q0)为单量子逻辑门,且其 作用的量子比特的比特位为0,类似的:确定H(q1)为单量子逻辑门,且其作用 的量子比特的比特位为1;确定RY(q2)为单量子逻辑门,且其作用的量子比特 的比特位为2;......;确定CNOT(q0,q3)为双量子逻辑门,且其作用的量子比 特的比特位为0和3;......。
S200、按预设拆分规则,拆分所述待模拟量子线路,构建子量子线路。
预设拆分规则,是指对待模拟量子线路进行部分振幅量子计算模拟时,对 待模拟量子线路进行拆分所遵循的规则。
具体的,所述按预设拆分规则,拆分所述待模拟量子线路,构建子量子线 路,包括:
S210、判断所述待模拟量子线路中是否包含双量子逻辑门;其中,所述待 模拟量子线路包括:待模拟量子线路的前预设数量个量子比特所处的第一部分 量子线路和其余量子比特所处的第二部分量子线路;
S220、若包含双量子逻辑门,判断每一双量子逻辑门作用的两量子比特是 否分别处于第一部分量子线路和第二部分量子线路中;
S230、若每一双量子逻辑门作用的两量子比特均不分别处于第一部分量子 线路和第二部分量子线路中,将所述待模拟量子线路的第一部分量子线路确定 为一子量子线路,第二部分量子线路确定为另一子量子线路;其中,各条子量 子线路中的量子比特的比特位编号均从0依序编排。
该部分表述的是量子线路中不包含分别处于第一部分量子线路和第二部分 量子线路中的双量子逻辑门的情况,也就是说,第一部分量子线路和第二部分 量子线路相互独立,并无同时作用于两部分量子线路中的量子比特的双量子逻 辑门,从而能够直接拆分该量子线路,得到2条子量子线路,即原第一部分量 子线路和原第二部分量子线路分别被拆分出来,确定为2条单独的子量子线路,每条子量子线路中的量子逻辑门不变,但操作的量子比特的比特位需重新从0 编号。
作为具体应用的另一个场景:
若该部分表述的是量子线路中全是单门的情况,也可以直接拆分该量子线 路,得到2条子量子线路,每条子量子线路中的量子逻辑门不变,但操作的量 子比特的比特位需重新从0编号,即上述的按预设规则,拆分所述待模拟量子 线路,构建子量子线路,还包括:
S240、若不包含双量子逻辑门,将所述待模拟量子线路的第一部分量子线 路确定为一子量子线路,第二部分量子线路确定为另一子量子线路;其中,各 条子量子线路中的量子比特的比特位编号均从0依序编排。
作为具体应用的第三个场景,上述的按预设规则,拆分所述待模拟量子线 路,构建子量子线路,还包括:
S250、若存在双量子逻辑门所作用的两量子比特分别处于第一部分量子线 路和第二部分量子线路中,判断该存在的各双量子逻辑门是否均为特定种类的 双量子逻辑门;
S260、若均为特定种类的双量子逻辑门,针对每一特定种类的双量子逻辑 门,将该双量子逻辑门拆分为第一预设单门、第二预设单门和特定单量子逻辑 门,并生成当前量子线路的副本,将所述第一预设单门添加到当前量子线路中, 将所述第二预设单门和特定单量子逻辑门添加到当前量子线路的副本中;
其中,所述第一预设单门和所述第二预设单门作用的量子比特均为该双量 子逻辑门的控制比特,所述特定单量子逻辑门作用的量子比特为该双量子逻辑 门的操作比特,所述特定单量子逻辑门由该双量子逻辑门的种类确定;
S270、拆分当前添加完成的所有新量子线路,将每一新量子线路对应的当 前第一部分量子线路及第二部分量子线路,均确定为子量子线路;其中,各条 子量子线路中的量子比特的比特位编号均从0依序编排。
具体的,所述特定种类至少包括以下一种或多种:CNOT门(Control-not Gate, 控制非门)、CZ门(Control Pauli-Z Gate,控制泡利Z门)和CR门(Control Rotation Gate,控制相位翻转门)。其中:
CNOT门的矩阵形式(酉矩阵)为:
Figure SMS_3
CZ门的矩阵形式为:
Figure SMS_4
CR门或称CR θ)门的矩阵形式为:
Figure SMS_5
在一种拆分方式中,拆分后的第一预设量子逻辑门设为P0门,其矩阵形式 为:
Figure SMS_6
第二预设量子逻辑门为P1门,其矩阵形式为:
Figure SMS_7
特定种类的双 门与特定单量子逻辑门的对应关系如下:
CNOT门,对应NOT门(非门,又称X门),矩阵形式:
Figure SMS_8
CZ门,对应Z门,矩阵形式:
Figure SMS_9
CR门,对应U1或称U1(θ)门,矩阵形式:
Figure SMS_10
从矩阵形式可看出,能够被拆分的双门左上角的2×2部分可看成单位矩阵, 右下角的2×2部分可看成拆分后对应的特定单门。其内在的数学原理,以CZ门 为例,可如下表示:
Figure SMS_11
Figure SMS_12
单位矩阵
Figure SMS_13
表示Z门。即,
Figure SMS_14
其余特定种类的双门同理。其中,
Figure SMS_15
表示直积。
另外,其他现有的双门如ISWAP、SQISWAP、ISWAP θ)、CU和SWAP等等, 可以通过先转换成很多个上述特定种类的双门,然后进行拆分,这也是合理可 行的。
需要说明的是,量子线路中的量子比特总数可以为奇数或偶数,组成量子 线路的两部分量子线路中的量子比特数,可根据需求自行设定,不对其进行限 定。优选的一种预设拆分规则,以第一部分量子线路与第二部分量子线路中的 量子比特数之差的绝对值最小,设定预设数量,这样最终构建的子量子线路中 的量子比特数为一半或接近一半,可以最小化对内存等的硬件需求。
例如,量子线路的量子比特总数为15,则预设数量可设为1-14的任意整数, 优选设为7或8,即前7/8位量子比特所处的部分量子线路作为第一部分量子线 路,后8/7位量子比特所处的部分量子线路作为第二部分量子线路。或者,量子 线路的量子比特总数为16,则优选前8位量子比特所处的部分量子线路作为第一部分量子线路,后8位量子比特所处的部分量子线路作为第二部分量子线路。
步骤S210至步骤S270,根据待模拟量子线路中量子逻辑门作用的量子比特, 对待模拟量子线路进行拆分构建子量子线路,以使得每条子量子线路中仅包含 待模拟量子线路中的一部分量子比特,从而减少量子比特数。
结合本实施例中的示例的待模拟量子线路,如图2中(a)所示,以量子比 特q0、q1、q2所在的量子线路作为第一部分量子线路、以量子比特q3、q4所 在的量子线路作为第二部分量子线路。遍历出该量子线路中包含双量子逻辑门 CNOT(q0,q3)、CNOT(q1,q2)、CZ(q2,q3)、CNOT(q3,q4),提取该四个双量子逻 辑门信息并记录,然后判断出双量子逻辑门CNOT(q0,q3)作用的量子比特q0、 q3分处于第一部分量子线路和第二部分量子线路,CZ(q2,q3)作用的量子比特同 样处于第一部分量子线路和第二部分量子线路,且该两双门均属于特定种类的 双门。
遍历到CNOT(q0,q3),将CNOT(q0,q3)拆分为P0门、P1门和NOT门, 生成当前量子线路(此时CNOT门已不存在,其余不变)的副本,作为副本量 子线路,根据P0门作用的量子比特q0,将P0门添加到当前量子线路中,根据P1门作用的量子比特q0、NOT门作用的量子比特q3,将P1门和NOT门添加 到副本量子线路中。此时的量子线路有两条分别对应图2(a)右侧两条量子线 路,每条的量子比特总数为5,其中:
一条包括量子逻辑门H(q0)、H(q1)、RY(q2)、H(q4)、P0(q0)、X(q1)、 CNOT(q1,q2)、H(q1)、CZ(q2,q3)、H(q4)、H(q2)、CNOT(q3,q4)、RZ(q3)、Y(q4) 和RX(q4);
另一条包括H(q0)、H(q1)、RY(q2)、H(q4)、P1(q0)、NOT(q3)、X(q1)、CNOT(q1,q2)、H(q1)、CZ(q2,q3)、H(q4)、H(q2)、CNOT(q3,q4)、RZ(q3)、Y(q4) 和RX(q4)。
然后,针对当前两条量子线路中的CZ(q2,q3),对其中一条,将CZ(q2,q3) 拆分为P0门、P1门和Z门,生成该条量子线路的副本,根据该P0门作用的量 子比特q2,将P0门添加到该条量子线路中,根据该P1门作用的量子比特q2、Z 门操作的量子比特q3,将P1门和Z门添加到该条量子线路的副本量子线路中。对另一条同样操作,最终得到4条中间的新量子线路如图(2)b和图(2)c, 每条的量子比特总数仍为5,分别如下:
第一条包括量子逻辑门H(q0)、H(q1)、RY(q2)、H(q4)、P0(q0)、X(q1)、 CNOT(q1,q2)、H(q1)、P0(q2)、H(q4)、H(q2)、CNOT(q3,q4)、RZ(q3)、Y(q4)、 RX(q4);
第二条包括量子逻辑门H(q0)、H(q1)、RY(q2)、H(q4)、P0(q0)、X(q1)、 CNOT(q1,q2)、H(q1)、P1(q2)、Z(q3)、H(q4)、H(q2)、CNOT(q3,q4)、RZ(q3)、 Y(q4)、RX(q4);
第三条包括量子逻辑门H(q0)、H(q1)、RY(q2)、H(q4)、P1(q0)、NOT(q3)、 X(q1)、CNOT(q1,q2)、H(q1)、P0(q2)、H(q4)、H(q2)、CNOT(q3,q4)、RZ(q3)、 Y(q4)、RX(q4);
第四条包括量子逻辑门H(q0)、H(q1)、RY(q2)、H(q4)、P1(q0)、NOT(q3)、 X(q1)、CNOT(q1,q2)、H(q1)、P1(q2)、Z(q3)、H(q4)、H(q2)、CNOT(q3,q4)、 RZ(q3)、Y(q4)、RX(q4)。
此时,作用的量子比特分别位于第一部分量子线路和第二部分量子线路的 双量子逻辑门都被拆分,得到4条新量子线路。拆分各条新量子线路,以量子 比特q0、q1、q2为前一部分,以量子比特q3、q4为后一部分拆分该量子线路, 也就是将当前新量子线路对应的第一部分量子线路和第二部分量子线路,分别 作为子量子线路,最终得到8条子量子线路,其中4条包含的总(量子)比特 数为3,另4条包含的总(量子)比特数为2,并且,根据计算机的计算特性,每条子量子线路的量子比特位均从0开始编号,8条子量子线路分别如下:
1#子量子线路包括H(q0)、H(q1)、RY(q2)、P0(q0)、X(q1)、CNOT(q1,q2)、 H(q1)、P0(q2)、H(q2);
2#子量子线路包括H(q1)、H(q1)、CNOT(q0,q1)、RZ(q0)、Y(q1)、RX(q1);
3#子量子线路包括H(q0)、H(q1)、RY(q2)、P0(q0)、X(q1)、CNOT(q1,q2)、 H(q1)、P1(q2)、H(q2);
4#子量子线路包括H(q1)、Z(q0)、H(q1)、CNOT(q0,q1)、RZ(q0)、Y(q1)、 RX(q1);
5#子量子线路包括H(q0)、H(q1)、RY(q2)、P1(q0)、X(q1)、CNOT(q1,q2)、 H(q1)、P0(q2)、H(q2);
6#子量子线路包括H(q1)、NOT(q0)、H(q1)、CNOT(q0,q1)、RZ(q0)、Y(q1)、 RX(q1);
7#子量子线路包括H(q0)、H(q1)、RY(q2)、P1(q0)、X(q1)、CNOT(q1,q2)、 H(q1)、P1(q2)、H(q2);
8#子量子线路包括H(q1)、NOT(q0)、Z(q0)、H(q1)、CNOT(q0,q1)、RZ(q0)、 Y(q1)、RX(q1)。
同理,每多一个符合上述判断条件的特定种类的双门,最终得到的子量子 线路数量将会翻一倍。
一条量子线路中量子比特总数的多少,极大的影响了量子计算模拟的复杂 度和内存需求。由于每条子量子线路的量子比特数将近减半,模拟需要的内存 呈指数级递减,内存占用也大大减少。
S300、确定各子量子线路包含的量子比特的量子态在所述进程中的分布。
具体而言,获取的子量子线路中如果包含n个量子比特,本步骤则确定子 量子线路包含的量子比特所对应的量子态(共有2n个)在配置的进程中的分布, 为预估模拟量子计算所需资源提供信息基础。
1#子量子线路包含的量子比特为q0、q1、q2,其对应的量子态有8个,分 别为:000、001、010、011、100、101、110、111。
2#子量子线路包含的量子比特为q0、q1,其对应的量子态有4个,分别为: 00、01、10、11。
将1#子量子线路包含的量子比特的量子态和2#子量子线路包含的量子比特 的量子态按照设定规则分布存储到配置的进程中,也即能够确定1#子量子线路 包含的量子比特的量子态和2#子量子线路包含的量子比特的量子态在配置的进 程中的分布。该设定规则为对子量子线路进行量子计算模拟时,分配子量子线路包含的量子比特的量子态到所述进程时所遵循的分配规则,具体的,所述设 定规则可以为将各子量子线路包含的量子比特的量子态按序依次分配到各进程 中,可以是均匀地分配,也可以是不均匀地分配;本实施例中,将1#子量子线 路包含的量子比特的量子态分配到配置的其中4个进程中存储,将2#子量子线 路包含的量子比特的量子态分配到另外4个进程中存储。
作为本步骤优选的一种实施方式,确定1#子量子线路包含的量子比特的量 子态在所述进程中的分布,包括:
S310、确定各所述进程的编号,分别为0、1、2、3;以及1#子量子线路中 包含的量子比特,分别为q0、q1、q2。
S320、确定1#子量子线路中包含的量子比特的量子态和各所述量子态的下 标值,所述下标值为所述量子态对应的十进制值。
1#子量子线路包含的量子比特的量子态与其对应的下标值分别为:000(0)、 001(1)、010(2)、011(3)、100(4)、101(5)、110(6)、111(7)。其中, ()内为该量子态对应的十进制值,也称为量子态的下标值,即0-7。
S330、根据所有所述量子态的下标值和各所述进程的编号,将所有所述量 子态依次均匀地分配至各所述进程。
例如,将1#子量子线路中的8个量子态按照下标值的大小依次均匀分配至 编号从小到大的各进程中存储,量子态在进程中的存储分布如表1所示:
表1 1#子量子线路包含的量子比特 的量子态在0#~3#个进程中的存储分布
Figure SMS_16
同样的,确定2#子量子线路包含的量子比特的量子态在编号为4、5、6、7 的进程中的分布,如表2所示:
表2 2#子量子线路包含的量子比特 的量子态在4#~7#个进程中的存储分布
Figure SMS_17
S400、根据各所述量子态在所述进程中的分布,确定各所述子量子线路中 的量子逻辑门作用的量子比特所对应的成组量子态在所述进程中的分布方式。
如前所述,一个单量子逻辑门作用于量子线路中的一个量子比特,该单量 子逻辑门操作只会改变这个量子比特对应的态的振幅,并且,这个量子比特对 应的态是成组出现的,一组有2个量子态;一个双量子逻辑门作用于量子线路 中的两个量子比特,该双量子逻辑门操作只会改变这两个量子比特对应的态的振幅,并且,这个量子比特对应的态是成组出现的,一组有4个量子态。基于 此,本步骤根据1#子量子线路中各量子逻辑门所包含的信息,并结合所述量子 态在所述进程中的分布,可以进一步确定1#子量子线路中各量子逻辑门作用的 量子比特对应的成组量子态在所述进程中的分布方式,即该组量子态包含的2个量子态是分布在一个进程中还是两个进程中,抑或该组量子态包含的4个量 子态是分布在一个进程、两个进程,还是四个进程中。
本步骤的其中一种实施方式:
根据所述量子态在所述进程中的分布,确定1#子量子线路中各量子逻辑门 作用的量子比特对应的成组量子态在所述进程中的分布方式,包括以下步骤:
根据所述量子态在所述进程中的分布,确定单个进程存储的量子态的数量;
判断当前量子逻辑门的类型;
(1)若当前量子逻辑门的类型为单量子逻辑门
根据量子逻辑门作用的量子比特的比特位,确定量子态计算偏移量;如果 量子态计算偏移量小于单个进程存储的量子态的数量,则当前量子逻辑门作用 的量子比特对应的成组量子态位于同一个进程中,否则,当前量子逻辑门作用 的量子比特对应的成组量子态位于两个进程中;
(2)若当前量子逻辑门的类型为双量子逻辑门
根据当前量子逻辑门的目标位量子比特的比特位和控制位量子比特的比特 位,确定当前量子逻辑门作用的处于高位的量子比特的比特位和处于低位的量子比特的比特位;
根据所述处于高位的量子比特的比特位,确定第一量子态计算偏移量;
判断所述第一量子态计算偏移量是否小于单个进程存储的量子态总数;
如果所述第一量子态计算偏移量小于单个进程存储的量子态总数,则当前 量子逻辑门作用的量子比特对应的成组量子态处于同一个进程中;
否则,根据所述处于低位的量子比特的比特位,确定第二量子态计算偏移 量,判断所述第二量子态计算偏移量是否小于单个进程存储的量子态总数;如 果第二量子态计算偏移量小于单个进程存储的量子态总数,则处于两个进程中, 否则处于四个进程中。
其中,量子态计算偏移量为:假设对成组量子态中下标值为i的量子态进行 计算,需要在同组量子态中找到与之对应的下标值设为j的量子态,i和j的差 值的绝对值即为量子态计算偏移量,大小为2的n次方,n为量子比特的比特位。
本实施例中,将1#子量子线路包含的量子比特的量子态分配到配置的其中 4个进程中存储,每个进程存储有2个量子态;
以1#子量子线路中的H(q0)为例,H(q0)为单量子逻辑门,H(q0)作用的量子 比特为q0,量子态计算偏移量为20=1,1<2,因此,对应的每组2个量子态分 布于同一个进程中。
以1#量子线路中的CNOT(q1,q2)为例,CNOT(q1,q2)为双量子逻辑门,且控 制位量子比特为q1,目标位量子比特为q2,其中,q2处于高位,q1处于低位; 第一量子态计算偏移量为22=4,4≮2,第二量子态计算偏移量为21=2≮2,因此, 对应的每组4个量子态分布于四个进程中。
本步骤的另一种较为优选地实施方式:
根据所述量子态在所述进程中的分布,确定1#子量子线路中各量子逻辑门 作用的量子比特对应的成组量子态在所述进程中的分布方式,包括以下步骤:
S410、获取1#量子线路包含的量子逻辑门,具体如下:
H(q0)、H(q1)、RY(q2)、P0(q0)、X(q1)、CNOT(q1,q2)、H(q1)、P0(q2)、H(q2)。
确定各所述量子逻辑门作用的量子比特。
以1#量子线路中的H(q0)为例,H(q0)为单量子逻辑门,其作用的量子比特 为q0。
以1#量子线路中的CNOT(q1,q2)为例,CNOT(q1,q2)为双量子逻辑门,且控 制位量子比特为q1,目标位量子比特为q2。
S420、确定各所述量子逻辑门操作的量子比特所对应的成组量子态。
与H(q0)对应的成组的量子态共有4对,分别为:000(0)&001(1)、010 (2)&011(3)、100(4)&101(5)、110(6)&111(7)。
与CNOT(q1,q2)对应的成组的量子态共有2组,分别为:000(0)、010(2)、 100(4)、110(6)为一组,001(1)、011(3)、101(5)、111(7)为一组,可以看出,每一组均满足第一个比特(q1)为|0>或|1>,第二个比特上(q1)为 |0>或|1>,而其它量子比特的量子态一致的条件。
S430、根据所述成组量子态在所述进程中的分布,确定各所述量子逻辑门 操作的量子比特所对应的成组量子态在所述进程中的分布方式。
结合上述表1,可以确定:与H(q0)对应的成组的量子态均处于同一进程中; 与CNOT(q1,q2)对应的成组的量子态处于四个进程中,每个进程分布有1个量子 态。
同样的,采用这两种方式都可以确定1#子量子线路中的量子逻辑门H(q1)、 RY(q2)、P0(q0)、X(q1)、H(q1)、P0(q2)、H(q2)作用的量子比特对应的成组量子 态在所述进程中的分布方式。
1#子量子线路包含的量子逻辑门作用的量子比特所对应的成组量子态在所 述进程中的分布方式,具体如下表3:
表3 1#子量子线路包含的量子比特的量子态在0#~3#个进程中的分布方式
Figure SMS_18
同样的,2#子量子线路包含的量子逻辑门作用的量子比特所对应的成组量 子态在所述进程中的分布方式,具体如下表4:
表4 2#子量子线路包含的量子比特的量子态在4#~7#个进程中的分布方式
Figure SMS_19
S500、确定各所述分布方式所对应的量子逻辑门操作占用时间,其中,所 述量子逻辑门操作占用时间为:所述子量子线路在模拟运行时所述量子逻辑门 作用于量子比特占用的执行时间,也即该量子逻辑门对应的矩阵与对应成组量 子态的矩阵乘法运算实现量子态振幅的更新所需的时间。
需要说明的是:
(1)单量子逻辑门为一个2×2的矩阵,在模拟量子计算的虚拟机硬件配置 特定的情况下,单量子逻辑门操作的占用时间只与该单量子逻辑门作用的量子 比特所对应的成组的量子态在配置的进程中的分布方式有关,具体而言,即与 该单量子逻辑门作用的量子比特所对应的2个量子态是分布在同一个进程中,还是分布在两个进程中有关。
结合执行一个单量子逻辑门操作的计算过程,进一步说明如下:
当该单量子逻辑门作用的量子比特所对应的2个量子态是分布在同一个进 程时,所述进程内部独立运算,此时,量子逻辑门操作占用时间即为进程内部 执行独立运算所需时间;当该单量子逻辑门作用的量子比特所对应的2个量子 态分布在不同进程内时,对应于2个量子态分布的各不同所述进程为相关联进 程,所述相关联进程之间先通信进行数据传输更新所述进程,然后在进程内部 独立运算,此时,量子逻辑门操作占用时间即为:相关联进程通信进行数据传 输所需时间+进程内部执行独立运算所需时间。需要说明的是,单进程内部独立 运算具体包括所述单量子逻辑门对应的矩阵与该2个量子态的矩阵乘法运算实 现量子态振幅的更新。
(2)双量子逻辑门为一个4×4的矩阵,在模拟量子计算的虚拟机硬件配置特 定的情况下,双量子逻辑门操作的占用时间只与双单量子逻辑门作用的量子比 特所对应的成组的量子态在配置的进程中的分布方式有关,具体而言,即与该 双量子逻辑门作用的量子比特所对应的4个量子态是分布在同一个进程中,还 是分布在两个进程中、或是分布在四个进程中有关。
执行一个双量子逻辑门操作的计算过程与执行一个单量子逻辑门操作的计 算过程区别在于:一个双量子逻辑门作用的量子比特所对应的量子态的数量为4 个,当该双量子逻辑门作用的量子比特所对应的4个量子态是分布在同一个进 程时,所述进程内部独立运算;当该双量子逻辑门作用的量子比特所对应的4 个量子态分布在不同进程内时,对应4个量子态分布的各不同所述进程为相关 联进程,所述相关联进程之间先通信进行数据传输更新所述进程,然后在进程内部独立运算。同样地,单进程内部独立运算具体包括所述双量子逻辑门对应 的矩阵与该4个量子态的矩阵乘法运算实现量子态振幅的更新。
本步骤确定各所述分布方式所对应的量子逻辑门操作占用时间,即确定各 所述分布方式所对应的量子逻辑门对应的矩阵与对应量子态的矩阵乘法运算实 现量子态振幅的更新所需的时间,且所述分布方式相同时,量子逻辑门操作的 占用时间也相同。
基于此,可以根据模拟量子计算的分布式计算机集群的硬件配置确定各所 述分布方式所对应的量子逻辑门操作占用时间。本实施例采用如下优选的方式 确定各所述分布方式所对应的量子逻辑门操作占用时间,即所述确定各所述分 布方式所对应的量子逻辑门操作占用时间,优选地,包括:
S510、获取预设量子逻辑门作用的量子比特所对应的成组量子态在所述进 程中预设分布方式。其中:预设量子逻辑门的类型包括待模拟的子量子线路中 所包含的量子逻辑门类型,本实施例中,预设量子逻辑门为任一单量子逻辑门、 以及任一双量子逻辑门即可;预设分布方式包括待模拟的子量子线路中所对应的所有所述分布方式,本实施例中,预设分布方式包括:成组的2个量子态分 布于同一个进程中、成组的2个量子态分布于两个进程中、成组的4个量子态 分布于同一个进程中、成组的4个量子态分布于两个进程中、成组的4个量子 态分布于四个进程中。
S520、确定各所述预设分布方式时所对应的预设量子逻辑门操作占用时间。
作为一种具体的实施方式,确定各所述预设分布方式时所对应的预设量子 逻辑门操作占用时间,包括:
S521、初始化所述预设量子逻辑门作用的量子比特所对应的成组量子态;
S522、执行所述预设量子逻辑门操作,并同时启动计时器;
S523、当所述预设量子逻辑门操作执行完毕,获得所述计时器的计时结果;
S524、根据所述计时结果,确定所述预设分布方式时所对应的预设量子逻 辑门操作占用时间。
S521至S524更为适用于在不清楚模拟量子计算的分布式计算机集群详细 的硬件配置时,确定各所述分布方式所对应的量子逻辑门操作占用时间。
基于S521至S524,可以确定在预设分布方式时,上述预设量子逻辑门操作 占用时间。在本实施例中,可以确定:
单量子逻辑门作用的量子比特对应的成组的2个量子态分布于同一个进程 中时,单量子逻辑门操作占用时间为Ts1;
单量子逻辑门作用的量子比特对应的成组的2个量子态分布于两个进程中 时,单量子逻辑门操作占用时间为Ts2;
双量子逻辑门作用的量子比特对应的成组的4个量子态分布于同一个进程 中时,双量子逻辑门操作占用时间为Td1;
双量子逻辑门作用的量子比特对应的成组的4个量子态分布于两个进程中 时,双量子逻辑门操作占用时间为Td2;
双量子逻辑门作用的量子比特对应的成组的4个量子态分布于四个进程中 时,双量子逻辑门操作占用时间为Td4。
S530、根据各所述量子逻辑门操作的量子比特对应的成组量子态在所述进 程中的分布方式,确定与各所述分布方式对应的预设分布方式;
S540、确定各所述分布方式所对应的量子逻辑门操作占用时间,即为与各 所述分布方式对应的预设分布方式所对应的预设量子逻辑门操作占用时间。
1#子量子线路包含的量子逻辑门作用的量子比特所对应的成组量子态在所 述进程中的分布方式对应的量子逻辑门操作占用时间,具体如下表5:
表5 1#子量子线路包含的量子比特的量子态在 0#~3#进程中的分布方式对应的量子逻辑门操作占用时间
Figure SMS_20
同样的,2#子量子线路包含的量子逻辑门作用的量子比特所对应的成组量 子态在所述进程中的分布方式对应的量子逻辑门操作占用时间,具体如下表6:
表6 2#子量子线路包含的量子比特的量子态在 4#~7#进程中的分布方式对应的量子逻辑门操作占用时间
Figure SMS_21
S600、根据各所述分布方式所对应的量子逻辑门操作占用时间,计算各子 量子线路包含的量子逻辑门操作总占用时间。
本步骤两种优选的实施方式如下:
其一,根据1#子量子线路中各所述量子逻辑门作用的量子比特对应的成组 量子态在所述进程中的分布方式所对应的量子逻辑门操作占用时间,累加计算 得到所述1#子量子线路中所有量子逻辑门操作总占用时间(记为T1),本实施 例中对表5中序号1至8对应的占用时间累加,即T1=Ts1+Ts2+Ts2+Ts1+Td4+Ts2+ Ts2+Ts2作为1#子量子线路量子计算模拟时间;
类似的,2#子量子线路中所有量子逻辑门操作总占用时间(记为T2), T2=Ts2+Ts2+Td4+Ts2+Ts2+Ts2。
其二,根据1#子量子线路中包含的各所述量子逻辑门对应的成组的量子态 在各所述进程中的分布方式,确定各不同的分布方式时所分别对应的数量,例 如:表5中,“成组的2个量子态分布在同一进程”对应2个,“成组的2个 量子态分布在两个进程”对应5个,“成组的4个量子态分布在同一进程”对 应0个,“成组的4个量子态分布在两个进程”对应0个,“成组的4个量子 态分布在四个进程”对应1个;
根据各不同的分布方式时所分别对应的数量,以及各所述分布方式所对应 的量子逻辑门操作占用时间,计算出所述量子线路中所有量子逻辑门操作的总 占用时间,即为量子计算全振幅模拟时间,在本实施例中,1#子量子线路量子 计算模拟时间(记为T1),T1=Ts1×2+Ts2×5+Td1×0+Td2×0+Td4×1。
类似的,2#子量子线路中所有量子逻辑门操作总占用时间(记为T2), T2=Ts2×5+Td4×1。
也即步骤S600能够实现提前预估分布式计算机集群对1#子量子线路进行 量子计算模拟时至少需要的模拟时间T1、2#子量子线路进行量子计算模拟时至 少需要的模拟时间T2。
S700、根据各子量子线路包含的量子逻辑门操作总占用时间,以及子量子 线路预设运行规则,计算待模拟量子线路的量子计算模拟时间。
具体的,本步骤包括:
S710、根据子量子线路预设运行规则,确定每次运行的子量子线路;
S720、根据每次运行的子量子线路以及各子量子线路包含的量子逻辑门的 总占用时间,确定每次运行的时间;
S730、根据每次运行的时间,确定量子计算模拟时间。
预设运行规则是指,对拆分构建的子量子线路进行模拟时,子量子线路的 模拟运行次序。需要说明的是,预设运行规则与前述的设定规则相对应,即分 配待模拟量子线路包含的量子比特的量子态到所述进程时所遵循的分配规则也 相应的决定了子量子线路的模拟运行次序,结合本实施例中的示例的待模拟量 子线路,进行量子计算模拟时,8各进程存储1#子量子线路包含的量子比特的量子态和2#子量子线路包含的量子比特的量子态。预设运行规则为:按次序运 行量子计算模拟,每次运行2条子量子线路,即第一次模拟1#子量子线路和2# 子量子线路,第二次模拟3#子量子线路和4#子量子线路,第三次模拟5#子量子线路和6#子量子线路,第四次模拟7#子量子线路和8#子量子线路。
1#子量子线路包含的量子逻辑门的总占用时间为T1,2#子量子线路包含的 量子逻辑门的总占用时间为T2,由于是同批次运行,根据T1、T2的大小关系, 确定第一次运行的时间为max(T1,T2)。
类似的,第二次运行的时间为max(T3,T4),第三次运行的时间为max(T5, T6),第四次运行的时间为max(T7,T8)。
量子计算模拟时间即为所有批次运行的时间之和,即max(T1,T2)+max (T3,T4)+max(T5,T6)+max(T7,T8)。
本实施例获取待模拟量子线路和为对待模拟量子线路进行部分振幅模拟配 置的进程信息,按照预设拆分规则对待模拟量子线路进行拆分构建子量子线路, 再确定每条量子线路包含的量子比特的量子态在进程中的分布,根据各量子逻 辑门作用的量子比特的量子态在进程中的分布方式,确定每条量子线路模拟运 行时间,再结合子量子线路预设运行规则,即可计算待模拟量子线路的量子计算模拟时间,以为使用者分析该次量子计算模拟的时间需求提供参考。
参见图3,图3为本发明实施例提供的一种预估量子计算模拟时间的系统的 结构示意图,与图1所示的流程相对应,它包括:
第一获取模块201,用于获取配置的进程和待模拟量子线路;
第一构建模块202,用于按预设拆分规则,拆分所述待模拟量子线路,构建 子量子线路;
第一确定模块203,用于确定各子量子线路包含的量子比特的量子态在所述 进程中的分布;
第二确定模块204,用于根据各所述量子态在所述进程中的分布,确定各所 述子量子线路中的量子逻辑门作用的量子比特所对应的成组量子态在所述进程 中的分布方式;
第三确定模块205,用于确定各所述分布方式所对应的量子逻辑门操作占用 时间,其中,所述量子逻辑门操作占用时间为:所述子量子线路在模拟运行时 所述量子逻辑门作用于量子比特占用的执行时间;
第一计算模块206,用于根据各所述分布方式所对应的量子逻辑门操作占用 时间,计算各子量子线路包含的量子逻辑门操作总占用时间;
第二计算模块,用于根据各子量子线路包含的量子逻辑门操作总占用时间, 以及子量子线路预207设运行规则,计算待模拟量子线路的量子计算模拟时间。
本实施例还提供一种存储介质,所述存储介质中存储有计算机程序,其中, 所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步 骤的计算机程序:
S100、获取配置的进程和待模拟量子线路;
S200、按预设拆分规则,拆分所述待模拟量子线路,构建子量子线路;
S300、确定各子量子线路包含的量子比特的量子态在所述进程中的分布;
S400、根据各所述量子态在所述进程中的分布,确定各所述子量子线路中 的量子逻辑门作用的量子比特所对应的成组量子态在所述进程中的分布方式;
S500、确定各所述分布方式所对应的量子逻辑门操作占用时间,其中,所 述量子逻辑门操作占用时间为:所述待模拟线路在模拟运行时所述量子逻辑门 作用于量子比特占用的执行时间;
S600、根据各所述分布方式所对应的量子逻辑门操作占用时间,计算各子 量子线路包含的量子逻辑门操作总占用时间;
S700、根据各子量子线路包含的量子逻辑门操作总占用时间,以及子量子 线路预设运行规则,计算待模拟量子线路的量子计算模拟时间。
本发明实施例还提供一种电子装置,包括存储器和处理器,所述存储器中 存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一 项方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该 传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以 下步骤:
S100、获取配置的进程和待模拟量子线路;
S200、按预设拆分规则,拆分所述待模拟量子线路,构建子量子线路;
S300、确定各子量子线路包含的量子比特的量子态在所述进程中的分布;
S400、根据各所述量子态在所述进程中的分布,确定各所述子量子线路中 的量子逻辑门作用的量子比特所对应的成组量子态在所述进程中的分布方式;
S500、确定各所述分布方式所对应的量子逻辑门操作占用时间,其中,所 述量子逻辑门操作占用时间为:所述待模拟线路在模拟运行时所述量子逻辑门 作用于量子比特占用的执行时间;
S600、根据各所述分布方式所对应的量子逻辑门操作占用时间,计算各子 量子线路包含的量子逻辑门操作总占用时间;
S700、根据各子量子线路包含的量子逻辑门操作总占用时间,以及子量子 线路预设运行规则,计算待模拟量子线路的量子计算模拟时间。
本实施例通过按预设拆分规则将待模拟量子线路拆分构建子量子线路,再 根据预设运行规则运行模拟各子量子线路以完成对待模拟量子线路的模拟运行, 由于子量子线路是由不同的量子逻辑门按次序形成的,因此,模拟运行该子量 子线路所需的时间为该子量子线路中各量子逻辑门操作的占用时间之和。
基于此,本实施例通过获取配置的进程和待模拟量子线路,并按预设拆分 规则将待模拟量子线路拆分构建子量子线路,确定该各子量子线路包含的量子 比特的量子态在所述进程中的分布,在此基础上确定子量子线路中各量子逻辑 门作用的量子比特对应的成组量子态在所述进程中的分布方式,然后进一步确 定各所述分布方式所对应的量子逻辑门操作占用时间,进而计算出子量子线路中所有量子逻辑门操作总占用时间,再基于预设运行规则,计算待模拟量子线 路的量子计算模拟时间,为使用者分析该次量子计算模拟的时间需求并进行调 整,提供了参考。

Claims (13)

1.一种预估量子计算模拟时间的方法,包括:
获取配置的进程和待模拟量子线路;
按预设拆分规则,拆分所述待模拟量子线路,构建子量子线路;
确定各子量子线路包含的量子比特的量子态在所述进程中的分布;
根据各所述量子态在所述进程中的分布,确定各所述子量子线路中的量子逻辑门作用的量子比特所对应的成组量子态在所述进程中的分布方式;
确定各所述分布方式所对应的量子逻辑门操作占用时间,其中,所述量子逻辑门操作占用时间为:所述子量子线路在模拟运行时所述量子逻辑门作用于量子比特占用的执行时间;
根据各所述分布方式所对应的量子逻辑门操作占用时间,计算各子量子线路包含的量子逻辑门操作总占用时间;
根据各子量子线路包含的量子逻辑门操作总占用时间,以及子量子线路预设运行规则,计算待模拟量子线路的量子计算模拟时间。
2.根据权利要求1所述的预估量子计算模拟时间的方法,其特征在于,所述待模拟量子线路包含单量子逻辑门和/或双量子逻辑门。
3.根据权利要求1所述的预估量子计算模拟时间的方法,其特征在于,所述按预设规则,拆分所述待模拟量子线路,构建子量子线路,包括:
判断所述待模拟量子线路中是否包含双量子逻辑门;其中,所述待模拟量子线路包括:待模拟量子线路的前预设数量个量子比特所处的第一部分量子线路和其余量子比特所处的第二部分量子线路;
若包含双量子逻辑门,判断每一双量子逻辑门作用的两量子比特是否分别处于第一部分量子线路和第二部分量子线路中;
若每一双量子逻辑门作用的两量子比特均不分别处于第一部分量子线路和第二部分量子线路中,将所述待模拟量子线路的第一部分量子线路确定为一子量子线路,第二部分量子线路确定为另一子量子线路;其中,各条子量子线路中的量子比特的比特位编号均从0依序编排。
4.根据权利要求3所述的预估量子计算模拟时间的方法,其特征在于,所述方法还包括:
若不包含双量子逻辑门,将所述待模拟量子线路的第一部分量子线路确定为一子量子线路,第二部分量子线路确定为另一子量子线路;其中,各条子量子线路中的量子比特的比特位编号均从0依序编排。
5.根据权利要求3所述的预估量子计算模拟时间的方法,其特征在于,所述方法还包括:
若存在双量子逻辑门所作用的两量子比特分别处于第一部分量子线路和第二部分量子线路中,判断该存在的各双量子逻辑门是否均为特定种类的双量子逻辑门;
若均为特定种类的双量子逻辑门,针对每一特定种类的双量子逻辑门,将该双量子逻辑门拆分为第一预设单门、第二预设单门和特定单量子逻辑门,并生成当前量子线路的副本,将所述第一预设单门添加到当前量子线路中,将所述第二预设单门和特定单量子逻辑门添加到当前量子线路的副本中;
其中,所述第一预设单门和所述第二预设单门作用的量子比特均为该双量子逻辑门的控制比特,所述特定单量子逻辑门作用的量子比特为该双量子逻辑门的操作比特,所述特定单量子逻辑门由该双量子逻辑门的种类确定;
拆分当前添加完成的所有新量子线路,将每一新量子线路对应的当前第一部分量子线路及第二部分量子线路,均确定为子量子线路;其中,各条子量子线路中的量子比特的比特位编号均从0依序编排。
6.根据权利要求1所述的预估量子计算模拟时间的方法,其特征在于,所述确定各子量子线路包含的量子比特的量子态在所述进程中的分布,包括:
确定各所述进程的编号和各子量子线路中包含的量子比特;
确定各所述子量子线路中包含的量子比特的量子态和各所述量子态的下标值,所述下标值为所述量子态对应的十进制值;
根据所有所述量子态的下标值和各所述进程的编号,将所有所述量子态依次分配至各所述进程。
7.根据权利要求1所述的预估量子计算模拟时间的方法,其特征在于,所述根据各所述量子态在所述进程中的分布,确定各所述子量子线路中的量子逻辑门作用的量子比特所对应的成组量子态在所述进程中的分布方式,包括:
获取各所述子量子线路包含的量子逻辑门;
确定各所述量子逻辑门操作的量子比特所对应的成组量子态;
根据所述成组量子态在所述进程中的分布,确定各所述量子逻辑门操作的量子比特所对应的成组量子态在所述进程中的分布方式。
8.根据权利要求1所述的预估量子计算模拟时间的方法,其特征在于,所述确定各所述分布方式所对应的量子逻辑门操作占用时间,包括:
获取预设量子逻辑门作用的量子比特所对应的成组量子态在所述进程中预设分布方式:
确定各所述预设分布方式时所对应的预设量子逻辑门操作占用时间;
根据各所述量子逻辑门操作的量子比特所对应的成组量子态在所述进程中的分布方式,确定与各所述分布方式对应的预设分布方式;
根据各所述分布方式对应的预设分布方式所对应的预设量子逻辑门操作占用时间,确定各所述分布方式所对应的量子逻辑门操作占用时间。
9.根据权利要求8所述的预估量子计算模拟时间的方法,其特征在于,所述确定各所述预设分布方式时所对应的预设量子逻辑门操作占用时间,包括:
初始化所述预设量子逻辑门作用的量子比特所对应的成组量子态;
执行所述预设量子逻辑门操作,并同时启动计时器;
当所述预设量子逻辑门操作执行完毕,获得所述计时器的计时结果;
根据所述计时结果,确定所述预设分布方式时所对应的预设量子逻辑门操作占用时间。
10.根据权利要求1所述的预估量子计算模拟时间的方法,其特征在于,所述根据各子量子线路包含的量子逻辑门的总占用时间,以及子量子线路预设运行规则,计算待模拟量子线路的量子计算模拟时间,包括:
根据子量子线路预设运行规则,确定每次运行的子量子线路;
根据每次运行的子量子线路以及各子量子线路包含的量子逻辑门的总占用时间,确定每次运行的时间;
根据每次运行的时间,确定量子计算模拟时间。
11.一种预估量子计算模拟时间的系统,包括:
第一获取模块,用于获取配置的进程和待模拟量子线路;
第一构建模块,用于按预设拆分规则,拆分所述待模拟量子线路,构建子量子线路;
第一确定模块,用于确定各子量子线路包含的量子比特的量子态在所述进程中的分布;
第二确定模块,用于根据各所述量子态在所述进程中的分布,确定各所述子量子线路中的量子逻辑门作用的量子比特所对应的成组量子态在所述进程中的分布方式:
第三确定模块,用于确定各所述分布方式所对应的量子逻辑门操作占用时间,其中,所述量子逻辑门操作占用时间为:所述子量子线路在模拟运行时所述量子逻辑门作用于量子比特占用的执行时间;
第一计算模块,用于根据各所述分布方式所对应的量子逻辑门操作占用时间,计算各子量子线路包含的量子逻辑门操作总占用时间;
第二计算模块,用于根据各子量子线路包含的量子逻辑门操作总占用时间,以及子量子线路预设运行规则,计算待模拟量子线路的量子计算模拟时间。
12.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至10任一项中所述的方法。
13.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至10任一项中所述的方法。
CN201911406483.4A 2019-12-31 2019-12-31 预估量子计算模拟时间的方法、系统 Active CN111563598B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911406483.4A CN111563598B (zh) 2019-12-31 2019-12-31 预估量子计算模拟时间的方法、系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911406483.4A CN111563598B (zh) 2019-12-31 2019-12-31 预估量子计算模拟时间的方法、系统

Publications (2)

Publication Number Publication Date
CN111563598A CN111563598A (zh) 2020-08-21
CN111563598B true CN111563598B (zh) 2023-04-25

Family

ID=72074035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911406483.4A Active CN111563598B (zh) 2019-12-31 2019-12-31 预估量子计算模拟时间的方法、系统

Country Status (1)

Country Link
CN (1) CN111563598B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114757357B (zh) * 2020-12-29 2023-06-02 合肥本源量子计算科技有限责任公司 量子线路的振幅估计方法、装置、存储介质及电子装置
CN115271079B (zh) * 2021-04-29 2024-07-16 本源量子计算科技(合肥)股份有限公司 量子线路的替换方法、装置、介质及量子计算机操作系统
CN115730669B (zh) * 2021-08-30 2024-06-14 本源量子计算科技(合肥)股份有限公司 一种量子线路的处理方法、装置及量子计算机操作系统
CN118195016A (zh) * 2022-12-13 2024-06-14 华为技术有限公司 量子计算的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018074818A1 (ko) * 2016-10-18 2018-04-26 한국전자통신연구원 서로 다른 두 개의 양자 오류 정정 부호로 인코딩된 논리적 벨 양자 상태를 구현하는 양자 회로 및 방법
CN108154240A (zh) * 2017-12-29 2018-06-12 合肥本源量子计算科技有限责任公司 一种低复杂度的量子线路模拟系统
CN110188885A (zh) * 2019-06-28 2019-08-30 合肥本源量子计算科技有限责任公司 一种量子计算模拟方法、装置、存储介质和电子装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10565514B2 (en) * 2016-03-31 2020-02-18 Board Of Regents, The University Of Texas System System and method for emulation of a quantum computer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018074818A1 (ko) * 2016-10-18 2018-04-26 한국전자통신연구원 서로 다른 두 개의 양자 오류 정정 부호로 인코딩된 논리적 벨 양자 상태를 구현하는 양자 회로 및 방법
CN108154240A (zh) * 2017-12-29 2018-06-12 合肥本源量子计算科技有限责任公司 一种低复杂度的量子线路模拟系统
CN110188885A (zh) * 2019-06-28 2019-08-30 合肥本源量子计算科技有限责任公司 一种量子计算模拟方法、装置、存储介质和电子装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
范洪强 ; 胡滨 ; 袁征 ; .用经典计算机模拟量子计算机.密码学报.2018,(03),全文. *

Also Published As

Publication number Publication date
CN111563598A (zh) 2020-08-21

Similar Documents

Publication Publication Date Title
CN111563598B (zh) 预估量子计算模拟时间的方法、系统
CN110826719B (zh) 一种量子程序的处理方法、装置、存储介质和电子装置
TW202022644A (zh) 一種運算裝置和運算方法
CN111563599B (zh) 一种量子线路的分解方法、装置、存储介质及电子装置
CN112114776A (zh) 一种量子乘法运算方法、装置、电子装置及存储介质
CN111160560B (zh) 预估模拟量子计算所需资源的方法、系统
CN107301453A (zh) 支持离散数据表示的人工神经网络正向运算装置和方法
CN111461335B (zh) 基于mpi多进程的含噪声单量子逻辑门实现方法及装置
CN110908799A (zh) 一种分布式训练中的通信方法、装置、设备、介质
CN114819163B (zh) 量子生成对抗网络的训练方法、装置、介质及电子装置
CN113222132B (zh) 乘法器、数据处理方法、芯片、计算机设备及存储介质
CN111931441B (zh) Fpga快速进位链时序模型的建立方法、装置以及介质
CN109697083A (zh) 数据的定点化加速方法、装置、电子设备及存储介质
CN112214200A (zh) 一种量子减法运算方法、装置、电子装置及存储介质
CN113128015A (zh) 预估单振幅模拟量子计算所需资源的方法和系统
CN105608056A (zh) 一种基于Flink的大规模矩阵并行化的计算方法
CN115879543A (zh) 一种模型训练方法、装置、设备、介质及系统
CN114692880B (zh) 一种量子线路中量子态振幅的模拟方法及装置
CN114881238A (zh) 量子鉴别器的构造方法、装置、介质及电子装置
CN114881239A (zh) 量子生成器的构造方法、装置、介质及电子装置
CN111291893A (zh) 调度方法、调度系统、存储介质和电子装置
Vallejo-Mancero et al. Real-time display of spiking neural activity of SIMD hardware using an HDMI interface
CN114372583B (zh) 基于机器学习框架的量子程序优化方法及相关设备
CN112162725B (zh) 一种量子除法运算方法、装置、电子装置及存储介质
CN117807082B (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