CN116167446B - 量子计算处理方法、装置及电子设备 - Google Patents
量子计算处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116167446B CN116167446B CN202310183335.0A CN202310183335A CN116167446B CN 116167446 B CN116167446 B CN 116167446B CN 202310183335 A CN202310183335 A CN 202310183335A CN 116167446 B CN116167446 B CN 116167446B
- Authority
- CN
- China
- Prior art keywords
- quantum
- list
- target
- matrix
- sub
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 26
- 239000011159 matrix material Substances 0.000 claims description 335
- 238000005259 measurement Methods 0.000 claims description 156
- 239000013598 vector Substances 0.000 claims description 109
- 238000000034 method Methods 0.000 claims description 47
- 239000002096 quantum dot Substances 0.000 claims description 33
- 238000003860 storage Methods 0.000 claims description 15
- 230000009467 reduction Effects 0.000 claims description 14
- 238000012216 screening Methods 0.000 claims description 12
- 238000009826 distribution Methods 0.000 claims description 5
- 238000010606 normalization Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 20
- 238000004088 simulation Methods 0.000 description 19
- 238000004364 calculation method Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
- G06N10/20—Models of quantum computing, e.g. quantum circuits or universal quantum computers
-
- 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
- G06N10/60—Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
-
- 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)
- Superconductor Devices And Manufacturing Methods Thereof (AREA)
Abstract
本公开提供了一种量子计算处理方法、装置及电子设备,涉及量子计算技术领域,具体涉及量子电路技术领域。具体实现方案为:获取量子电路的量子操作信息;基于量子操作信息,确定量子电路的宽度;基于宽度,确定量子电路的第一量子态,第一量子态包括:用于表征M个子量子态的M个第一矩阵,以及与M个第一矩阵一一对应的M个第一列表,第一列表按照第一矩阵所表征的排列顺序存储子量子态对应的量子系统标识;基于量子操作信息和第一量子态,执行对M个子量子态中子量子态的量子操作,得到量子计算任务的任务结果;量子操作包括第一量子操作,第一量子操作中,基于第一量子操作的演化算子信息和子量子态进行含噪量子态的操作。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及量子计算技术领域,具体涉及一种量子计算处理方法、装置及电子设备。
背景技术
含噪量子计算的经典模拟中,通常使用矩阵来存储量子态信息,存储1个量子比特信息需要的矩阵大小为2×2,存储K个量子比特的信息需要的矩阵大小则为2K×2K,即存储量子态信息的矩阵维数随对应比特数呈指数增长,并且通常是按照默认的量子系统顺序对用于表征量子态的矩阵进行存储。
因此,在含噪量子计算的经典模拟中,需要反复对大规模的矩阵进行操作,且基于量子态信息进行量子态操作之后,通常会对得到的矩阵进行额外操作,以使得矩阵对应的系统顺序和默认系统顺序一致。
发明内容
本公开提供了一种量子计算处理方法、装置及电子设备。
根据本公开的第一方面,提供了一种量子计算处理方法,包括:
获取量子电路的量子操作信息,所述量子电路用于执行量子计算任务;
基于所述量子操作信息,确定所述量子电路的宽度;
基于所述宽度,确定所述量子电路的第一量子态,所述第一量子态包括:用于表征M个子量子态的M个第一矩阵,以及与所述M个第一矩阵一一对应的M个第一列表,所述M个子量子态指示所述量子电路的输入态,所述第一列表按照所述第一矩阵所表征的排列顺序存储所述子量子态对应的量子系统标识,M为正整数;
基于所述量子操作信息和所述第一量子态,执行对所述M个子量子态中子量子态的量子操作,得到所述量子计算任务的任务结果;
其中,所述量子操作包括第一量子操作,所述第一量子操作中,基于所述第一量子操作的演化算子信息和所述子量子态进行含噪量子态的操作。
根据本公开的第二方面,提供了一种量子计算处理装置,包括:
获取模块,用于获取量子电路的量子操作信息,所述量子电路用于执行量子计算任务;
第一确定模块,用于基于所述量子操作信息,确定所述量子电路的宽度;
第二确定模块,用于基于所述宽度,确定所述量子电路的第一量子态,所述第一量子态包括:用于表征M个子量子态的M个第一矩阵,以及与所述M个第一矩阵一一对应的M个第一列表,所述M个子量子态指示所述量子电路的输入态,所述第一列表按照所述第一矩阵所表征的排列顺序存储所述子量子态对应的量子系统标识,M为正整数;
量子操作模块,用于基于所述量子操作信息和所述第一量子态,执行对所述M个子量子态中子量子态的量子操作,得到所述量子计算任务的任务结果;
其中,所述量子操作包括第一量子操作,所述第一量子操作中,基于所述第一量子操作的演化算子信息和所述子量子态进行含噪量子态的操作。
根据本公开的第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器能够执行第一方面中的任一项方法。
根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行第一方面中的任一项方法。
根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现第一方面中的任一项方法。
根据本公开的技术解决了含噪量子电路的运行效率比较低的问题,提高了含噪量子电路的运行效率,从而提高了量子计算任务的执行效率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开第一实施例的量子计算处理方法的流程示意图;
图2是本实施例中一示例的用于表征量子态信息的数据结构的示意图;
图3是根据本公开第二实施例的量子计算处理装置的结构示意图;
图4是用来实施本公开的实施例的示例电子设备的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
第一实施例
如图1所示,本公开提供一种量子计算处理方法,包括如下步骤:
步骤S101:获取量子电路的量子操作信息,所述量子电路用于执行量子计算任务。
本实施例中,量子计算处理方法涉及量子计算技术领域,尤其涉及量子电路技术领域,其可以广泛应用于量子计算处理场景下。本公开实施例的量子计算处理方法,可以由本公开实施例的量子计算处理装置执行。本公开实施例的量子计算处理装置可以配置在任意电子设备中,以执行本公开实施例的量子计算处理方法。
量子计算利用量子世界中特有的运行规律,提供了一条全新的并且非常有前景的信息处理方式。目前来看,量子计算机仍处于其开发的初级阶段,所以制造、运行和维护的成本极其昂贵。幸运的是,使用经典计算机模拟量子算法的方式足以满足大部分的科研、教学等需求。因此,如何提高经典计算机对量子算法的模拟能力是业界非常关心的一个问题。
含噪量子计算的经典模拟中,通常使用矩阵来存储量子态信息。存储1个量子比特信息需要的列向量的大小为2×2,存储K个量子比特的信息需要的列向量大小则为2K×2K,即存储量子态信息的矩阵维数随对应比特数呈指数增长。因此,在含噪量子计算的经典模拟中,需要反复对这样一个超大规模的矩阵进行矩阵操作。
相关技术中,量子态的矩阵表示需要确定其量子系统的顺序,例如|0>1|1>2与|1>2|0>1在物理上表示同一个量子态,即量子系统1处于零态,量子系统2处于一态。但是如果忽略了量子系统的标识,如|0>|1>和|1>|0>,则表示不同的量子态。为了避免混淆,通常会规定一套默认的系统顺序,例如按照量子态从左到右的书写顺序,左边第一位开始对应第一个量子比特的量子态,第二位对应第2个量子比特的量子态,依次类推。规定默认顺序之后,所有量子态的矩阵表示都需要遵从这个顺序。
然而,对量子态进行运算时,不可避免的会打乱量子系统的顺序,为了在操作后量子系统和默认系统顺序一致,需要进行一些额外的操作,导致量子电路的运行效率比较低。另外,通过约定量子系统默认顺序存储用于表征量子态的矩阵的方式,并不适用于量子系统个数会变化的场景,例如,带适应性量子测量的算法,测量一部分量子态,并通过测量结果调控其他量子态的演化。并且,每一次的量子态演化,包括作用每一个量子门或者每一个量子测量,都需要对量子态的矩阵进行多次变换。对这样超大规模的矩阵进行反复高频次的变换操作,极大地限制了含噪量子计算的经典模拟效率,即极大地限制了量子计算任务的执行效率。
可以通过同时存储和操作量子态的矩阵及其对应量子系统的列表,在对量子态进行运算时通过置换量子态的量子系统顺序来有效减少运算操作次数。然而,在进行量子态的演化和测量时,需要将对应的演化和测量操作作用在完整的量子态上,当量子系统涉及量子比特数目较多时,该过程仍需消耗大量的计算资源。
而本实施例的目的即在于通过存储子量子态的形式,使得运算操作只需在相应的子量子态的矩阵上进行,而不用总是对量子电路的完整量子态的2K×2K的矩阵上进行运算,这样能够帮助减少大矩阵进行运算操作的计算复杂度,从而提高含噪量子电路的经典模拟效率,进而提高量子计算任务的执行效率。以下对此进行详细说明。
在步骤S101中,量子电路可以为含噪标准量子电路,也可以为含噪广义量子电路,即含噪动态量子电路。该量子电路用于执行量子计算任务,如量子网络协议设计任务、量子纠错码协议设计任务等。
其中,含噪指的是量子电路的运行模拟过程中,不可避免会引入量子态噪声,称此类量子电路为含噪量子电路,相应的,含噪量子电路的量子操作为含噪量子态的操作。
标准量子电路指的是量子测量操作均位于量子门操作之后的量子电路,而动态量子电路指的是包括重置操作、中间测量和由经典信息控制的量子门操作的量子电路。以下实施例中,量子电路将以动态量子电路为例进行详细说明。
量子操作信息可以包括含噪量子电路的运行过程中所需要执行的量子操作,其中,含噪量子电路的运行过程中,量子操作可以包括含噪量子态的演化操作、含噪量子态的量子测量操作和对含噪量子态的重置操作等。
量子操作信息可以包括一个、两个甚至是多个量子操作的相关信息,且在包括两个甚至是多个量子操作的相关信息的情况下,可以按照量子电路中量子操作的模拟顺序排列这些信息,并在后续执行量子操作时按照模拟顺序依次处理。
可以解析用于表征量子电路的信息如量子电路图来获取量子操作信息,或者,获取预先存储的量子电路的量子操作信息。该量子操作信息可以通过有序列表来表示,该有序列表包括按照量子电路的运行顺序存储的操作指令,该操作指令用于指示含噪量子电路的量子操作。
步骤S102:基于所述量子操作信息,确定所述量子电路的宽度。
该步骤中,可以获取有序列表中的操作指令,该操作指令可以包括量子操作所针对的量子位,基于目标量子位即可以为确定含噪量子电路的宽度,目标量子位可以为量子操作所针对的量子位中最大的量子位。
比如,目标量子位为5时,则可以确定量子电路的宽度为6。
步骤S103:基于所述宽度,确定所述量子电路的第一量子态,所述第一量子态包括:用于表征M个子量子态的M个第一矩阵,以及与所述M个第一矩阵一一对应的M个第一列表,所述M个子量子态指示所述量子电路的输入态,所述第一列表按照所述第一矩阵所表征的排列顺序存储所述子量子态对应的量子系统标识。
其中,M为正整数;
注意到,量子电路的每一步演化和测量只是针对量子电路中含噪量子态的个别量子系统进行操作,例如,常用的单比特量子门和双比特量子门只作用于一个或者两个量子比特上,量子测量只作用在一个量子比特上。如果这些量子比特与其他量子比特相互独立(即处于张量积形式),则实际的运算将与其他量子比特无关。
考虑到该计算特性,本实施例中可以提出一种新的量子态数据结构,尽可能以子系统的形式存储量子态数据,并且在每步操作时,仅对相关的子系统进行运算,进而大大降低运算的时间和空间复杂度。
例如,量子电路包括K个量子系统,即K个量子比特,相关技术中,存储的是一个K比特的量子态,如果其可以写成子系统上量子态的张量积形式,那么只需要分别存储子系统的量子态的矩阵即可,而无需存储维数为2K×2K的矩阵。比如,写成一个Q比特的子系统和一个K-Q比特的子系统上量子态的张量积形式,则只需要分别存储一个2Q×2Q和一个2K-Q×2K-Q的矩阵即可。
也即,如果一个量子态的不同系统之间相互独立,可以将该量子态由相互独立的子量子态substate进行存储,而每个子量子态分别包含量子态的矩阵matrix以及对应的量子系统标识构成的有序列表systems。如果一个量子态上所有的系统都有关联,则对应的子量子态就是其本身。另外,子量子态自身也可以理解为一个量子态,而其子量子态就是自己本身。
图2是本实施例中一示例的用于表征量子态信息的数据结构的示意图,如图2所示,该数据结构规定用于表征完整量子态的数据包含M个部分,每个部分均表示一个子系统的量子态,称之为子量子态,这M个子量子态可以指示该量子电路的输入态,即这M个子量子态的张量积操作可以得到该量子态的输入态。其中,子量子态为含有噪声的量子态。
其中,每个子量子态可以包括两个子部分,一子部分是量子态矩阵matrix(即第一矩阵),另一子部分是子量子态对应的量子系统标识构成的有序列表systems(即第一列表),这两个子部分的内容一一对应。通过同时存储子量子态的矩阵及其对应量子系统标识的方式,可以在每步操作时,仅对相关的子系统进行运算,这样可以大大降低运算的时间和空间复杂度。
在一可选实施方式中,可以将每个量子系统作为一个子量子态,即若宽度为K,则可以存储K个子量子态,即M等于K。在实际操作中,该数据结构可以用一个列表进行存储,列表中的每一个部分是一个子量子态。可以通过程序语言定义用于表征子量子态的数据结果,以Python为例,可以将子量子态定义为一个类QuantumState,该类有两个类属性,分别为矩阵matrix和系统标识systems,对子量子态的基本操作则可以实现为QuantumState类的类方法。
例如,通常一个量子电路的输入态为零态zero_state,那么一个K比特的量子电路对应的输入态可以用图2所示的数据结构表示为如下式(1)所示:
zero_state = [substate_1, substate_2, … substate_K] (1)
其中,子量子态substate_i的矩阵为[[1,0],[0,0]],量子系统标识systems为[i]。也就是说,只需存储K个2×2的列向量,而不是一个2K×2K的矩阵。
步骤S104:基于所述量子操作信息和所述第一量子态,执行对所述M个子量子态中子量子态的量子操作,得到所述量子计算任务的任务结果;其中,所述量子操作包括第一量子操作,所述第一量子操作中,基于所述第一量子操作的演化算子信息和所述子量子态进行含噪量子态的操作。
该步骤中,可以将第一量子态作为初始态,按照量子操作信息中操作指令的排列顺序执行相应的量子操作,每执行完一个操作指令,可以得到量子电路运行该操作指令后的输出态,如第二量子态,第二量子态与第一量子态的数据结构一样,存储的是子量子态的相关信息。
之后,可以将第二量子态作为下一个操作指令的输入态,继续演化运行该含噪量子电路。相应的,在操作指令运行完成即量子电路演化完成的情况下,可以得到量子计算任务的任务结果。
在量子操作过程中,可以基于操作指令所指示的量子系统的量子位,从M个子量子态中获取包括该量子位的子量子态,并执行对该子量子态的量子操作,如此在对量子态进行操作时,只需从量子态的子量子态中选取相关的部分进行运算即可。
并且,量子操作可以包括第一量子操作,第一量子操作可以为含噪量子态的演化操作或含噪量子态的量子测量操作。
在第一量子操作中,可以基于第一量子操作的演化算子信息和相应的子量子态进行含噪量子态的操作。其中,演化算子信息可以为克劳斯Kraus算子,也可以为超算子,这里不进行具体限定。
比如,在一场景中,量子态的一个基本操作是对指定的量子系统进行相应演化。在含噪量子电路中,一个量子态的演化过程可以用以下映射进行表示,如下式(2)所示。
其中,该映射称为量子操作/量子噪声ε的Kraus表示,ρ为输入量子态的密度矩阵,Ki为Kraus算子,为Ki的复共轭转置算子。
对于给定的Kraus算子,可以通过下列公式计算其对应的超算子S,用下式(3)表示。
其中,为Ki的复共轭算子。
S在运算上可以理解为一个酉矩阵,这样可以通过使用含噪量子态演化的超算子表达形式,将一般量子噪声在量子态密度矩阵上的变换操作规约至其超算子在一个矩阵上的操作,进而可以实现含噪量子电路的运行模拟。
本实施例中,通过在同时存储和操作量子态矩阵及其对应量子系统标识方式的基础上,引入子量子态(substate)的结构,用以提升量子电路模拟的性能以及扩大量子电路模拟的使用场景。这样,运算操作也只需在相应的子量子态的矩阵上进行,而不用总是对完整量子态的2K×2K的矩阵上进行运算,并且又可以减少量子态操作后的额外操作。这在量子电路的运算时的内存存储和中央处理器计算上将带来指数规模的提升。如此,可以提高含噪量子电路的运行效率,提高量子计算任务的执行效率。
并且,通过使用含噪量子态的演化算子信息和子量子态进行含噪量子态的操作,如此可以实现含噪量子电路的运行模拟。
可选的,所述量子操作信息包括指示所述第一量子操作的第一操作指令,所述步骤S104具体包括:
确定所述第一操作指令所针对的量子系统的第一标识列表;
基于所述第一标识列表,从所述M个第一矩阵中筛选得到第一目标矩阵,所述第一目标矩阵为所述M个第一列表中第一目标列表对应的第一矩阵,所述第一目标列表与所述第一标识列表存在交集;
基于所述第一量子操作的演化算子信息和第一子量子态,对所述第一标识列表对应的量子系统进行含噪量子态的操作,得到第二目标矩阵和所述第二目标矩阵对应的第二标识列表,所述第一子量子态基于所述第一目标矩阵和所述第一目标列表确定,所述第一操作指令包括所述第一量子操作的演化算子信息;
基于所述第二目标矩阵和所述第二标识列表,对所述第一量子态进行更新,得到第二量子态,所述第二量子态包括:用于表征N个子量子态的N个第二矩阵,以及与所述N个第二矩阵一一对应的N个第二列表,所述N个子量子态指示所述量子电路运行所述第一操作指令后的输出态,所述第二列表按照所述第二矩阵所表征的排列顺序存储所述子量子态对应的量子系统标识,N为正整数;
基于所述第二量子态,确定所述量子计算任务的任务结果。
本实施方式中,量子操作信息可以包括指示第一量子操作的第一操作指令,第一操作指令可以为量子态演化操作(如量子门操作)或量子测量操作。
第一操作指令中可以包括量子操作所针对的量子系统的量子位,相应的,可以从第一操作指令中获取该量子位,从而可以确定第一操作指令所针对的量子系统的第一标识列表。其中,第一标识列表中可以包括一个量子位,也可以包括两个量子位,这里不进行具体限定。
可以基于第一标识列表中量子系统的量子位,从M个第一列表中获取与第一标识列表存在交集的第一目标列表。若第一操作指令不是排序在第一的操作指令,则在运行完之前的操作指令且更新M个第一列表之后,从更新后的列表中获取与第一标识列表存在交集的第一目标列表。
其中,第一目标列表的数量可以为一个,也可以为两个,这里不进行具体限定。比如,第一操作指令指示是单量子比特操作,第一标识列表可以包括量子位0,则第一目标列表可以为一个,即可以是包括量子位0的第一列表。又比如,第一操作指令指示是双量子比特操作,第一标识列表可以包括量子位1和量子位2,则第一目标列表可以为两个,分别是包括量子位1的第一列表和包括量子位2的第一列表。
在获取到第一目标列表的情况下,可以从M个第一矩阵中筛选得到与第一目标列表对应的第一目标矩阵,相应可以获取到第一操作指令所需要执行量子操作的子量子态。
在一可选实施方式中,若第一操作指令所涉及的子量子态为一个,则将第一目标矩阵和第一目标列表构成的子量子态直接作为第一子量子态,即第一操作指令所操作的量子态。
在另一可选实施方式中,若第一操作指令所涉及的子量子态为至少两个,则可以将至少两个所述第一目标矩阵进行张量积运算,得到第三目标矩阵;并将至少两个第一目标矩阵对应的第一目标列表按照张量积运算的顺序进行合并,得到第三目标矩阵对应的第三标识列表,相应可以将第三目标矩阵和第三标识列表构成的子量子态作为第一子量子态,即第一操作指令所操作的量子态。
之后,针对第一操作指令所操作的量子态,基于第一量子操作的演化算子信息对第一标识列表对应的量子系统进行含噪量子态的操作(如上式(2)或上式(3)所示),得到第二目标矩阵和所述第二目标矩阵对应的第二标识列表,第二目标矩阵和第二目标矩阵对应的第二标识列表即构成量子操作执行完后新的子量子态。
第二目标矩阵的数量可以为一个,也可以为两个,这里不进行具体限定。比如,在一场景中,第一操作指令为量子测量的操作指令时,若第一操作指令所操作的量子态对应至少两个量子系统,则在执行完第一操作指令后,可以得到两个新的子量子态,即可以得到两个第二目标矩阵。
之后,可以基于第二目标矩阵和第二标识列表,对第一量子态进行更新,即更新涉及子系统运算的子量子态部分,得到第二量子态。第二量子态可以包括:用于表征N个子量子态的N个第二矩阵,以及与N个第二矩阵一一对应的N个第二列表,N个子量子态指示所述量子电路运行所述第一操作指令后的输出态。
其中,M可以等于N,M也可以小于N,M也可以大于N,根据第一操作指令的不同,M和N的大小关系也可以不同。比如,第一操作指令为单量子比特操作时,更新后的第二量子态中子量子态的数量与第一量子态中子量子态的数量相同。又比如,第一操作指令为双量子比特操作时,在一场景中由于两个子量子态合并成一个量子态,更新后的第二量子态中子量子态的数量可能小于第一量子态中子量子态的数量。
在更新得到第二量子态的基础上,可以将第二量子态作为新的操作指令的输入态,继续执行相应的量子操作,直至量子操作信息中的操作指令执行完成,得到量子计算任务的任务结果。如量子网络协议设计任务、量子纠错码协议设计任务等。
本实施方式中,通过根据第一操作指令所针对的量子系统的量子位,从第一量子态中获取相应的子量子态进行含噪量子态的操作,并在量子操作完成的情况下,更新量子电路的量子态,直至量子电路的操作指令运行完成,得到量子计算任务的任务结果。如此,在对量子态进行操作时,只需根据操作指令从量子态的子量子态中选取相关的部分进行运算即可,从而实现对操作指令的准确执行。
可选的,所述第一子量子态包括第三目标矩阵和所述第三目标矩阵对应的第三标识列表,所述基于所述第一量子操作的演化算子信息和第一子量子态,对所述第一标识列表对应的量子系统进行含噪量子态的操作,得到第二目标矩阵和所述第二目标矩阵对应的第二标识列表,包括:
对所述第一标识列表进行拷贝,得到第一拷贝列表;以及对所述第三标识列表进行拷贝,得到第二拷贝列表;
对所述第三目标矩阵进行向量化,以构造第二子量子态,所述第二子量子态包括所述第三目标矩阵向量化后得到的第一列向量和所述第二拷贝列表;
基于所述演化算子信息和所述第二子量子态,对所述第一拷贝列表对应的量子系统进行所述第一量子操作,得到第二列向量;
基于所述第二列向量,确定第二目标矩阵和所述第二目标矩阵对应的第二标识列表。
本实施方式中,拷贝一份第一标识列表,得到第一拷贝列表。比如,第一标识列表为[1,2],那么拷贝的一份列表ancilla_labels可以为[ancilla_1,ancilla_2],第一拷贝列表double_labels可以为[1,2,ancilla_1,ancilla_2]。
拷贝一份第三标识列表,得到第二拷贝列表。比如,第三标识列表为[0,1,2],那么拷贝的一份列表ancilla_systems可以为[ancilla_0,ancilla_1,ancilla_2],第二拷贝列表double_systems可以为[0,1,2,ancilla_0,ancilla_1,ancilla_2]。
可以对第三目标矩阵进行向量化,得到第一列向量vec_merged_state_matrix,用下式表示。
vec_merged_state_matrix=reshape(merged_state_matrix,[4^size,1],order="F")。
其中,merged_state_matrix为第三目标矩阵,即第一子量子态的矩阵表示,order="F"为reshape函数的参数,表示将矩阵的每一列进行收尾拼接以获得一个列向量vec_merged_state_matrix(即第一列向量)。
以第一列向量vec_merged_state_matrix为列向量,第二拷贝列表double_systems为系统标识列表,构造第二子量子态。
基于第一量子操作的演化算子信息,对第一拷贝列表所指定的量子系统进行第一量子操作(如量子态演化操作),得到第二列向量。
之后,可以基于第二列向量,确定第二目标矩阵和第二目标矩阵对应的第二标识列表。其中,第一量子操作不同,基于第二列向量,确定第二目标矩阵和第二目标矩阵对应的第二标识列表的方式不同,以下实施方式再对此进行详细说明。
本实施方式中,通过将子量子态的矩阵表示进行向量化,并对子量子态的系统标识列表进行拷贝,以构造列向量表示的量子态,之后基于演化算子信息和列向量表示的子量子态,对第一标识列表拷贝得到的第一拷贝列表指定的量子系统进行第一量子操作。如此,可以实现含噪量子态的操作。
可选的,所述第一量子操作为量子态演化操作,所述基于所述演化算子信息和所述第二子量子态,对所述第一拷贝列表对应的量子系统进行所述第一量子操作,得到第二列向量,包括:
基于所述演化算子信息,确定所述量子态演化操作的第一超算子;
将所述第二子量子态作为所述量子态演化操作的输入态,基于所述第一超算子对所述第一拷贝列表对应的量子系统进行量子态演化操作,得到第二列向量。
本实施方式中,第一量子操作为量子态演化操作。
在一可选实施方式中,演化算子信息为Kraus算子,可以基于Kraus算子,利用上式(2)确定量子态演化操作的超算子即第一超算子。在另一可选实施方式中,演化算子信息即为量子态演化操作的超算子。
可以将第二子量子态作为量子态演化操作的输入态,基于第一超算子对第一拷贝列表对应的量子系统进行量子态演化操作,得到第二列向量。具体可以将第一超算子在运算上理解为一个酉矩阵,将其作用在第二子量子态中第一拷贝列表所指定的量子系统的量子态上。
如此,可以通过使用含噪量子态演化的超算子表达形式,将一般量子噪声在量子态密度矩阵上的变换操作规约至其超算子在一个矩阵上的操作,进而可以实现含噪量子电路的运行模拟,简化含噪量子态的操作过程,以及减少含噪量子态的操作计算量。
可选的,所述基于所述第二列向量,确定第二目标矩阵和所述第二目标矩阵对应的第二标识列表,包括:
基于所述第二拷贝列表,对所述第二列向量进行量子系统的前置操作,得到第三列向量,所述第三列向量对应的量子系统的标识列表为所述第二拷贝列表;
对所述第三列向量进行矩阵还原,得到第二目标矩阵;
将所述第三标识列表确定为所述第二标识列表。
本实施方式中,在第一量子操作为量子态演化操作的情况下,可以基于量子系统的前置操作,将第二列向量按照第二拷贝列表的系统顺序进行系统置换,得到第三列向量。
量子系统的前置操作的过程如下:
输入:量子态的列向量vector(即第二列向量),量子系统标识列表systems(第二列向量对应的标识列表),需要前置的量子系统system(第二拷贝列表中的量子系统);
输出:系统前置后的量子态列向量以及对应系统标识列表。
步骤1:记量子系统列表systems的长度为size;
步骤2:在系统标识列表systems中找到需要前置的系统system对应的位置指标,记为index;
步骤3:如果index=0,则表示系统已经在最前面,直接返回vector和systems;如果index=size–1,表示需要前置的系统在systems的最后一位,可以定义变量new_shape=[2size-1,2],new_axis=[1,0];如果0<index<size-1,表示需要前置的系统在systems中间,可以定义变量new_shape=[2index,2,2size-index-1],new_axis=[1,0,2];
步骤4:通过reshape和transpose函数对量子态列向量进行运算获得新的向量,new_vector=reshape(transpose(reshape(vector,new_shape),new_axis),[2size,1]);
步骤5:将system从systems列表中删除,并将system添加到删除后的列表的最前面,记获得的新列表为new_systems;
步骤6:返回量子态列向量的计算结果new_vector和对应的系统标识列表new_systems。
需要说明的是,如果需要将量子系统调整到指定顺序(即调整到第二拷贝列表中的系统顺序),而不仅仅是将某一个系统提前的话,可以通过反复调用量子系统的前置操作来实现。例如,将量子系统[3,2,1]调整到[1,2,3],可以先调用量子系统的前置操作将量子系统2提前,获得对应的量子系统顺序[2,3,1],在此基础之上,再将量子系统1提前,从而获得量子系统顺序[1,2,3]对应的量子态。
之后,可以通过reshape函数将第三列向量进行矩阵还原,得到第二目标矩阵,并将第三标识列表确定为第二目标矩阵对应的第二标识列表。如此,在量子态演化操作的过程中,可以实现第二目标矩阵和第二标识列表的确定,即得到量子态演化操作完成后的子量子态输出。
可选的,所述第一目标矩阵的数量为至少两个,所述方法还包括:
对至少两个所述第一目标矩阵进行张量积运算,得到所述第三目标矩阵;
将至少两个所述第一目标矩阵对应的第一目标列表按照所述张量积运算的顺序进行合并,得到所述第三标识列表。
本实施方式中,在第一目标矩阵的数量为至少两个的情况下,由于第一操作指令中,不同子量子态之间的量子系统存在关联,因此需要建立第一目标矩阵对应的子量子态之间的关联。
具体可以对至少两个第一目标矩阵进行张量积运算,得到第三目标矩阵;将至少两个第一目标矩阵对应的第一目标列表按照张量积运算的顺序进行合并,得到所述第三标识列表。如此,可以建立不同子量子态之间的关联,构建一个新的子量子态,以实现第一操作指令的执行。
量子态演化操作的完整过程如下:
输入:量子态的子态列表substates(可以为第一量子态的子态列表),需要演化的量子系统标识列表labels(即第一标识列表),对应量子操作的Kraus算子或超算子;
输出:演化后量子态的子态列表(可以为第二量子态的子态列表)。
步骤1:初始化两个空列表relevant_substates,other_substates;
步骤2:遍历搜索量子态的子态列表substates,如果当前子态系统的标识列表与需要演化的量子系统的标识列表labels有公共元素,则将该子态加入列表relevant_substates中;反之,若没有公共元素,则将该子态加入列表other_substates中;
步骤3:对relevant_substates中各元素进行合并,生成一个新的量子态merged_state(即第一子量子态)用于后续演化操作,该量子态的矩阵通过relevant_substates中各元素的张量积运算得到,其量子系统标识列表为对relevant_substates中各元素的量子系统标识列表依次按顺序合并所得的结果;记merged_state的比特数为size;
步骤4:拷贝一份merged_state中的系统标识列表,并对每个标号增加前缀“ancilla”,拷贝的标识列表为ancilla_systems,将merged_state的系统标识列表(即第三标识列表)与ancilla_systems进行拼接,得到标识列表double_systems(即第二拷贝列表);
例如:merged_state的系统标识列表为[0,1,2],那么ancilla_systems为[ancilla_0,ancilla_1,ancilla_2],double_systems为[0,1,2,ancilla_0,ancilla_1,ancilla_2];
步骤5:对labels列表进行上述类似操作,拷贝一份labels列表并对每个标号增加前缀“ancilla”,拷贝的标识列表为ancilla_labels,将labels的系统标识列表与ancilla_labels进行拼接,得到标识列表double_labels(即第一拷贝列表);
例如:labels的系统标识列表为[1,2],那么ancilla_labels为[ancilla_1,ancilla_2],double_labels为[1,2,ancilla_1,ancilla_2];
步骤6:将merged_state的量子态矩阵进行向量化,即:
vec_merged_state_matrix=reshape(merged_state_matrix,[4^size,1],order="F");
其中,merged_state_matrix为merged_state的量子态矩阵,order="F"为reshape函数的参数,表示将矩阵的每一列进行收尾拼接以获得一个列向量;
步骤7:以vec_merged_state_matrix为列向量,double_systems为系统标识列表,构造量子态,并对double_labels所指定的系统进行量子态演化,演化矩阵为超算子。如果输入的是Kraus算子,则可根据上式(3)计算其超算子。
步骤8:基于量子系统的前置操作,将上述演化后的量子态按照double_systems的系统顺序进行系统置换,记输出的量子态列向量为vec_evolved(即第三列向量);
步骤9:将演化后的列向量进行矩阵还原,即:
matrix_evolved=reshape(vec_evolved,[2^size,2^size],order="F");其中,matrix_evolved即为第二目标矩阵;
步骤10:将merged_state的量子态矩阵更新为matrix_evolved,系统标识列表保持不变(即系统标识列表为第三标识列表);
步骤11:将更新后的merged_state添加到列表other_substates中以得到量子态经过演化后新的子态列表;
步骤12:返回other_substates作为输出结果。
需要说明的是,如果需要对量子态进行一连串的演化,只需要重复调用上面的量子态演化操作的过程即可。另外,量子态演化操作的过程体现出了和常规模拟方式的核心区别。具体地,通常的模拟方式由于只考虑量子态矩阵的存储,并默认所有的量子态对应系统标号为从0开始的连续正整数,在完成量子态的演化后,需要继续施加额外的操作,调整量子态的系统顺序与默认顺序一致。而本实施例中通过同时对矩阵和系统标识列表进行操作,以减少不必要的矩阵运算。
此外,本实施例通过存储子态的方式对量子态进行存储,这样无需对完整的量子态作用量子态演化操作,而只需对演化所涉及的相关量子系统进行运算即可,从而降低计算复杂度,提高计算效率。并且,可以实现含噪的量子态演化运算。
可选的,所述第一量子操作为量子测量操作,所述演化算子信息包括测量基的第二超算子,所述基于所述演化算子信息和所述第二子量子态,对所述第一拷贝列表对应的量子系统进行所述第一量子操作,得到第二列向量,包括:
基于第三拷贝列表,将所述第一列向量进行量子系统的前置操作,得到第四列向量,所述第三拷贝列表基于所述第二拷贝列表确定,所述第三拷贝列表中,所述第一拷贝列表对应的量子系统标识位于首位;
基于所述第四列向量和所述第二超算子,对所述第一拷贝列表对应的量子系统进行量子测量操作,得到第二列向量。
本实施方式中,第一量子操作可以为量子测量操作。
在得到第二拷贝列表的情况下,可以将第二拷贝列表所指定的系统标识移到最前面并保持其他系统标识不变,得到第三拷贝列表。其中,所指定的系统标识可以为第一拷贝列表对应的量子系统。
可以基于第三拷贝列表,调用量子系统的前置操作过程,将第一列向量进行量子系统的前置操作,得到第四列向量,第四列向量的系统标识顺序与第三拷贝列表一致。
测量基的第二超算子可以为s0=[[1,0,0,0]]和s1=[[0,0,0,1]]。
可以基于第四列向量和第二超算子,对第一拷贝列表对应的量子系统进行量子测量操作,得到第二列向量。如此,可以实现第二列向量的确定。
可选的,所述基于所述第二列向量,确定第二目标矩阵和所述第二目标矩阵对应的第二标识列表,包括:
对所述第二列向量进行矩阵还原,得到第四目标矩阵;
基于所述第四目标矩阵,确定第二目标矩阵和所述第二目标矩阵对应的第二标识列表。
本实施方式中,在第一量子操作为量子测量操作的情况下,可以利用reshape函数对第二列向量进行矩阵还原,得到第四目标矩阵。之后,可以基于第四目标矩阵确定第二目标矩阵和第二目标矩阵对应的第二标识列表。如此,在量子测量操作的过程中,可以实现第二目标矩阵和第二标识列表的确定,即得到量子测量操作完成后的子量子态输出。
可选的,所述测量基包括第一测量基和第二测量基,所述第一测量基用于针对第一测量结果进行量子测量操作,所述第二测量基用于针对第二测量结果进行量子测量操作,所述第四目标矩阵的数量为两个,所述基于所述第四目标矩阵,确定第二目标矩阵和所述第二目标矩阵对应的第二标识列表,包括:
基于第一结果矩阵确定测量结果为所述第一测量结果的第一概率值;以及基于第二结果矩阵确定测量结果为所述第二测量结果的第二概率值;所述第一结果矩阵为基于所述第一测量基的第二超算子进行量子测量操作得到的所述第四目标矩阵,所述第二结果矩阵为基于所述第二测量基的第二超算子进行量子测量操作得到的所述第四目标矩阵;
基于所述第一概率值和所述第二概率值所确定的概率分布进行随机数选取,得到所述第一拷贝列表对应的量子系统的目标测量结果;
基于所述目标测量结果和所述第一目标列表中的标识数量,确定第二目标矩阵和所述第二目标矩阵对应的第二标识列表。
可选的,所述基于所述目标测量结果和所述第一目标列表中的标识数量,确定第二目标矩阵和所述第二目标矩阵对应的第二标识列表,包括:
在所述标识数量为1的情况下,将所述目标测量结果对应的预设矩阵确定为第二目标矩阵,将所述第一目标列表确定为所述第二目标矩阵对应的第二标识列表;
在所述标识数量大于1的情况下,将所述目标测量结果对应的预设矩阵确定为第三子量子态的第二目标矩阵,将所述第一标识列表确定为所述第三子量子态的所述第二标识列表;对所述目标测量结果对应的所述第四目标矩阵进行归一化处理,得到第四子量子态的第二目标矩阵,将第四标识列表确定为所述第四子量子态的所述第二标识列表,所述第四标识列表为所述第三标识列表删除所述第一标识列表后的列表。
本实施方式中,第一测量结果可以为0,第二测量结果可以为1,第一测量基用于针对第一测量结果进行量子测量操作,第一测量基的超算子可以为行向量,用s0=[[1,0,0,0]]表示,第二测量基用于针对第二测量结果进行量子测量操作,第二测量基的超算子也可以为行向量,用s1=[[0,0,0,1]]表示。
量子测量操作的过程如下:
输入:量子态的子态列表substates,需要测量的量子系统标识列表label(即第一标识列表);
输出:测量结果,测量后的量子态子态列表。
步骤1:遍历搜索量子态的子态列表substates,如果需要测量的量子系统标识system在当前子态系统的标识列表systems中,则记录该子态为relevant_substate,并从substates中移除该子态;记relevant_substate的比特数为size;
步骤2:拷贝一份relevant_substate中的系统标识列表,并对每个标识增加前缀“ancilla”,记列表为ancilla_systems;将relevant_substate的系统标识列表(即第一目标列表/第三标识列表)与ancilla_systems进行拼接,得到标识列表double_systems(即第二拷贝列表);
例如:relevant_substate的系统标识列表为[0,1,2],那么ancilla_systems为[ancilla_0,ancilla_1,ancilla_2],double_systems为[0,1,2,ancilla_0,ancilla_1,ancilla_2];
步骤3:对label(即第一标识列表)进行步骤2的类似操作,拷贝一份label并对标号增加前缀“ancilla”,记列表为ancilla_label;将label的系统标识与ancilla_label进行拼接,得到列表double_label(即第一拷贝列表);
例如:label的系统标识为1,那么ancilla_label为ancilla_1,double_label为[1,ancilla_1];
步骤4:拷贝一份relevant_substate的系统标识列表,并删除label所指定的标识,记结果为post_systems;例如:relevant_substate的系统标识列表为[0,1,2],label为1,则post_systems=[0,2];
步骤5:拷贝一份double_systems列表,将double_label所指定的标识移到最前面并保持其他标识不变,记结果为double_label_to_front(即第三拷贝列表);
例如:relevant_substate的系统标识列表为[0,1,2],label为1,double_systems为[0,1,2,ancilla_0,ancilla_1,ancilla_2],则double_label_to_front为[1,ancilla_1,0,2,ancilla_0,ancilla_2];
步骤6:将relevant_substate的矩阵relevant_substate_matrix(即第三目标矩阵)进行向量化,即:
vec_matrix=reshape(relevant_substate_matrix,[4^size,1],order="F");
其中,vec_matrix为向量化得到的第一列向量。
步骤7:以vec_matrix为列向量,double_systems为系统标识列表,构造量子态(即第二子量子态),并调用量子系统的前置操作过程将该量子态按照double_label_to_front所指定的系统顺序进行系统置换,记输出的量子态列向量为vec_state_matrix(即第四列向量);
步骤8:记向量s0=[[1,0,0,0]],s1=[[0,0,0,1]],即对应测量基的超算子;
步骤9:基于第四列向量和测量基的超算子进行量子测量操作,计算得到第二列向量(measured_matrix0和measured_matrix1),如下:
measured_matrix0=reshape(s0@reshape(vec_state_matrix,[4,2^(2*size-2)]),[2^(2*size-2),1]);
measured_matrix1=reshape(s1@reshape(vec_state_matrix,[4,2^(2*size-2)]),[2^(2*size-2),1]);
步骤10:对第二列向量进行矩阵还原,得到第四目标矩阵(第一结果矩阵post_state_unnorm0和第二结果矩阵post_state_unnorm1);
post_state_unnorm0=reshape(measured_matrix0,[2^(size-1),2^(size-1)],order="F");
post_state_unnorm1=reshape(measured_matrix1,[2^(size-1),2^(size-1)],order="F")。
步骤11:根据prob0=trace(post_state_unnorm0),以及prob1=trace(post_state_unnorm1)的计算公式,计算概率值prob0和prob1,其中,trace用于求二维方阵的迹;
步骤12:根据概率分布[prob0,prob1],利用随机数选取函数,随机选取一个值outcome,其中,outcome∈{0,1};
步骤13:如果outcome=0,则返回测量结果为0,测量后剩余系统量子态的矩阵post_state为post_state_unnorm0/prob0;如果outcome=1,则返回测量结果为1,post_state为post_state_unnorm1/prob1;
步骤14:基于目标测量结果和第一目标列表中的标识数量,确定第二目标矩阵和第二目标矩阵对应的第二标识列表,如此可以基于第四目标矩阵实现第一操作指令对应的量子操作;之后,更新量子态,具体如下:
a)若子态relevant_substate为单量子比特系统,则根据测量结果更新其矩阵。具体地,若outcome=0,则目标测量结果对应的预设矩阵为[[1,0],[0,0]],将其确定为第二目标矩阵;若outcome=1,则则目标测量结果对应的预设矩阵为[[0,0],[0,1]],将其确定为第二目标矩阵;将第一目标列表确定为第二标识列表,并将测量后的子态(包括第二目标矩阵和第二标识列表)重新加入量子态的子态列表substates中;
b)若子态relevant_substate为多量子比特系统(即标识数量大于1),则分别生成两个新的子态substate1(即第三子量子态)和substate2(即第四子量子态)。当outcome=0时,substate1的矩阵为[[1,0],[0,0]];当outcome=1,substate1的矩阵为[[0,0],[0,1]];另外,substate1的量子系统标识(即第二标识列表)为被测量的系统标识label,substate2的矩阵为post_state,其量子系统标识列表为post_systems;将substate1和substate2加入量子态子态列表substates中;
步骤15:返回测量结果outcome和列表substates作为输出。
如此,可以实现第二目标矩阵和第二标识列表的确定,以实现量子态的子态列表的更新。
需要说明的是,如果需要对一个量子态的多个系统进行测量,只需要重复调用上述量子测量操作的过程依次测量即可。另外,该量子测量操作的过程体现出了和相关技术的核心区别。通常在获取量子态之后,量子测量直接通过量子态的概率幅进行随机采样,不关心对部分量子系统测量后剩余系统上的量子态。而上述量子测量操作的过程可以只对一个量子态的部分比特进行测量,测量完之后可以继续对其余系统上的量子态进行操作,具有更强的可操作性和更丰富的应用场景。
比如,在很多量子网络协议、量子纠错码协议以及基于测量的量子计算等场景中,需要对部分量子系统进行测量,之后根据测量结果调控其余量子比特的演化。本实施例中的量子态数据结构及上述量子测量操作的过程可以很好的适用于这些场景。
并且,本实施例无需对完整的量子态进行量子测量操作,而只需对测量所涉及的子系统进行运算即可,从而降低了矩阵运算的计算复杂度,提高计算效率。另外,测量完成后,被测量的量子系统和其余量子系统相互独立,采用子量子态的形式进行存储一方面可以降低内存消耗,另一方面也可以方便后续重置操作的执行。本实施例也可以实现含噪量子态的测量运算。
可选的,所述量子操作信息还包括指示第二量子操作的第二操作指令,所述第二量子操作为重置操作,所述基于所述第二量子态,确定所述量子计算任务的任务结果,包括:
确定所述第二操作指令所针对的量子系统的第五标识列表;
基于所述第五标识列表,从所述N个第二矩阵中筛选得到第五目标矩阵,所述第五目标矩阵为所述N个第二列表中第二目标列表对应的第二矩阵,所述第二目标列表与所述第五标识列表存在交集;
在所述第二目标列表中的标识数量为1的情况下,将所述第五目标矩阵替换为预设的重置矩阵,得到第六目标矩阵;
将所述第二目标列表确定为所述第六目标矩阵对应的第六标识列表;
基于所述第六目标矩阵和所述第六标识列表,确定所述量子计算任务的任务结果。
在动态量子电路中,允许在量子电路中间进行测量,并对测量后的量子系统进行重置以供后续运算使用。而本实施方式中,量子操作信息还包括指示第二量子操作的第二操作指令,第二量子操作为重置操作,第二操作指令中可以携带预设的重置矩阵。
在执行完第一操作指令的情况下,若解析到第二操作指令为重置操作,可以确定第二操作指令所针对的量子系统的第五标识列表,基于第五标识列表,从N个第二矩阵中筛选得到第五目标矩阵,第五目标矩阵为N个第二列表中第二目标列表对应的第二矩阵,第二目标列表与所述第五标识列表存在交集。
之后,可以确定第二目标列表中的标识数量,在第二目标列表中的标识数量为1的情况下,将第五目标矩阵替换为所述重置矩阵,得到第六目标矩阵;将第二目标列表确定为第六目标矩阵对应的第六标识列表。
相应的,可以基于第六目标矩阵和第六标识列表,更新第二量子态,得到量子电路新的量子态,并可以继续进行操作指令的运算,直至得到量子计算任务的任务结果。
其重置操作的过程如下:
输入:量子态的子态列表substates,需要重置的量子系统标识system(即第五标识列表),需要重置的量子态矩阵matrix(即重置矩阵);
输出:重置后的量子态子态列表。
步骤1:遍历搜索量子态子态列表substates,如果需要重置的量子系统标识system在当前子态系统的标识列表systems中,则记录该子态为relevant_substate;
步骤2:如果relevant_substate的量子系统标识列表长度大于1,则表明需要重置的量子系统可能和其他系统有关联,可以进行报错处理(即提示该操作不被允许);由于本实施例中的数据结构采用子量子态存储,因此可以很方便地判断不同量子系统之间是否有关联,而相关技术中使用完整量子态存储形式无法直接做到这一点。如果relevant_substate的量子系统标识列表长度等于1,将relevant_substate的量子态矩阵替换为matrix;
步骤3:返回列表substates作为输出。
如此,可以基于第二量子态实现对量子电路中量子态的重置。
并且,量子测量操作会自然打破被测量的量子比特和其他量子比特的关联,而重置操作也需要考虑到被重置系统是否与其他系统有关联。本实施例中的量子态数据结构能够反映量子态中的不同系统是否存在关联,因而能够直接在动态量子电路的模拟中进行应用,其具有更广的适用范围。并且,本实施例可以适用于含噪的量子计算模拟,适用范围更广。
可选的,所述步骤S103具体包括:
确定目标标识,所述目标标识为所述第二操作指令指示所重置的量子系统标识;
基于所述目标标识和所述宽度进行量子系统的划分,得到所述第一量子态,所述M个第一列表包括第三目标列表,所述第三目标列表为所述目标标识的列表。
本实施方式中,可以基于量子操作信息中第二操作指令(其指示重置操作)确定目标标识,该目标标识对应的量子系统为需要重置的量子系统。
可以基于目标标识和量子电路的宽度进行量子系统的划分,得到第一量子态,具体可以将目标标识作为一个单独列表构成子量子态,以避免该目标标识对应的量子系统与其他量子系统存在关联,这样可以保证该目标标识对应的量子系统的重置操作的正常进行。
第二实施例
如图3所示,本公开提供一种量子计算处理装置300,包括:
获取模块301,用于获取量子电路的量子操作信息,所述量子电路用于执行量子计算任务;
第一确定模块302,用于基于所述量子操作信息,确定所述量子电路的宽度;
第二确定模块303,用于基于所述宽度,确定所述量子电路的第一量子态,所述第一量子态包括:用于表征M个子量子态的M个第一矩阵,以及与所述M个第一矩阵一一对应的M个第一列表,所述M个子量子态指示所述量子电路的输入态,所述第一列表按照所述第一矩阵所表征的排列顺序存储所述子量子态对应的量子系统标识,M为正整数;
量子操作模块304,用于基于所述量子操作信息和所述第一量子态,执行对所述M个子量子态中子量子态的量子操作,得到所述量子计算任务的任务结果;
其中,所述量子操作包括第一量子操作,所述第一量子操作中,基于所述第一量子操作的演化算子信息和所述子量子态进行含噪量子态的操作。
可选的,所述量子操作信息包括指示所述第一量子操作的第一操作指令,所述量子操作模块304包括:
第一确定子模块,用于确定所述第一操作指令所针对的量子系统的第一标识列表;
筛选子模块,用于基于所述第一标识列表,从所述M个第一矩阵中筛选得到第一目标矩阵,所述第一目标矩阵为所述M个第一列表中第一目标列表对应的第一矩阵,所述第一目标列表与所述第一标识列表存在交集;
操作子模块,用于基于所述第一量子操作的演化算子信息和第一子量子态,对所述第一标识列表对应的量子系统进行含噪量子态的操作,得到第二目标矩阵和所述第二目标矩阵对应的第二标识列表,所述第一子量子态基于所述第一目标矩阵和所述第一目标列表确定,所述第一操作指令包括所述第一量子操作的演化算子信息;
更新子模块,用于基于所述第二目标矩阵和所述第二标识列表,对所述第一量子态进行更新,得到第二量子态,所述第二量子态包括:用于表征N个子量子态的N个第二矩阵,以及与所述N个第二矩阵一一对应的N个第二列表,所述N个子量子态指示所述量子电路运行所述第一操作指令后的输出态,所述第二列表按照所述第二矩阵所表征的排列顺序存储所述子量子态对应的量子系统标识,N为正整数;
第二确定子模块,用于基于所述第二量子态,确定所述量子计算任务的任务结果。
可选的,所述第一子量子态包括第三目标矩阵和所述第三目标矩阵对应的第三标识列表,所述操作子模块包括:
拷贝单元,用于对所述第一标识列表进行拷贝,得到第一拷贝列表;以及对第三标识列表进行拷贝,得到第二拷贝列表;
向量化单元,用于对所述第三目标矩阵进行向量化,以构造第二子量子态,所述第二子量子态包括所述第三目标矩阵向量化后得到的第一列向量和所述第二拷贝列表;
量子操作单元,用于基于所述演化算子信息和所述第二子量子态,对所述第一拷贝列表对应的量子系统进行所述第一量子操作,得到第二列向量;
确定单元,用于基于所述第二列向量,确定第二目标矩阵和所述第二目标矩阵对应的第二标识列表。
可选的,所述第一量子操作为量子态演化操作,所述量子操作单元,具体用于:
基于所述演化算子信息,确定所述量子态演化操作的第一超算子;
将所述第二子量子态作为所述量子态演化操作的输入态,基于所述第一超算子对所述第一拷贝列表对应的量子系统进行量子态演化操作,得到第二列向量。
可选的,所述确定单元,具体用于:
基于所述第二拷贝列表,对所述第二列向量进行量子系统的前置操作,得到第三列向量,所述第三列向量对应的量子系统的标识列表为所述第二拷贝列表;
对所述第三列向量进行矩阵还原,得到第二目标矩阵;
将所述第三标识列表确定为所述第二标识列表。
可选的,所述第一量子操作为量子测量操作,所述演化算子信息包括测量基的第二超算子,所述量子操作单元,具体用于:
基于第三拷贝列表,将所述第一列向量进行量子系统的前置操作,得到第四列向量,所述第三拷贝列表基于所述第二拷贝列表确定,所述第三拷贝列表中,所述第一拷贝列表对应的量子系统标识位于首位;
基于所述第四列向量和所述第二超算子,对所述第一拷贝列表对应的量子系统进行量子测量操作,得到第二列向量。
可选的,所述确定单元包括:
矩阵还原子单元,用于对所述第二列向量进行矩阵还原,得到第四目标矩阵;
确定子单元,用于基于所述第四目标矩阵,确定第二目标矩阵和所述第二目标矩阵对应的第二标识列表。
可选的,所述测量基包括第一测量基和第二测量基,所述第一测量基用于针对第一测量结果进行量子测量操作,所述第二测量基用于针对第二测量结果进行量子测量操作,所述第四目标矩阵的数量为两个,所述确定子单元,具体用于:
基于第一结果矩阵确定测量结果为所述第一测量结果的第一概率值;以及基于第二结果矩阵确定测量结果为所述第二测量结果的第二概率值;所述第一结果矩阵为基于所述第一测量基的第二超算子进行量子测量操作得到的所述第四目标矩阵,所述第二结果矩阵为基于所述第二测量基的第二超算子进行量子测量操作得到的所述第四目标矩阵;
基于所述第一概率值和所述第二概率值所确定的概率分布进行随机数选取,得到所述第一拷贝列表对应的量子系统的目标测量结果;
基于所述目标测量结果和所述第一目标列表中的标识数量,确定第二目标矩阵和所述第二目标矩阵对应的第二标识列表。
可选的,所述确定子单元,还用于:
在所述标识数量为1的情况下,将所述目标测量结果对应的预设矩阵确定为第二目标矩阵,将所述第一目标列表确定为所述第二目标矩阵对应的第二标识列表;
在所述标识数量大于1的情况下,将所述目标测量结果对应的预设矩阵确定为第三子量子态的第二目标矩阵,将所述第一标识列表确定为所述第三子量子态的所述第二标识列表;对所述目标测量结果对应的所述第四目标矩阵进行归一化处理,得到第四子量子态的第二目标矩阵,将第四标识列表确定为所述第四子量子态的所述第二标识列表,所述第四标识列表为所述第三标识列表删除所述第一标识列表后的列表。
可选的,所述第一目标矩阵的数量为至少两个,所述装置还包括:
张量积运算模块,用于对至少两个所述第一目标矩阵进行张量积运算,得到所述第三目标矩阵;
合并模块,用于将至少两个所述第一目标矩阵对应的第一目标列表按照所述张量积运算的顺序进行合并,得到所述第三标识列表。
可选的,所述量子操作信息还包括指示第二量子操作的第二操作指令,所述第二量子操作为重置操作,所述第二确定子模块,具体用于:
确定所述第二操作指令所针对的量子系统的第五标识列表;
基于所述第五标识列表,从所述N个第二矩阵中筛选得到第五目标矩阵,所述第五目标矩阵为所述N个第二列表中第二目标列表对应的第二矩阵,所述第二目标列表与所述第五标识列表存在交集;
在所述第二目标列表中的标识数量为1的情况下,将所述第五目标矩阵替换为预设的重置矩阵,得到第六目标矩阵;
将所述第二目标列表确定为所述第六目标矩阵对应的第六标识列表;
基于所述第六目标矩阵和所述第六标识列表,确定所述量子计算任务的任务结果。
可选的,所述第二确定模块303,具体用于:
确定目标标识,所述目标标识为所述第二操作指令指示所重置的量子系统标识;
基于所述目标标识和所述宽度进行量子系统的划分,得到所述第一量子态,所述M个第一列表包括第三目标列表,所述第三目标列表为所述目标标识的列表。
本公开提供的量子计算处理装置300能够实现量子计算处理方法实施例实现的各个过程,且能够达到相同的有益效果,为避免重复,这里不再赘述。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图4示出了可以用来实施本公开的实施例的示例电子设备的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图4所示,设备400包括计算单元401,其可以根据存储在只读存储器(ROM)402中的计算机程序或者从存储单元408加载到随机访问存储器(RAM)403中的计算机程序,来执行各种适当的动作和处理。在RAM 403中,还可存储设备400操作所需的各种程序和数据。计算单元401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
设备400中的多个部件连接至I/O接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元401执行上文所描述的各个方法和处理,例如量子计算处理方法。例如,在一些实施例中,量子计算处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 402和/或通信单元409而被载入和/或安装到设备400上。当计算机程序加载到RAM 403并由计算单元401执行时,可以执行上文描述的量子计算处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行量子计算处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (26)
1.一种量子计算处理方法,包括:
获取量子电路的量子操作信息,所述量子电路用于执行量子计算任务;量子操作信息通过有序列表来表示,有序列表包括按照量子电路的运行顺序存储的操作指令,操作指令用于指示含噪量子电路的量子操作,操作指令包括量子操作所针对的量子位;
基于所述量子操作信息,确定所述量子电路的宽度;
基于所述宽度,确定所述量子电路的第一量子态,所述第一量子态包括:用于表征M个子量子态的M个第一矩阵,以及与所述M个第一矩阵一一对应的M个第一列表,所述M个子量子态指示所述量子电路的输入态,所述第一列表按照所述第一矩阵所表征的排列顺序存储所述子量子态对应的量子系统标识,M为正整数;
基于所述量子操作信息和所述第一量子态,执行对所述M个子量子态中子量子态的量子操作,得到所述量子计算任务的任务结果;
其中,所述量子操作包括第一量子操作,所述第一量子操作中,基于所述第一量子操作的演化算子信息和所述子量子态进行含噪量子态的操作;
所述基于所述量子操作信息和所述第一量子态,执行对所述M个子量子态中子量子态的量子操作,得到所述量子计算任务的任务结果,包括:
将所述第一量子态作为初始态,按照所述量子操作信息中操作指令的排列顺序,基于操作指令所指示的量子系统的量子位,从所述M个子量子态中获取包括该量子位的子量子态,并执行对所获取的子量子态的量子操作,得到所述量子计算任务的任务结果。
2.根据权利要求1所述的方法,其中,所述量子操作信息包括指示所述第一量子操作的第一操作指令,所述基于所述量子操作信息和所述第一量子态,执行对所述M个子量子态中子量子态的量子操作,得到所述量子计算任务的任务结果,包括:
确定所述第一操作指令所针对的量子系统的第一标识列表;
基于所述第一标识列表,从所述M个第一矩阵中筛选得到第一目标矩阵,所述第一目标矩阵为所述M个第一列表中第一目标列表对应的第一矩阵,所述第一目标列表与所述第一标识列表存在交集;
基于所述第一量子操作的演化算子信息和第一子量子态,对所述第一标识列表对应的量子系统进行含噪量子态的操作,得到第二目标矩阵和所述第二目标矩阵对应的第二标识列表,所述第一子量子态基于所述第一目标矩阵和所述第一目标列表确定,所述第一操作指令包括所述第一量子操作的演化算子信息;
基于所述第二目标矩阵和所述第二标识列表,对所述第一量子态进行更新,得到第二量子态,所述第二量子态包括:用于表征N个子量子态的N个第二矩阵,以及与所述N个第二矩阵一一对应的N个第二列表,所述N个子量子态指示所述量子电路运行所述第一操作指令后的输出态,所述第二列表按照所述第二矩阵所表征的排列顺序存储所述子量子态对应的量子系统标识,N为正整数;
基于所述第二量子态,确定所述量子计算任务的任务结果。
3.根据权利要求2所述的方法,其中,所述第一子量子态包括第三目标矩阵和所述第三目标矩阵对应的第三标识列表,所述基于所述第一量子操作的演化算子信息和第一子量子态,对所述第一标识列表对应的量子系统进行含噪量子态的操作,得到第二目标矩阵和所述第二目标矩阵对应的第二标识列表,包括:
对所述第一标识列表进行拷贝,得到第一拷贝列表;以及对所述第三标识列表进行拷贝,得到第二拷贝列表;
对所述第三目标矩阵进行向量化,以构造第二子量子态,所述第二子量子态包括所述第三目标矩阵向量化后得到的第一列向量和所述第二拷贝列表;
基于所述演化算子信息和所述第二子量子态,对所述第一拷贝列表对应的量子系统进行所述第一量子操作,得到第二列向量;
基于所述第二列向量,确定第二目标矩阵和所述第二目标矩阵对应的第二标识列表。
4.根据权利要求3所述的方法,其中,所述第一量子操作为量子态演化操作,所述基于所述演化算子信息和所述第二子量子态,对所述第一拷贝列表对应的量子系统进行所述第一量子操作,得到第二列向量,包括:
基于所述演化算子信息,确定所述量子态演化操作的第一超算子;
将所述第二子量子态作为所述量子态演化操作的输入态,基于所述第一超算子对所述第一拷贝列表对应的量子系统进行量子态演化操作,得到第二列向量。
5.根据权利要求4所述的方法,其中,所述基于所述第二列向量,确定第二目标矩阵和所述第二目标矩阵对应的第二标识列表,包括:
基于所述第二拷贝列表,对所述第二列向量进行量子系统的前置操作,得到第三列向量,所述第三列向量对应的量子系统的标识列表为所述第二拷贝列表;
对所述第三列向量进行矩阵还原,得到第二目标矩阵;
将所述第三标识列表确定为所述第二标识列表。
6.根据权利要求3所述的方法,其中,所述第一量子操作为量子测量操作,所述演化算子信息包括测量基的第二超算子,所述基于所述演化算子信息和所述第二子量子态,对所述第一拷贝列表对应的量子系统进行所述第一量子操作,得到第二列向量,包括:
基于第三拷贝列表,将所述第一列向量进行量子系统的前置操作,得到第四列向量,所述第三拷贝列表基于所述第二拷贝列表确定,所述第三拷贝列表中,所述第一拷贝列表对应的量子系统标识位于首位;
基于所述第四列向量和所述第二超算子,对所述第一拷贝列表对应的量子系统进行量子测量操作,得到第二列向量。
7.根据权利要求6所述的方法,其中,所述基于所述第二列向量,确定第二目标矩阵和所述第二目标矩阵对应的第二标识列表,包括:
对所述第二列向量进行矩阵还原,得到第四目标矩阵;
基于所述第四目标矩阵,确定第二目标矩阵和所述第二目标矩阵对应的第二标识列表。
8.根据权利要求7所述的方法,其中,所述测量基包括第一测量基和第二测量基,所述第一测量基用于针对第一测量结果进行量子测量操作,所述第二测量基用于针对第二测量结果进行量子测量操作,所述第四目标矩阵的数量为两个,所述基于所述第四目标矩阵,确定第二目标矩阵和所述第二目标矩阵对应的第二标识列表,包括:
基于第一结果矩阵确定测量结果为所述第一测量结果的第一概率值;以及基于第二结果矩阵确定测量结果为所述第二测量结果的第二概率值;所述第一结果矩阵为基于所述第一测量基的第二超算子进行量子测量操作得到的所述第四目标矩阵,所述第二结果矩阵为基于所述第二测量基的第二超算子进行量子测量操作得到的所述第四目标矩阵;
基于所述第一概率值和所述第二概率值所确定的概率分布进行随机数选取,得到所述第一拷贝列表对应的量子系统的目标测量结果;
基于所述目标测量结果和所述第一目标列表中的标识数量,确定第二目标矩阵和所述第二目标矩阵对应的第二标识列表。
9.根据权利要求8所述的方法,其中,所述基于所述目标测量结果和所述第一目标列表中的标识数量,确定第二目标矩阵和所述第二目标矩阵对应的第二标识列表,包括:
在所述标识数量为1的情况下,将所述目标测量结果对应的预设矩阵确定为第二目标矩阵,将所述第一目标列表确定为所述第二目标矩阵对应的第二标识列表;
在所述标识数量大于1的情况下,将所述目标测量结果对应的预设矩阵确定为第三子量子态的第二目标矩阵,将所述第一标识列表确定为所述第三子量子态的所述第二标识列表;对所述目标测量结果对应的所述第四目标矩阵进行归一化处理,得到第四子量子态的第二目标矩阵,将第四标识列表确定为所述第四子量子态的所述第二标识列表,所述第四标识列表为所述第三标识列表删除所述第一标识列表后的列表。
10.根据权利要求3所述的方法,其中,所述第一目标矩阵的数量为至少两个,所述方法还包括:
对至少两个所述第一目标矩阵进行张量积运算,得到所述第三目标矩阵;
将至少两个所述第一目标矩阵对应的第一目标列表按照所述张量积运算的顺序进行合并,得到所述第三标识列表。
11.根据权利要求2所述的方法,其中,所述量子操作信息还包括指示第二量子操作的第二操作指令,所述第二量子操作为重置操作,所述基于所述第二量子态,确定所述量子计算任务的任务结果,包括:
确定所述第二操作指令所针对的量子系统的第五标识列表;
基于所述第五标识列表,从所述N个第二矩阵中筛选得到第五目标矩阵,所述第五目标矩阵为所述N个第二列表中第二目标列表对应的第二矩阵,所述第二目标列表与所述第五标识列表存在交集;
在所述第二目标列表中的标识数量为1的情况下,将所述第五目标矩阵替换为预设的重置矩阵,得到第六目标矩阵;
将所述第二目标列表确定为所述第六目标矩阵对应的第六标识列表;
基于所述第六目标矩阵和所述第六标识列表,确定所述量子计算任务的任务结果。
12.根据权利要求11所述的方法,其中,所述基于所述宽度,确定所述量子电路的第一量子态,包括:
确定目标标识,所述目标标识为所述第二操作指令指示所重置的量子系统标识;
基于所述目标标识和所述宽度进行量子系统的划分,得到所述第一量子态,所述M个第一列表包括第三目标列表,所述第三目标列表为所述目标标识的列表。
13.一种量子计算处理装置,包括:
获取模块,用于获取量子电路的量子操作信息,所述量子电路用于执行量子计算任务;量子操作信息通过有序列表来表示,有序列表包括按照量子电路的运行顺序存储的操作指令,操作指令用于指示含噪量子电路的量子操作,操作指令包括量子操作所针对的量子位;
第一确定模块,用于基于所述量子操作信息,确定所述量子电路的宽度;
第二确定模块,用于基于所述宽度,确定所述量子电路的第一量子态,所述第一量子态包括:用于表征M个子量子态的M个第一矩阵,以及与所述M个第一矩阵一一对应的M个第一列表,所述M个子量子态指示所述量子电路的输入态,所述第一列表按照所述第一矩阵所表征的排列顺序存储所述子量子态对应的量子系统标识,M为正整数;
量子操作模块,用于基于所述量子操作信息和所述第一量子态,执行对所述M个子量子态中子量子态的量子操作,得到所述量子计算任务的任务结果;
其中,所述量子操作包括第一量子操作,所述第一量子操作中,基于所述第一量子操作的演化算子信息和所述子量子态进行含噪量子态的操作;
量子操作模块,具体用于将所述第一量子态作为初始态,按照所述量子操作信息中操作指令的排列顺序,基于操作指令所指示的量子系统的量子位,从所述M个子量子态中获取包括该量子位的子量子态,并执行对所获取的子量子态的量子操作,得到所述量子计算任务的任务结果。
14.根据权利要求13所述的装置,其中,所述量子操作信息包括指示所述第一量子操作的第一操作指令,所述量子操作模块包括:
第一确定子模块,用于确定所述第一操作指令所针对的量子系统的第一标识列表;
筛选子模块,用于基于所述第一标识列表,从所述M个第一矩阵中筛选得到第一目标矩阵,所述第一目标矩阵为所述M个第一列表中第一目标列表对应的第一矩阵,所述第一目标列表与所述第一标识列表存在交集;
操作子模块,用于基于所述第一量子操作的演化算子信息和第一子量子态,对所述第一标识列表对应的量子系统进行含噪量子态的操作,得到第二目标矩阵和所述第二目标矩阵对应的第二标识列表,所述第一子量子态基于所述第一目标矩阵和所述第一目标列表确定,所述第一操作指令包括所述第一量子操作的演化算子信息;
更新子模块,用于基于所述第二目标矩阵和所述第二标识列表,对所述第一量子态进行更新,得到第二量子态,所述第二量子态包括:用于表征N个子量子态的N个第二矩阵,以及与所述N个第二矩阵一一对应的N个第二列表,所述N个子量子态指示所述量子电路运行所述第一操作指令后的输出态,所述第二列表按照所述第二矩阵所表征的排列顺序存储所述子量子态对应的量子系统标识,N为正整数;
第二确定子模块,用于基于所述第二量子态,确定所述量子计算任务的任务结果。
15.根据权利要求14所述的装置,其中,所述第一子量子态包括第三目标矩阵和所述第三目标矩阵对应的第三标识列表,所述操作子模块包括:
拷贝单元,用于对所述第一标识列表进行拷贝,得到第一拷贝列表;以及对所述第三标识列表进行拷贝,得到第二拷贝列表;
向量化单元,用于对所述第三目标矩阵进行向量化,以构造第二子量子态,所述第二子量子态包括所述第三目标矩阵向量化后得到的第一列向量和所述第二拷贝列表;
量子操作单元,用于基于所述演化算子信息和所述第二子量子态,对所述第一拷贝列表对应的量子系统进行所述第一量子操作,得到第二列向量;
确定单元,用于基于所述第二列向量,确定第二目标矩阵和所述第二目标矩阵对应的第二标识列表。
16.根据权利要求15所述的装置,其中,所述第一量子操作为量子态演化操作,所述量子操作单元,具体用于:
基于所述演化算子信息,确定所述量子态演化操作的第一超算子;
将所述第二子量子态作为所述量子态演化操作的输入态,基于所述第一超算子对所述第一拷贝列表对应的量子系统进行量子态演化操作,得到第二列向量。
17.根据权利要求16所述的装置,其中,所述确定单元,具体用于:
基于所述第二拷贝列表,对所述第二列向量进行量子系统的前置操作,得到第三列向量,所述第三列向量对应的量子系统的标识列表为所述第二拷贝列表;
对所述第三列向量进行矩阵还原,得到第二目标矩阵;
将所述第三标识列表确定为所述第二标识列表。
18.根据权利要求15所述的装置,其中,所述第一量子操作为量子测量操作,所述演化算子信息包括测量基的第二超算子,所述量子操作单元,具体用于:
基于第三拷贝列表,将所述第一列向量进行量子系统的前置操作,得到第四列向量,所述第三拷贝列表基于所述第二拷贝列表确定,所述第三拷贝列表中,所述第一拷贝列表对应的量子系统标识位于首位;
基于所述第四列向量和所述第二超算子,对所述第一拷贝列表对应的量子系统进行量子测量操作,得到第二列向量。
19.根据权利要求18所述的装置,其中,所述确定单元包括:
矩阵还原子单元,用于对所述第二列向量进行矩阵还原,得到第四目标矩阵;
确定子单元,用于基于所述第四目标矩阵,确定第二目标矩阵和所述第二目标矩阵对应的第二标识列表。
20.根据权利要求19所述的装置,其中,所述测量基包括第一测量基和第二测量基,所述第一测量基用于针对第一测量结果进行量子测量操作,所述第二测量基用于针对第二测量结果进行量子测量操作,所述第四目标矩阵的数量为两个,所述确定子单元,具体用于:
基于第一结果矩阵确定测量结果为所述第一测量结果的第一概率值;以及基于第二结果矩阵确定测量结果为所述第二测量结果的第二概率值;所述第一结果矩阵为基于所述第一测量基的第二超算子进行量子测量操作得到的所述第四目标矩阵,所述第二结果矩阵为基于所述第二测量基的第二超算子进行量子测量操作得到的所述第四目标矩阵;
基于所述第一概率值和所述第二概率值所确定的概率分布进行随机数选取,得到所述第一拷贝列表对应的量子系统的目标测量结果;
基于所述目标测量结果和所述第一目标列表中的标识数量,确定第二目标矩阵和所述第二目标矩阵对应的第二标识列表。
21.根据权利要求20所述的装置,其中,所述确定子单元,还用于:
在所述标识数量为1的情况下,将所述目标测量结果对应的预设矩阵确定为第二目标矩阵,将所述第一目标列表确定为所述第二目标矩阵对应的第二标识列表;
在所述标识数量大于1的情况下,将所述目标测量结果对应的预设矩阵确定为第三子量子态的第二目标矩阵,将所述第一标识列表确定为所述第三子量子态的所述第二标识列表;对所述目标测量结果对应的所述第四目标矩阵进行归一化处理,得到第四子量子态的第二目标矩阵,将第四标识列表确定为所述第四子量子态的所述第二标识列表,所述第四标识列表为所述第三标识列表删除所述第一标识列表后的列表。
22.根据权利要求15所述的装置,其中,所述第一目标矩阵的数量为至少两个,所述装置还包括:
张量积运算模块,用于对至少两个所述第一目标矩阵进行张量积运算,得到所述第三目标矩阵;
合并模块,用于将至少两个所述第一目标矩阵对应的第一目标列表按照所述张量积运算的顺序进行合并,得到所述第三标识列表。
23.根据权利要求14所述的装置,其中,所述量子操作信息还包括指示第二量子操作的第二操作指令,所述第二量子操作为重置操作,所述第二确定子模块,具体用于:
确定所述第二操作指令所针对的量子系统的第五标识列表;
基于所述第五标识列表,从所述N个第二矩阵中筛选得到第五目标矩阵,所述第五目标矩阵为所述N个第二列表中第二目标列表对应的第二矩阵,所述第二目标列表与所述第五标识列表存在交集;
在所述第二目标列表中的标识数量为1的情况下,将所述第五目标矩阵替换为预设的重置矩阵,得到第六目标矩阵;
将所述第二目标列表确定为所述第六目标矩阵对应的第六标识列表;
基于所述第六目标矩阵和所述第六标识列表,确定所述量子计算任务的任务结果。
24.根据权利要求23所述的装置,其中,所述第二确定模块,具体用于:
确定目标标识,所述目标标识为所述第二操作指令指示所重置的量子系统标识;
基于所述目标标识和所述宽度进行量子系统的划分,得到所述第一量子态,所述M个第一列表包括第三目标列表,所述第三目标列表为所述目标标识的列表。
25.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-12中任一项所述的方法。
26.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310183335.0A CN116167446B (zh) | 2023-02-20 | 2023-02-20 | 量子计算处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310183335.0A CN116167446B (zh) | 2023-02-20 | 2023-02-20 | 量子计算处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116167446A CN116167446A (zh) | 2023-05-26 |
CN116167446B true CN116167446B (zh) | 2023-12-22 |
Family
ID=86416207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310183335.0A Active CN116167446B (zh) | 2023-02-20 | 2023-02-20 | 量子计算处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116167446B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117521829B (zh) * | 2023-11-08 | 2025-01-28 | 北京百度网讯科技有限公司 | 量子电路模拟方法、装置及电子设备 |
CN117291273B (zh) * | 2023-11-24 | 2024-02-13 | 合肥微观纪元数字科技有限公司 | 量子计算区块链系统 |
CN117669751A (zh) * | 2023-12-05 | 2024-03-08 | 北京百度网讯科技有限公司 | 量子电路模拟方法、装置及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113065660A (zh) * | 2021-03-30 | 2021-07-02 | 北京百度网讯科技有限公司 | 量子态测量方法、装置、设备、存储介质及系统 |
CN113614687A (zh) * | 2019-02-07 | 2021-11-05 | 德克萨斯大学系统董事会 | 使用不受信任的量子计算机生成经认证的随机数 |
CN114037084A (zh) * | 2021-11-05 | 2022-02-11 | 北京百度网讯科技有限公司 | 量子测量设备校准方法及装置、电子设备和介质 |
CN114239840A (zh) * | 2021-12-15 | 2022-03-25 | 北京百度网讯科技有限公司 | 量子信道噪声系数估计方法及装置、电子设备和介质 |
CN115169568A (zh) * | 2022-07-20 | 2022-10-11 | 北京百度网讯科技有限公司 | 量子计算处理方法、装置及电子设备 |
WO2022267854A1 (zh) * | 2021-06-23 | 2022-12-29 | 合肥本源量子计算科技有限责任公司 | 量子计算任务处理方法、系统、装置及操作系统 |
-
2023
- 2023-02-20 CN CN202310183335.0A patent/CN116167446B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113614687A (zh) * | 2019-02-07 | 2021-11-05 | 德克萨斯大学系统董事会 | 使用不受信任的量子计算机生成经认证的随机数 |
CN113065660A (zh) * | 2021-03-30 | 2021-07-02 | 北京百度网讯科技有限公司 | 量子态测量方法、装置、设备、存储介质及系统 |
WO2022267854A1 (zh) * | 2021-06-23 | 2022-12-29 | 合肥本源量子计算科技有限责任公司 | 量子计算任务处理方法、系统、装置及操作系统 |
CN114037084A (zh) * | 2021-11-05 | 2022-02-11 | 北京百度网讯科技有限公司 | 量子测量设备校准方法及装置、电子设备和介质 |
CN114239840A (zh) * | 2021-12-15 | 2022-03-25 | 北京百度网讯科技有限公司 | 量子信道噪声系数估计方法及装置、电子设备和介质 |
CN115169568A (zh) * | 2022-07-20 | 2022-10-11 | 北京百度网讯科技有限公司 | 量子计算处理方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116167446A (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116167446B (zh) | 量子计算处理方法、装置及电子设备 | |
CN116151384B (zh) | 量子电路处理方法、装置及电子设备 | |
CN115169570B (zh) | 量子网络协议仿真方法、装置及电子设备 | |
CN115169568B (zh) | 量子计算处理方法、装置及电子设备 | |
US20210224447A1 (en) | Grouping of pauli strings using entangled measurements | |
CN116187458B (zh) | 量子电路处理方法、装置及电子设备 | |
CN111914378B (zh) | 一种单振幅量子计算模拟方法及装置 | |
CN114970865B (zh) | 量子芯片上的量子电路处理方法、装置及电子设备 | |
CN116611527B (zh) | 量子电路处理方法、装置及电子设备 | |
CN116151381A (zh) | 量子电路处理方法、装置及电子设备 | |
CN114580645A (zh) | 随机量子测量的模拟方法、装置、设备及存储介质 | |
CN116187463B (zh) | 量子测量模式至量子电路的编译方法、装置及电子设备 | |
CN116579435B (zh) | 量子电路的分类方法、装置、电子设备、介质和产品 | |
CN116227607B (zh) | 量子电路的分类方法、装置、电子设备、介质和产品 | |
CN116187464B (zh) | 盲量子计算处理方法、装置及电子设备 | |
CN116629370B (zh) | 量子电路处理方法、装置及电子设备 | |
CN116151383B (zh) | 量子计算处理方法、装置及电子设备 | |
CN114781455B (zh) | 信道估计模型的训练方法、信道估计方法、装置及设备 | |
CN115906987A (zh) | 深度学习模型的训练方法、虚拟形象驱动方法和装置 | |
CN116167447B (zh) | 量子电路处理方法、装置及电子设备 | |
JP5736336B2 (ja) | 行列ベクトル積演算装置、行列ベクトル積演算方法、及び行列ベクトル積演算プログラム | |
CN117313881B (zh) | 量子电路的分类方法、装置及电子设备 | |
CN117391206B (zh) | 量子电路处理方法、装置及电子设备 | |
CN115775028A (zh) | 量子线路优化方法、装置、介质及电子装置 | |
CN117313878B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40088298 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |