CN110020727A - 一种基于mpi多进程的单量子逻辑门实现方法 - Google Patents

一种基于mpi多进程的单量子逻辑门实现方法 Download PDF

Info

Publication number
CN110020727A
CN110020727A CN201910281491.4A CN201910281491A CN110020727A CN 110020727 A CN110020727 A CN 110020727A CN 201910281491 A CN201910281491 A CN 201910281491A CN 110020727 A CN110020727 A CN 110020727A
Authority
CN
China
Prior art keywords
quantum
bit
state
logic gates
quantum state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910281491.4A
Other languages
English (en)
Other versions
CN110020727B (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.)
Hefei Native Quantum Computing Technology Co Ltd
Original Assignee
Hefei Native 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 Hefei Native Quantum Computing Technology Co Ltd filed Critical Hefei Native Quantum Computing Technology Co Ltd
Priority to CN201910281491.4A priority Critical patent/CN110020727B/zh
Publication of CN110020727A publication Critical patent/CN110020727A/zh
Application granted granted Critical
Publication of CN110020727B publication Critical patent/CN110020727B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

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)
  • Optical Communication System (AREA)
  • Optical Modulation, Optical Deflection, Nonlinear Optics, Optical Demodulation, Optical Logic Elements (AREA)

Abstract

本发明属于量子计算领域,具体公开了一种基于MPI多进程的单量子逻辑门实现方法,包括:配置N个量子比特,各所述量子比特的编号为比特位n;其中:N为正整数,0≤n≤N‑1;确定量子态和各所述量子态的下标值,所述量子态共有2N个,所述下标值为所述量子态对应的十进制值;初始化所述量子态;配置2M个基于MPI通信的进程,并将所有所述量子态按照所述下标值的大小依次均分存储至各所述进程;其中:M为整数,且M≥1,N≥M+1;根据所述单量子逻辑门待作用的量子比特的比特位、及基于MPI的多个所述进程进行实现所述单量子逻辑门的运算。本发明能够提高基于单量子逻辑门的量子计算的计算能力与计算效率。

Description

一种基于MPI多进程的单量子逻辑门实现方法
技术领域
本发明属于量子计算领域,特别是一种基于MPI多进程的单量子逻辑门实现方法。
背景技术
量子计算是通过量子逻辑门作用在量子比特上实现量子比特逻辑状态改变实现的,量子比特的逻辑状态可能为|0>态、|1>态、|0>态和|1>态的叠加态,这种叠加性使量子计算的计算量随着量子比特的增加是指数增长的。
单量子逻辑门是一个2*2的矩阵,一个单量子逻辑门对量子线路中的一个量子比特操作只会改变这个量子比特对应的态的振幅,目前单量子逻辑作用在量子比特上的量子计算实现通常是基于单进程进行的,随着量子比特数量的增加,基于单量子逻辑门的量子计算的计算能力与计算效率大幅下降。
发明内容
本发明的目的是提供一种基于MPI多进程的单量子逻辑门实现方法,以解决现有技术中的不足,它能够提高基于单量子逻辑门的量子计算的计算能力与计算效率。
本发明采用的技术方案如下:
一种基于MPI多进程的单量子逻辑门实现方法,其中,包括:配置N个量子比特,各所述量子比特的编号为比特位n;其中:N为正整数,0≤n≤N-1;确定量子态和各所述量子态的下标值,所述量子态共有2N个,所述下标值为所述量子态对应的十进制值;初始化所述量子态;配置2M个基于MPI通信的进程,并将所有所述量子态按照所述下标值的大小依次均分存储至各所述进程;其中:M为整数,且M≥1,N≥M+1;根据所述单量子逻辑门待作用的量子比特的比特位、及基于MPI的多个所述进程进行实现所述单量子逻辑门的运算。
如上所述的基于MPI多进程的单量子逻辑门实现方法,其中,优选的是,所述根据所述单量子逻辑门待作用的量子比特的比特位、及基于MPI的多个所述进程进行实现所述单量子逻辑门的运算,具体包括:根据所述单量子逻辑门待作用的量子比特的比特位和所述下标值确定待计算量子态,所述待计算量子态成对出现;根据每对所述待计算量子态在进程内分布情况确定进程的运行方式;按照所述运行方式运行所述进程实现单量子逻辑门。
如上所述的基于MPI多进程的单量子逻辑门实现方法,其中,优选的是,所述根据单量子逻辑门待作用的量子比特的比特位和所述下标值确定待计算量子态,具体包括:根据所述单量子逻辑门待作用的量子比特的比特位确定操作偏移量;根据所述操作偏移量和所述下标值确定待计算量子态;其中:任一对所述待计算量子态的所述下标值之差的绝对值均等于所述操作偏移量。
如上所述的基于MPI多进程的单量子逻辑门实现方法,其中,优选的是所述根据所述单量子逻辑门待作用的量子比特的比特位确定操作偏移量,具体包括:确定所述单量子逻辑门待作用的量子比特的比特位为目标比特位qn;根据所述目标比特位qn确定操作偏移量Q,其中:Q=2qn。
如上所述的基于MPI多进程的单量子逻辑门实现方法,其中,优选的是,所述根据每对所述待计算量子态在进程内分布情况确定进程的运行方式,具体包括:当每对所述待计算量子态分布在相同所述进程内时,所述进程内部独立运算;当每对所述待计算量子态分布在不同所述进程内时,对应于每对所述待计算量子态的各不同所述进程为相关联进程,所述相关联进程之间先基于MPI通信进行数据传输,然后在进程内部独立运算。
如上所述的基于MPI多进程的单量子逻辑门实现方法,其中,优选的是,所述当每对所述待计算量子态分布在不同所述进程内时,对应于每对所述待计算量子态的各不同所述进程为相关联进程,所述相关联进程先基于MPI通信进行数据传输,具体包括:当每对所述待计算量子态分布在不同所述进程内时,根据每对所述待计算量子态确定对应于每对所述待计算量子态的相关联进程;通过MPI通信实现对应于每对所述待计算量子态对应的各所述相关联进程的数据相互传输,使得任一所述进程获得与该所述进程相关的其它所有所述进程内的量子态数据。
如上所述的基于MPI多进程的单量子逻辑门实现方法,其中,优选的是,所述根据每对所述待计算量子态确定对应于每对所述待计算量子态的相关联进程,具体包括:确定一对所述待计算量子态所对应的两个下标值;获得两个所述下标值中的一个所述下标值对应的量子态存储分布的进程编号;根据所述进程编号和两个所述下标值之差确定另一进程编号。
与现有技术相比,本发明配置N个量子比特和2M个基于MPI通信的进程,根据所述单量子逻辑门待作用的量子比特的比特位、及基于MPI的多个所述进程进行实现所述单量子逻辑门的运算,该过程中,通过基于MPI通信的进程实现了量子态的分开存储,而量子逻辑门作用的量子比特的逻辑状态可能为|0>态、|1>态、|0>态和|1>态的叠加态,具体的,量子态可以表示为ψ=a|0>+b|1>,其中,a,b为表示量子态振幅的复数,因此使得结合量子态和单量子逻辑门对应的矩阵运算实现单量子逻辑门时需要将单量子逻辑门对应的矩阵和2N-1对量子态对应的初始化振幅分别进行运算实现量子态振幅的更新,通过基于MPI通信的进程实现了量子态的分开存储,可以方便以上运算的并行进行,随着量子比特数目的增大,只需增大基于MPI通信的进程数量便可有效提高基于单量子逻辑门的量子计算的计算能力与计算效率,一定程度上克服了单进程计算在量子比特数量的增加时存在的限制量子计算的计算能力与计算效率的缺陷和不足。
附图说明
图1是本发明实施例提供的基于MPI多进程的单量子逻辑门实现方法流程图。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
实施例1:
如图1所示,本发明的实施例提供了一种基于MPI多进程的单量子逻辑门实现方法,包括:
步骤S1:配置N个量子比特,各所述量子比特的编号为比特位n;其中:N为正整数,0≤n≤N-1。
步骤S2:确定量子态和各所述量子态的下标值,所述量子态共有2N个,所述下标值为所述量子态对应的十进制值。
具体的,例如:对5个量子比特的32个量子态的下标值为0到31的整数。
步骤S3:初始化所述量子态。
具体的,初始化所述量子态是指初始化所有量子态,在本实施例中,把下标值为0的量子态初始化为1,其它量子态初始化为0,需要说明的是,初始化量子态是指初始化量子态的振幅,考虑到量子态的振幅为复数,在本实施例中,把下标值为0的量子态初始化为1是指下标值为0的量子态的振幅初始值初始化为1+0i,其它量子态初始化为0是指把指下标值为其它值的量子态的振幅初始值初始化为0+0i。
步骤S4:配置2M个基于MPI通信的进程,并将所有所述量子态按照所述下标值的大小依次均分存储至各所述进程;其中:M为整数,且M≥1,N≥M+1。
配置2M个基于MPI通信的进程,而量子态共有2N个,实现了所有量子态的均匀存储,以及每个进程内均分布有量子态。
步骤S5:根据所述单量子逻辑门待作用的量子比特的比特位、及基于MPI的多个所述进程进行实现所述单量子逻辑门的运算。
在步骤S1至步骤S5中,配置N个量子比特和2M个基于MPI通信的进程,根据所述单量子逻辑门待作用的量子比特的比特位、及基于MPI的多个所述进程进行实现所述单量子逻辑门的运算,该过程中,通过基于MPI通信的进程实现了量子态的分开存储,而量子逻辑门作用的量子比特的逻辑状态可能为|0>态、|1>态、|0>态和|1>态的叠加态,具体的,量子态可以表示为ψ=a|0>+b|1>,其中,a,b为表示量子态振幅的复数,因此使得结合量子态和单量子逻辑门对应的矩阵运算实现单量子逻辑门时需要将单量子逻辑门对应的矩阵和2N-1对量子态对应的初始化振幅分别进行运算实现量子态振幅的更新,通过基于MPI通信的进程实现了量子态的分开存储,可以方便以上运算的并行进行,随着量子比特数目的增大,只需增大基于MPI通信的进程数量便可有效提高基于单量子逻辑门的量子计算的计算能力与计算效率,一定程度上克服了单进程计算在量子比特数量的增加时存在的限制量子计算的计算能力与计算效率的缺陷和不足。
在具体实施的时候,步骤S5所述根据所述单量子逻辑门待作用的量子比特的比特位、及基于MPI的多个所述进程进行实现所述单量子逻辑门的运算,具体包括步骤S51至步骤S53:
步骤S51:根据所述单量子逻辑门待作用的量子比特的比特位和所述下标值确定待计算量子态,所述待计算量子态成对出现。
具体的,待计算量子态成对出现是由单量子逻辑门作用决定的,成对出现的待计算量子态的数量是由量子比特数量决定的,共有2N-1对。
在具体操作的时候,成对出现的待计算量子态的确定,需要根据所述单量子逻辑门待作用的量子比特的比特位进行,具体的,根据所述单量子逻辑门待作用的量子比特的比特位确定操作偏移量。将所述单量子逻辑门待作用的量子比特的比特位记为目标比特位qn,则操作偏移量Q=2qn。根据所述操作偏移量和所述下标值确定待计算量子态,即任一对所述待计算量子态的所述下标值之差的绝对值均等于所述操作偏移量。
步骤S52:根据每对所述待计算量子态在进程内分布情况确定进程的运行方式。
具体的,当每对所述待计算量子态分布在相同所述进程内时,所述进程内部独立运算;当每对所述待计算量子态分布在不同所述进程内时,对应于每对所述待计算量子态的各不同所述进程为相关联进程,所述相关联进程之间先基于MPI通信进行数据传输更新所述进程,然后在进程内部独立运算。在具体操作的时候,当每对所述待计算量子态分布在不同所述进程内时,根据每对所述待计算量子态寻找对应于每对所述待计算量子态的相关联进程;通过MPI通信实现对应于每对所述待计算量子态的各所述相关联进程的数据相互传输,以使得任一所述进程获得与该所述进程相关的其它所有所述进程内的量子态数据。即当任一对所述待计算量子态包括的两个待计算量子态分布在同一进程内,则进行单进程内部独立运算;当任一对所述待计算量子态分布在两对应进程内,则两对应所述进程先进行MPI通信传输数据再单进程内部独立运算。需要说明的是,单进程内部独立运算具体包括所述单量子逻辑门对应的矩阵与一对所述待计算量子态的矩阵乘法运算实现量子态振幅的更新。
下面结合程序语言说明矩阵乘法运算实现量子态振幅的更新的过程。具体:
单量子逻辑门对应的矩阵为
对5量子比特,单量子逻辑门作用在q0上时,其中一对待计算量子态为00000(0)和00001(1),分别记为state[0000]和state[0001],定义复数a和b,则Complex a=ComplexState[m];Complex b=Complex State[m+offset],然后进行矩阵运算实现量子态振幅更新为State[m]=U00*a+U01*b;State[m+offset]=U10*a+U11*b;其中:offset为一对待计算量子态之间操作偏移量,在00000(0)和00001(1)中,offset为1.
步骤S53:按照所述运行方式运行所述进程实现单量子逻辑门。
通过实施例1,本实施例提供了一种根据配置的量子比特数和所具有的量子态配置基于MPI的多进程,采用基于MPI的多进程实现单量子逻辑门实现的运算,避免了单进程在实现单量子逻辑门时随着量子比特数的增加存在的计算内存受限、计算效率低缺陷和不足。
实施例2:
为了充分说明本发明,本实施例以单量子逻辑门H作用在5(即N等于5)量子比特的实现为例,进行详细介绍,具体如下:
5个量子比特分别为q0、q1、q2、q3、q4,其中:下标为比特为n,可以看到0≤n≤4。5个量子比特对应的量子态共用32个,分别为00000(0)、00001(1)、00010(2)、00011(3)、00100(4)、00101(5)、00110(6)、00111(7)、01000(8)、01001(9)、01010(10)、01011(11)、01100(12)、01101(13)、01110(14)、01111(15)、10000(16)、10001(17)、10010(18)、10011(19)、10100(20)、10101(21)、10110(22)、10111(23)、11000(24)、11001(25)、11010(26)、11011(27)、11100(28)、11101(29)、11110(30)、11111(31)。其中()内为该量子态对应的十进制值,在本实施例中,也称为量子态的下标值。另外需要说明的是,量子态的表示中,量子位从左到有排布低位和高位,即量子态表示符号q4q3q2q1q0的排布规则。
接下来,初始化32个量子态,是指把下标值为0的量子态00000的振幅初始化为1,其它量子态均初始化为0,考虑到量子态的复数表示,在本实施例中,量子态初始化为1的数学表示为1+0i,量子态初始化为0的数学表示为0+0i。
然后配置2M个基于MPI通信的进程,当量子比特数为5时,可以配置2个基于MPI通信的进程、4个基于MPI通信的进程、8个基于MPI通信的进程、16个基于MPI通信的进程、32个基于MPI通信的进程。当配置32个基于MPI通信的进程时,每个进程中存储一个量子态,在进行任何量子计算时,均需要进行基于MPI的通信,所以本实施例中,取M≤N-1,以保证每个进程中均存储至少2个量子态。当配置2个基于MPI通信的进程时,每个进程内存储16个量子态,该16对量子态中存在成对出现的量子态的最大对数为8,即该进程内存在可能按照单进程处理思路连续处理8次的操作,该操作是否会影响处理速度,需要本领域技术人员自行判断,本实施例第一种情况为以配置16(24,即M为4)个基于MPI通信的进程为基础进行后续介绍。第二种情况为以配置8(23,即M为3)个基于MPI通信的进程为基础进行后续介绍.
其中,第一种情况为以配置16(24,即M为4)个基于MPI通信的进程为基础进行后续介绍时16个基于MPI通信的进程存储量子态的情况如表1所示:
表1量子态在16进程中的存储分布
下面将依次以单量子逻辑门作用在q0(比特位qn=0)、q1(比特位qn=1)、q2(比特位qn=0)、q2(比特位qn=3)、q4(比特位qn=4)为例进行介绍单量子逻辑门的实现。
在本实施例,单量子逻辑门一H门为例,H门对应的矩阵
(1)、当单量子逻辑门H作用在q0(比特位qn=0)时,操作偏移量Q=2qn=20=1,此时下标值之差为1的量子态共有16对,且16对量子态如表1所示,分布在16个进程中,即每一对量子态分布在一个进程中,此时进行单进程内部独立运算即可,即编号0到编号15的进程内分别进行独立运算即可。
对编号为O的进程结合单量子逻辑门H门的矩阵进行运算的过程如下此时,0号进程内存在一对量子态,具体为00000(0)和00001(1),此时。编号为O的进程进行的运算为:
(2)、当单量子逻辑门H作用在q1(比特位qn=1)时,操作偏移量Q=2q1=21=2,此时下标值之差为2的量子态共有16对,分别为00000(0)和00010(2)、00001(1)和00011(3)、00100(4)和00110(6)、00101(5)和00111(7)、01000(8)和01010(10)、01001(9)和01011(11)、01100(12)和01110(14)、01101(13)和01111(15)、10000(16)和10010(18)、10001(17)和10011(19)、10100(20)和10110(22)、10101(21)和10111(23)、11000(24)和11010(26)、11001(25)和11011(27)、11100(28)和11110(30)、11101(29)和11111(31)。结合表1量子态在16进程中的存储分布可知,每一对量子态分布在不同的两个进程中,两个进程的编号的差(大编号减去小编号)为1(1=21=2q1/2),可以理解为操作偏移量除以每个进程内的量子态数目,该两个进程记为对应该对量子态的一对相应的进程,也称为对应该对量子态的相关联进程,每一对量子态都有两个对应的相关联进程。在具体操作的时候,确定一对所述待计算量子态所对应的两个下标值;获得两个所述下标值中的一个所述下标值对应的量子态存储分布的进程编号;根据所述进程编号和两个所述下标值之差确定另一进程编号,即可获得两个相关联进程。此时欲实现单量子逻辑门对应的矩阵和一对量子态的计算,需要一对相应的进程之间通过MPI通信进行数据传输至同一进程内,然后在该进程内进行独立计算。运算过程同上,在此不做过多介绍。
(3)、当单量子逻辑门H作用在q2(比特位qn=2)时,操作偏移量Q=2q2=22=4,此时下标值之差为4的量子态共有16对,分别为00000(0)和00100(4)、00001(1)和00101(5)、00010(2)和00110(6)、00011(3)和00111(7)、01000(8)和01100(12)、01001(9)和01101(13)、01010(10)和01110(14)、01011(11)和01111(15)、10000(16)和10100(20)、10001(17)和10101(21)、10010(18)和10110(22)、10011(19)和10111(23)、11000(24)和11100(28)、11001(25)和11101(29)、11010(26)和11110(30)、11011(27)和11111(31)。结合表1量子态在16进程中的存储分布可知,每一对量子态分布在两个不同进程中,两个进程的编号的差(大编号减去小编号)为2(2=21=2q2/2),可以理解为操作偏移量除以每个进程内的量子态数目,该两个进程记为对应该对量子态的一对相应的进程,也称为对应该对量子态的相关联进程,每一对量子态都有两个对应的相关联进程。在具体操作的时候,确定一对所述待计算量子态所对应的两个下标值;获得两个所述下标值中的一个所述下标值对应的量子态存储分布的进程编号;根据所述进程编号和两个所述下标值之差确定另一进程编号,即可获得两个相关联进程。此时欲实现单量子逻辑门对应的矩阵和一对量子态的计算,需要一对相应的进程之间通过MPI通信进行数据传输至同一进程内,然后在该进程内进行独立计算。运算过程同上,在此不做过多介绍。
(4)、当单量子逻辑门H作用在q3(比特位qn=3)时,操作偏移量Q=2q3=23=8,此时下标值之差为8的量子态共有16对,分别为00000(0)和01000(8)、00001(1)和01001(9)、100010(2)和01010(10)、00011(3)和01011(11)、00100(4)和01100(12)、00101(5)和01101(13)、00110(6)和01110(14)、00111(7)和01111(15)、0000(16)和11000(24)、10001(17)和11001(25)、10010(18)和11010(26)、10011(19)和11011(27)、10100(20)和11100(28)、10101(21)和11101(29)、10110(22)和11110(30)、10111(23)和11111(31)。结合表1量子态在16进程中的存储分布可知,每一对量子态分布在两个进程中,两个进程的编号的差(大编号减去小编号)为4(4=22=2q3/2),可以理解为操作偏移量除以每个进程内的量子态数目,该两个进程记为对应该对量子态的一对相应的进程,也称为对应该对量子态的相关联进程,每一对量子态都有两个对应的相关联进程。在具体操作的时候,确定一对所述待计算量子态所对应的两个下标值;获得两个所述下标值中的一个所述下标值对应的量子态存储分布的进程编号;根据所述进程编号和两个所述下标值之差确定另一进程编号,即可获得两个相关联进程。此时欲实现单量子逻辑门对应的矩阵和一对量子态的计算,需要一对相应的进程之间通过MPI通信进行数据传输至同一进程内,然后在该进程内进行独立计算。运算过程同上,在此不做过多介绍。
(5)、当单量子逻辑门H作用在q4(比特位qn=4)时,操作偏移量Q=2q4=24=16,此时下标值之差为16的量子态共有16对,分别为00000(0)和10000(16)、00001(1)和10001(17)、00010(2)和10010(18)、00011(3)和10011(19)、00100(4)和10100(20)、00101(5)和10101(21)、00110(6)和10110(22)、00111(7)和10111(23)、01000(8)和11000(24)、01001(9)和11001(25)、01010(10)和11010(26)、01011(11)和11011(27)、01100(12)和11100(28)、01101(13)和11101(29)、和01110(14)和11110(30)、01111(15)和11111(31)。结合表1量子态在16进程中的存储分布可知,每一对量子态分布在两个进程中,两个进程的编号的差(大编号减去小编号)为8(8=23=2q4/2),可以理解为操作偏移量除以每个进程内的量子态数目,该两个进程记为对应该对量子态的一对相应的进程,也称为对应该对量子态的相关联进程,每一对量子态都有两个对应的相关联进程。在具体操作的时候,确定一对所述待计算量子态所对应的两个下标值;获得两个所述下标值中的一个所述下标值对应的量子态存储分布的进程编号;根据所述进程编号和两个所述下标值之差确定另一进程编号,即可获得两个相关联进程。此时欲实现单量子逻辑门对应的矩阵和一对量子态的计算,需要一对相应的进程之间通过MPI通信进行数据传输至同一进程内,然后在该进程内进行独立计算。运算过程同上,在此不做过多介绍。
本实施例第二种情况为以配置8(23,即M为3)个基于MPI通信的进程为基础进行后续介绍。其中,8个基于MPI通信的进程存储量子态的情况如表2所示:
表2量子态在8进程中的存储分布
下面将依次以单量子逻辑门作用在q0(比特位qn=0)、q1(比特位qn=1)、q2(比特位qn=0)、q3(比特位qn=3)、q4(比特位qn=4)为例进行介绍单量子逻辑门的实现。
在本实施例,单量子逻辑门一H门为例,H门对应的矩阵
(1)、当单量子逻辑门H作用在q0(比特位qn=0)时,操作偏移量Q=2qn=20=1,此时下标值之差为1的量子态共有16对,且16对量子态如表2所示,分布在8个进程中,每个进程中包含两对量子态,此时进行单进程内部独立运算即可,即编号0到编号7的进程内分别进行独立运算即可。运算过程同上,在此不做过多介绍。
(2)、当单量子逻辑门H作用在q1(比特位qn=1)时,操作偏移量Q=2q1=21=2,此时下标值之差为2的量子态共有16对,分别为00000(0)和00010(2)、00001(1)和00011(3)、00100(4)和00110(6)、00101(5)和00111(7)、01000(8)和01010(10)、01001(9)和01011(11)、01100(12)和01110(14)、01101(13)和01111(15)、10000(16)和10010(18)、10001(17)和10011(19)、10100(20)和10110(22)、10101(21)和10111(23)、11000(24)和11010(26)、11001(25)和11011(27)、11100(28)和11110(30)、11101(29)和11111(31)。结合表2量子态在8进程中的存储分布可知,每个进程中包含两对量子态,此时进行单进程内部独立运算即可,即编号0到编号7的进程内分别进行独立运算即可。
(3)、当单量子逻辑门H作用在q2(比特位qn=2)时,操作偏移量Q=2q2=22=4,此时下标值之差为4的量子态共有16对,分别为00000(0)和00100(4)、00001(1)和00101(5)、00010(2)和00110(6)、00011(3)和00111(7)、01000(8)和01100(12)、01001(9)和01101(13)、01010(10)和01110(14)、01011(11)和01111(15)、10000(16)和10100(20)、10001(17)和10101(21)、10010(18)和10110(22)、10011(19)和10111(23)、11000(24)和11100(28)、11001(25)和11101(29)、11010(26)和11110(30)、11011(27)和11111(31)。结合表2量子态在8进程中的存储分布可知,每一对量子态分布在两个进程中,两个进程的编号的差(大编号小小编号)为1(2=21=2q2/4),可以理解为操作偏移量除以每个进程内的量子态数目,该两个进程记为对应该对量子态的一对相应的进程,也称为对应该对量子态的相关联进程,每一对量子态都有两个对应的相关联进程。在具体操作的时候,确定一对所述待计算量子态所对应的两个下标值;获得两个所述下标值中的一个所述下标值对应的量子态存储分布的进程编号;根据所述进程编号和两个所述下标值之差确定另一进程编号,即可获得两个相关联进程。此时欲实现单量子逻辑门对应的矩阵和一对量子态的计算,需要一对相应的进程之间通过MPI通信进行数据传输至同一进程内,然后在该进程内进行独立计算。需要说明的,一对相应的进程之间通过MPI通信进行数据传输时,传输的是一个进程内的全部数据,此时,接收进程内存在两对量子态,在运算时,也需要基于单量子逻辑门对应的矩阵和每一对量子态的分别进行计算,运算过程同上,在此不做过多介绍。
(4)、当单量子逻辑门H作用在q3(比特位qn=3)时,操作偏移量Q=2q3=23=8,此时下标值之差的量子态共有16对,分别为00000(0)和01000(8)、00001(1)和01001(9)、100010(2)和01010(10)、00011(3)和01011(11)、00100(4)和01100(12)、00101(5)和01101(13)、00110(6)和01110(14)、00111(7)和01111(15)、0000(16)和11000(24)、10001(17)和11001(25)、10010(18)和11010(26)、10011(19)和11011(27)、10100(20)和11100(28)、10101(21)和11101(29)、10110(22)和11110(30)、10111(23)和11111(31)。结合表2量子态在8进程中的存储分布可知,每一对量子态分布在两个进程中,两个进程的编号的差(大编号减去小编号)为2(2=23=2q3/4),可以理解为操作偏移量除以每个进程内的量子态数目,该两个进程记为对应该对量子态的一对相应的进程,也称为对应该对量子态的相关联进程,每一对量子态都有两个对应的相关联进程。在具体操作的时候,确定一对所述待计算量子态所对应的两个下标值;获得两个所述下标值中的一个所述下标值对应的量子态存储分布的进程编号;根据所述进程编号和两个所述下标值之差确定另一进程编号,即可获得两个相关联进程。此时欲实现单量子逻辑门对应的矩阵和一对量子态的计算,需要一对相应的进程之间通过MPI通信进行数据传输至同一进程内,然后在该进程内进行独立计算。需要说明的,一对相应的进程之间通过MPI通信进行数据传输时,传输的是一个进程内的全部数据,此时,接收进程内存在两对量子态,在运算时,也需要基于单量子逻辑门对应的矩阵和每一对量子态的分别进行计算,运算过程同上,在此不做过多介绍。
(5)、当单量子逻辑门H作用在q4(比特位qn=4)时,操作偏移量Q=2q4=24=16,此时下标值之差为16的量子态共有16对,分别为00000(0)和10000(16)、00001(1)和10001(17)、00010(2)和10010(18)、00011(3)和10011(19)、00100(4)和10100(20)、00101(5)和10101(21)、00110(6)和10110(22)、00111(7)和10111(23)、01000(8)和11000(24)、01001(9)和11001(25)、01010(10)和11010(26)、01011(11)和11011(27)、01100(12)和11100(28)、01101(13)和11101(29)、和01110(14)和11110(30)、01111(15)和11111(31)。结合表2量子态在8进程中的存储分布可知,每一对量子态分布在两个进程中,两个进程的编号的差(大编号减去小编号)为4(4=24=2q4/4),可以理解为操作偏移量除以每个进程内的量子态数目,该两个进程记为对应该对量子态的一对相应的进程,也称为对应该对量子态的相关联进程,每一对量子态都有两个对应的相关联进程。在具体操作的时候,确定一对所述待计算量子态所对应的两个下标值;获得两个所述下标值中的一个所述下标值对应的量子态存储分布的进程编号;根据所述进程编号和两个所述下标值之差确定另一进程编号,即可获得两个相关联进程。此时欲实现单量子逻辑门对应的矩阵和一对量子态的计算,需要一对相应的进程之间通过MPI通信进行数据传输至同一进程内,然后在该进程内进行独立计算。运算过程同上,在此不做过多介绍。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。

Claims (7)

1.一种基于MPI多进程的单量子逻辑门实现方法,其特征在于,包括:
配置N个量子比特,各所述量子比特的编号为比特位n;其中:N为正整数,0≤n≤N-1;
确定量子态和各所述量子态的下标值,所述量子态共有2N个,所述下标值为所述量子态对应的十进制值;
初始化所述量子态;
配置2M个基于MPI通信的进程,并将所有所述量子态按照所述下标值的大小依次均分存储至各所述进程;其中:M为整数,且M≥1,N≥M+1;
根据所述单量子逻辑门待作用的量子比特的比特位、及基于MPI的多个所述进程进行实现所述单量子逻辑门的运算。
2.根据权利要求1所述的基于MPI多进程的单量子逻辑门实现方法,其特征在于:所述根据所述单量子逻辑门待作用的量子比特的比特位、及基于MPI的多个所述进程进行实现所述单量子逻辑门的运算,具体包括:
根据所述单量子逻辑门待作用的量子比特的比特位和所述下标值确定待计算量子态,所述待计算量子态成对出现;
根据每对所述待计算量子态在进程内分布情况确定进程的运行方式;
按照所述运行方式运行所述进程实现单量子逻辑门。
3.根据权利要求2所述的基于MPI多进程的单量子逻辑门实现方法,其特征在于:所述根据单量子逻辑门待作用的量子比特的比特位和所述下标值确定待计算量子态,具体包括:
根据所述单量子逻辑门待作用的量子比特的比特位确定操作偏移量;
根据所述操作偏移量和所述下标值确定待计算量子态;其中:任一对所述待计算量子态的所述下标值之差的绝对值均等于所述操作偏移量。
4.根据权利要求3所述的基于MPI多进程的单量子逻辑门实现方法,所述根据所述单量子逻辑门待作用的量子比特的比特位确定操作偏移量,具体包括:
确定所述单量子逻辑门待作用的量子比特的比特位为目标比特位qn;
根据所述目标比特位qn确定操作偏移量Q,其中:Q=2qn
5.根据权利要求2所述的基于MPI多进程的单量子逻辑门实现方法,其特征在于:所述根据每对所述待计算量子态在进程内分布情况确定进程的运行方式,具体包括:
当每对所述待计算量子态分布在相同所述进程内时,所述进程内部独立运算;
当每对所述待计算量子态分布在不同所述进程内时,对应于每对所述待计算量子态的各不同所述进程为相关联进程,所述相关联进程之间先基于MPI通信进行数据传输,然后在进程内部独立运算。
6.根据权利要求5所述的基于MPI多进程的单量子逻辑门实现方法,其特征在于:所述当每对所述待计算量子态分布在不同所述进程内时,对应于每对所述待计算量子态的各不同所述进程为相关联进程,所述相关联进程先基于MPI通信进行数据传输,具体包括:
当每对所述待计算量子态分布在不同所述进程内时,根据每对所述待计算量子态确定对应于每对所述待计算量子态的相关联进程;
通过MPI通信实现对应于每对所述待计算量子态对应的各所述相关联进程的数据相互传输,使得任一所述进程获得与该所述进程相关的其它所有所述进程内的量子态数据。
7.根据权利要求6所述的基于MPI多进程的单量子逻辑门实现方法,其特征在于:所述根据每对所述待计算量子态确定对应于每对所述待计算量子态的相关联进程,具体包括:
确定一对所述待计算量子态所对应的两个下标值;
获得两个所述下标值中的一个所述下标值对应的量子态存储分布的进程编号;
根据所述进程编号和两个所述下标值之差确定另一进程编号。
CN201910281491.4A 2019-04-09 2019-04-09 一种基于mpi多进程的单量子逻辑门实现方法 Active CN110020727B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910281491.4A CN110020727B (zh) 2019-04-09 2019-04-09 一种基于mpi多进程的单量子逻辑门实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910281491.4A CN110020727B (zh) 2019-04-09 2019-04-09 一种基于mpi多进程的单量子逻辑门实现方法

Publications (2)

Publication Number Publication Date
CN110020727A true CN110020727A (zh) 2019-07-16
CN110020727B CN110020727B (zh) 2021-06-08

Family

ID=67190813

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910281491.4A Active CN110020727B (zh) 2019-04-09 2019-04-09 一种基于mpi多进程的单量子逻辑门实现方法

Country Status (1)

Country Link
CN (1) CN110020727B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110705711A (zh) * 2019-09-17 2020-01-17 合肥本源量子计算科技有限责任公司 一种量子态信息降维编码方法及装置
CN111461336A (zh) * 2020-04-03 2020-07-28 合肥本源量子计算科技有限责任公司 基于mpi多进程的含噪声双量子逻辑门实现方法及装置
CN111461335A (zh) * 2020-04-03 2020-07-28 合肥本源量子计算科技有限责任公司 基于mpi多进程的含噪声单量子逻辑门实现方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1568456A (zh) * 2001-09-14 2005-01-19 独立行政法人科学技术振兴机构 半导体运算装置
JP3656152B2 (ja) * 1998-08-19 2005-06-08 独立行政法人理化学研究所 量子コンピュータにおける量子ビット素子構造および量子相関ゲート素子構造
US20090096004A1 (en) * 2007-10-05 2009-04-16 Kenji Kawabata Semiconductor storage device and manufacturing method thereof
CN107393587A (zh) * 2017-08-11 2017-11-24 中国科学技术大学 可多自由度并行复用的固态量子存储装置
CN109409524A (zh) * 2018-09-26 2019-03-01 合肥本源量子计算科技有限责任公司 一种量子程序运行方法及装置、存储介质及电子装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3656152B2 (ja) * 1998-08-19 2005-06-08 独立行政法人理化学研究所 量子コンピュータにおける量子ビット素子構造および量子相関ゲート素子構造
CN1568456A (zh) * 2001-09-14 2005-01-19 独立行政法人科学技术振兴机构 半导体运算装置
US20090096004A1 (en) * 2007-10-05 2009-04-16 Kenji Kawabata Semiconductor storage device and manufacturing method thereof
CN107393587A (zh) * 2017-08-11 2017-11-24 中国科学技术大学 可多自由度并行复用的固态量子存储装置
CN109409524A (zh) * 2018-09-26 2019-03-01 合肥本源量子计算科技有限责任公司 一种量子程序运行方法及装置、存储介质及电子装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A. N. VETLUGIN ETAL.: "The Efficiency of Parallel Quantum Memory for Light in a Cavity Configuration", 《OPTICS AND SPECTROSCOP》 *
苏丹等: "八粒子量子态对彩色图像的存储方案", 《云南师范大学学报(自然科学版)》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110705711A (zh) * 2019-09-17 2020-01-17 合肥本源量子计算科技有限责任公司 一种量子态信息降维编码方法及装置
CN110705711B (zh) * 2019-09-17 2023-08-11 本源量子计算科技(合肥)股份有限公司 用于量子态信息降维编码的量子逻辑门的确定方法及装置
CN111461336A (zh) * 2020-04-03 2020-07-28 合肥本源量子计算科技有限责任公司 基于mpi多进程的含噪声双量子逻辑门实现方法及装置
CN111461335A (zh) * 2020-04-03 2020-07-28 合肥本源量子计算科技有限责任公司 基于mpi多进程的含噪声单量子逻辑门实现方法及装置
CN111461336B (zh) * 2020-04-03 2023-11-03 本源量子计算科技(合肥)股份有限公司 基于mpi多进程的含噪声双量子逻辑门实现方法及装置
CN111461335B (zh) * 2020-04-03 2023-12-15 本源量子计算科技(合肥)股份有限公司 基于mpi多进程的含噪声单量子逻辑门实现方法及装置

Also Published As

Publication number Publication date
CN110020727B (zh) 2021-06-08

Similar Documents

Publication Publication Date Title
CN110020727A (zh) 一种基于mpi多进程的单量子逻辑门实现方法
CN105468335B (zh) 流水级运算装置、数据处理方法及片上网络芯片
Tsianos et al. Push-sum distributed dual averaging for convex optimization
CN107807819A (zh) 一种支持离散数据表示的用于执行人工神经网络正向运算的装置及方法
CN107305485A (zh) 一种用于执行多个浮点数相加的装置及方法
CN109858623A (zh) 用于执行人工神经网络正向运算的装置和方法
TWI755043B (zh) 硬體中s型函數及包括其之可重組態資料處理器
CN104375802B (zh) 一种乘除法器及运算方法
US11481618B2 (en) Optimization apparatus and method for controlling neural network
CN105912501B (zh) 一种基于大规模粗粒度可重构处理器的sm4-128加密算法实现方法及系统
CN108416437A (zh) 用于乘加运算的人工神经网络的处理系统及方法
CN101097511A (zh) 使用折叠的模归约
CN107766031B (zh) 分段式除法器、分段式除法运算方法、以及电子设备
CN107766936A (zh) 人造神经网络、人造神经元及人造神经元的控制方法
CN111461335B (zh) 基于mpi多进程的含噪声单量子逻辑门实现方法及装置
CN109190413B (zh) 一种基于fpga和md5加密的串行通信系统
WO2022199459A1 (zh) 一种可重构处理器及配置方法
KR20210044180A (ko) 고급 상호 연결 통신기술을 이용한 ai 훈련 가속화 방법 및 시스템
TWI802332B (zh) 可重組態處理器的資源分配
CN109993309A (zh) 一种基于mpi多进程的双量子逻辑门实现方法
CN106814990A (zh) Cordic算法的优化方法
WO2016205155A1 (en) Mixed-radix carry-lookahead adder architecture
CN111563598B (zh) 预估量子计算模拟时间的方法、系统
Hu et al. A practical design of hash functions for IPv6 using multi-objective genetic programming
KR20210126398A (ko) 시스톨릭 어레이를 갖는 신경망 연산 장치

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