发明内容
本公开的目的是提供一种基于稳定子的基态能量计算方法及相关设备,旨在解决求解基态时遇到的局部最小和贫瘠高原问题,提高基态求解效率。
为了实现上述目的,本公开第一方面,提供一种基于稳定子的基态能量计算方法,所述方法包括:
获取目标量子体系的目标哈密顿量的泡利校验矩阵和系数集合,所述泡利校验矩阵的行向量用于表征所述目标哈密顿量的泡利项;
从所述系数集合中选出绝对值最大的目标系数,并从所述泡利校验矩阵中选出对应所述目标系数的目标行向量;
在所述目标系数为正数时,将所述目标行向量取反后作为稳定子生成元,在所述目标系数为负数时,直接将所述目标行向量作为稳定子生成元;
更新所述泡利校验矩阵,以使得更新后的所述泡利校验矩阵中的行向量均与所述稳定子生成元满足对易关系且互相线性无关,并相应更新所述系数集合;
在得到的所述稳定子生成元数量小于所述目标量子体系的量子比特数量时,返回执行所述从所述系数集合中选出绝对值最大的目标系数,并从所述泡利校验矩阵中选出对应所述目标系数的目标行向量的步骤;
在得到的所述稳定子生成元数量等于所述目标量子体系的量子比特数量时,基于所有的所述稳定子生成元计算所述目标量子体系的基态能量。
可选地,所述更新所述泡利校验矩阵,以使得更新后的所述泡利校验矩阵中的行向量均与所述稳定子生成元满足对易关系且互相线性无关,并相应更新所述系数集合,包括:
从所述泡利校验矩阵中删除每一个与所述稳定子生成元不对易的行向量,并从所述系数集合中删除与该行向量对应的系数;
基于高斯消元法或施密特正交化对所述泡利校验矩阵进行变换,以消去所述泡利校验矩阵中与所述稳定子生成元线性相关的行向量,并相应更新所述系数集合。
可选地,所述获取目标量子体系的目标哈密顿量的泡利校验矩阵,包括:
获取目标量子体系的目标哈密顿量的泡利项集合;
针对所述泡利项集合中每个泡利项,确定所述泡利项中的算符,基于如下关系获取对应所述算符的表示向量:
I=[0|0],X=[0|1],Y=[1|1],Z=[1|0];
其中,I为恒等算符,X为泡利算符,Y为/>泡利算符,Z为/>泡利算符;
针对所述每个泡利项中的所述算符对应的所述表示向量,将所述表示向量的左侧元素按照对应的所述算符于所述泡利项中的顺序拼接,得到第一行向量,将每个所述表示向量的右侧元素按照所述顺序拼接,得到第二行向量,再将所述第一行向量拼接于所述第二行向量左侧,得到校验行向量;
基于所述校验行向量得到泡利校验矩阵。
可选地,所述从所述泡利校验矩阵中删除每一个与所述稳定子生成元不对易的行向量,包括:
获取扭曲矩阵,所述扭曲矩阵包含分别位于左上方、右下方、右上方和左下方的子矩阵,其中位于左上方和右下方的所述子矩阵为零矩阵,位于右上方和左下方的所述子矩阵为单位矩阵;
针对所述泡利校验矩阵的每一行向量,计算该行向量乘以所述扭曲矩阵再乘以所述稳定子生成元的转置向量的模2运算结果;
在所述运算结果不为0时,确定所述泡利校验矩阵中对应于该运算结果的行向量与所述稳定子生成元不对易,并从所述泡利校验矩阵中删除该行向量。
可选地,所述目标哈密顿量为:
其中,H为目标哈密顿量,为泡利项,c 0和c i 为系数,/>为泡利项中的算符,I为恒等算符,X为/>泡利算符,Y为/>泡利算符,Z为/>泡利算符。
可选地,所述基于所有的所述稳定子生成元计算所述目标量子体系的基态能量,包括:
基于如下公式计算所述目标量子体系的基态能量:
其中,E为所述基态能量,是所述目标哈密顿量中仅由恒等算符构成的项的系数,/>为第k个稳定子生成元被选中时的实时系数。
本公开实施例的第二方面,提供一种基于稳定子的基态能量计算装置,所述装置包括:
获取模块,用于获取目标量子体系的目标哈密顿量的泡利校验矩阵和系数集合,所述泡利校验矩阵的行向量用于表征所述目标哈密顿量的泡利项;
选出模块,用于从所述系数集合中选出绝对值最大的目标系数,并从所述泡利校验矩阵中选出对应所述目标系数的目标行向量;
稳定子生成元模块,用于在所述目标系数为正数时,将所述目标行向量取反后作为稳定子生成元,在所述目标系数为负数时,直接将所述目标行向量作为稳定子生成元;
更新模块,用于更新所述泡利校验矩阵,以使得更新后的所述泡利校验矩阵中的行向量均与所述稳定子生成元满足对易关系且互相线性无关,并相应更新所述系数集合;
返回执行模块,用于在得到的所述稳定子生成元数量小于所述目标量子体系的量子比特数量时,返回执行所述从所述系数集合中选出绝对值最大的目标系数,并从所述泡利校验矩阵中选出对应所述目标系数的目标行向量的步骤;
基态能量计算模块,用于在得到的所述稳定子生成元数量等于所述目标量子体系的量子比特数量时,基于所有的所述稳定子生成元计算所述目标量子体系的基态能量。
本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述方法的步骤。
本公开实施例的第四方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述第一方面中任一项所述方法的步骤。
通过上述技术方案,选出泡利校验矩阵和系数集合后,在每次迭代过程中,从系数集合中选出绝对值最大的目标系数,从所述泡利校验矩阵中选出对应所述目标系数的目标行向量,并在所述目标系数为正数时,将所述目标行向量取反后作为稳定子生成元,在所述目标系数为负数时,直接将所述目标行向量作为稳定子生成元,之后对泡利校验矩阵和系数集合进行更新,以便于下次迭代过程寻找稳定子生成元。该过程即直接从哈密顿量出发去寻找稳定子生成元,可以完全避免变分电路中的贫瘠高原困境,并在很大程度上缓解其局部最小问题。并且由于利用了泡利算符的量子编码来进行运算,算法较为高效。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
当前量子计算正处于所谓含噪中等规模(NISQ,Noisy Intermediate-ScaleQuantum)时代,还需要一段时间才能最终实现通用容错计算。在这一时期,量子硬件的性能还不足以保证许多复杂量子算法的顺利执行,从而在一定程度上限制了量子计算的实用。在这一背景下,对介于经典和量子之间的各种半经典算法进行开发是大有益处的:从经典的角度来看,它表现为量子启发式算法,可以在经典算力上实现,并在一定程度上对经典算法有所改善和补充;从量子的角度看,它可以作为预处理步骤,为进一步的量子计算奠定基础。
多量子比特态构成的希尔伯特空间是很大的。对于n量子比特体系,这一空间的维度是2n。这一方面使得量子计算得以超越经典计算的理论基础,另一方面也给量子算法的具体实现带来了一定难度。考虑如下哈密顿量:
上述哈密顿量中,和/>均为系数,I、X、Y、Z分别表示不同的算符。这里每个泡利(Pauli)项/>是作用在不同量子比特上的泡利算符σ的张量积/>。通过计算哈密顿量的本征值,就可以得到能量。我们希望找到能量最低的态,也就是基态。由于整个希尔伯特空间很大,要直接找到基态是很困难的。例如,利用变分量子本征求解器(VQE)算法求解基态,常常会遇到所谓局部最小(local minimum)和贫瘠高原(barren plateau)问题。这些问题出现的原因之一就是,整个希尔伯特空间是指数维的,而哈密顿量中涉及的泡利项的集合/>一般来说只是多项式大小的。为缓解这些问题,可以考虑先设法缩小希尔伯特空间,在一个特定的子空间中近似求解。例如,可以选择子空间为所谓“稳定子态”构成的空间。
首先对稳定子体系进行简单介绍。我们定义单量子比特的泡利群为:
而n比特Pauli群则相应地定义为:;
这里表示张量积。对于/>的任意交换子群/>,如果/>不包含/>,我们可以定义一个子空间/>,使得:
我们称是被/>稳定的空间,而/>是空间/>的稳定子。对于有限群,我们常常用它的生成元来进行描述。于是,我们可以将/>写成:
这里是/>的一组生成元。可以证明,如果/>的独立生成元数目为/>,则/>的维度为/>。在特殊情形/>下,/>为1维空间,也就是由唯一的态组成。我们把这种态称作“稳定子态”。于是,对于特定的稳定子态,我们只需要找到n个独立的稳定子生成元就可以完整描述。
根据已知的研究,所有稳定子态在整个希尔伯特空间中是均匀分布的,因此,我们可以先在所有稳定子态构成的离散子空间中寻找哈密顿量的最低能量态。由于搜索空间大大缩小,求解难度在一定程度上降低了。同时,求得的稳定子态可以很接近真实基态,可以为后续精确求解奠定基础。
尽管稳定子态空间是有限大小的,但其态数仍然是巨大的。由n个量子比特构成的稳定子态总数目为:
所以,在这一空间上的搜索仍然是非常困难的。
为此,我们可以先考虑稳定子态之间的演化。我们知道,描述一般量子态演化的通用量子电路,可以用通用门集来近似生成。如果我们去掉/>门,只用作为基础门集,得到的是一类非常特殊的电路,即所谓Clifford电路。可以证明,Clifford电路将泡利项映射为泡利项,因而将稳定子态映射为稳定子态。同时,Gottesman-Knill定理告诉我们,Clifford电路可以用经典计算有效模拟。于是,人们尝试用Clifford电路来实现稳定子态的制备和搜索,并类比于变分电路的术语,称这一方法为“Clifford拟设”。
Clifford拟设最直接的实现方式是将一般变分电路中的单比特含参转动门的参数限制在集合上。注意这并不能遍历所有的Clifford电路。可以证明,所有Clifford电路的数目比稳定子态的数目还要多,大约是/>。这里指数上的/>项对应着不同纠缠结构,也就是CNOT门的选取方式。哪怕固定纠缠,Clifford电路的数目仍然很大,大约是/>。对这一庞大的空间进行遍历显然是不现实的。于是,人们类比变分电路的参数优化,引入适当的经典优化方法在这一离散空间中进行参数优化,比如离散贝叶斯,经典退火等。由于参数空间仍然远大于哈密顿中Pauli项的取值空间/>,Clifford拟设跟通常的变分算法一样,仍然会遇到局部最小和贫瘠高原问题。同时,离散空间上的优化效率相当低下,拖慢了整个算法的执行速度。为了解决上述问题,本公开提出一种基于稳定子的基态能量计算方法。
图1是根据一示例性实施例示出的一种基于稳定子的基态能量计算方法的流程图,如图1所示,该方法包括:
S101,获取目标量子体系的目标哈密顿量的泡利校验矩阵和系数集合,所述泡利校验矩阵的行向量用于表征所述目标哈密顿量的泡利项;
S102,从所述系数集合中选出绝对值最大的目标系数,并从所述泡利校验矩阵中选出对应所述目标系数的目标行向量;
S103,在所述目标系数为正数时,将所述目标行向量取反后作为稳定子生成元,在所述目标系数为负数时,直接将所述目标行向量作为稳定子生成元;
S104,更新所述泡利校验矩阵,以使得更新后的所述泡利校验矩阵中的行向量均与所述稳定子生成元满足对易关系且互相线性无关,并相应更新所述系数集合;
S105,在得到的所述稳定子生成元数量小于所述目标量子体系的量子比特数量时,返回执行所述从所述系数集合中选出绝对值最大的目标系数,并从所述泡利校验矩阵中选出对应所述目标系数的目标行向量的步骤;
S106,在得到的所述稳定子生成元数量等于所述目标量子体系的量子比特数量时,基于所有的所述稳定子生成元计算所述目标量子体系的基态能量。
在步骤S101中,目标量子体系可以为一个或多个分子构成的量子体系,目标哈密顿量可以是直接通过泡利项表示的哈密顿量,泡利项可以包括一个泡利算符或多个泡利算符的张量积。泡利校验矩阵可以看做多个行向量的集合,每个行向量用于表示目标哈密顿量中对应的一个泡利项,系数集合可以为目标哈密顿量中的泡利项的系数构成的集合。
具体来讲,在一种可能的实施方式中,目标哈密顿量可以为:
其中,H为目标哈密顿量,为泡利项,/>和/>为系数,/>为泡利项中的算符,I为恒等算符,X为/>泡利算符,Y为/>泡利算符,Z为/>泡利算符。
可选地,在步骤S101中,获取目标量子体系的目标哈密顿量的泡利校验矩阵,包括:
S1011,获取目标量子体系的目标哈密顿量的泡利项集合;
S1012,针对所述泡利项集合中每个泡利项,确定所述泡利项中的算符,基于如下关系获取对应所述算符的表示向量:
I=[0|0],X=[0|1],Y=[1|1],Z=[1|0];
其中,I为恒等算符,X为泡利算符,Y为/>泡利算符,Z为/>泡利算符;
S1013,针对所述每个泡利项中的所述算符对应的所述表示向量,将所述表示向量的左侧元素按照对应的所述算符于所述泡利项中的顺序拼接,得到第一行向量,将每个所述表示向量的右侧元素按照所述顺序拼接,得到第二行向量,再将所述第一行向量拼接于所述第二行向量左侧,得到校验行向量;
S1014,基于所述校验行向量得到泡利校验矩阵。
在步骤S1011中,获取目标量子体系的目标哈密顿量中的每一个泡利项构成的泡利项集合,例如对于上述的目标哈密顿量,可以获取其中的每一构成的泡利项集合。
获取泡利项集合后,可以进入执行步骤S1012,在步骤S1012中,对于泡利项集合中的每个泡利项,确定其中的算符后,获取每个算符对应的表示向量。
由于后续选取的生成元需要满足互相对易且互相独立的关系,直接利用稳定子的泡利矩阵张量积形式检验这些性质并不便利。在利用稳定子体系构造纠错码的过程中发展了稳定子的另一种表示方式,这就是“校验矩阵”。在这一表示中,单个泡利矩阵用一个两比特的行向量来表示:
I=[0|0],X=[0|1],Y=[1|1],Z=[1|0]
其中,I为恒等算符,X为泡利算符,Y为/>泡利算符,Z为/>泡利算符。这些表示向量也即对应恒等算符或泡利算符的所述校验矩阵。
举例来讲,若某泡利项为,则可以确定其中的算符为/>泡利算符、/>泡利算符和恒等算符,进而获取每个算符对应的表示向量分别为[0|1]、[1|1]和[0|0]。通过该表示形式可以极大的方便后续稳定子生成元的对易性和独立性的验证。当然,在一些实施例中,X和Z的表示向量可以互换。
获取表示向量后,可以进入执行步骤S1013,在步骤S1013中,按照算符在泡利项中的顺序,分别将各个算符对应的表示向量的左侧元素和右侧元素拼接,得到第一行向量和第二行向量,将第一行向量拼接到第二行向量左侧,得到校验行向量。
沿用前述例子,算符在泡利项中的顺序依次为X、Y、I,则将各个算符对应的表示向量的左侧元素按照该顺序拼接为第一行向量[0 1 0],将各个算符对应的表示向量的右侧元素按照该顺序拼接为行向量第二行向量[1 1 0],再将[0 1 0]拼接到[1 1 0]左侧,得到校验行向量[0 1 0 | 1 1 0]。
得到所有的泡利项的校验行向量后,进入执行步骤S1014,可以将校验行向量按照其对应的泡利项在哈密顿量中的顺序排列得到泡利校验矩阵。
当然,在其它的实施方式中,也可以通过不同方式来获取目标量子体系的目标哈密顿量的泡利校验矩阵,例如可以按照泡利项在哈密顿量中的顺序,以及算符在泡利项中的顺序,根据上述算符对应的表示向量,直接生成泡利校验矩阵,泡利校验矩阵的行向量中的表示对应泡利项中第j位的算符即可。如此对于n个Pauli算符的张量积,通过将表示单个算符的表示向量推广2n到比特,实现对于泡利项的表示。
在步骤S101中,对于上述的目标哈密顿量,可以获取每个构成系数集合。
获取泡利校验矩阵和系数集合后,可以进入执行步骤S102,确定系数集合中绝对值最大的目标系数,然后将该目标系数从系数集合中选出,即选择该目标系数后,将该目标系数从系数集合中取出,也即将目标系数从系数集合中删除。此外,从泡利校验矩阵中选出对应目标系数的目标行向量,然后将目标行向量从泡利校验矩阵中删除。即目标系数为目标行向量对应的泡利项在目标哈密顿量中的系数。
在步骤S103中,判断目标系数的正负情况,若目标系数为正数,则将目标行向量取反即整体乘以-1后作为稳定子生成元,若目标系数为负数,则直接将目标行向量作为稳定子生成元。例如,若绝对值最大的目标系数为,如果/>,可以选择稳定子生成元/>,如果/>,可以选择稳定子生成元/>,/>对应于/>,/>可以为泡利校验矩阵中表示对应泡利项的行向量。
在步骤S104中,对泡利校验矩阵进行更新,得到更新后的泡利校验矩阵,使得更新后的泡利校验矩阵中的每个行向量都与稳定子生成元互相对易且互相独立即线性无关。并根据对泡利校验矩阵的更新方式,相应的更新系数集合。
可选地,在步骤S104中,更新所述泡利校验矩阵,以使得更新后的所述泡利校验矩阵中的行向量均与所述稳定子生成元满足对易关系且互相线性无关,并相应更新所述系数集合,包括:
S1041,从所述泡利校验矩阵中删除每一个与所述稳定子生成元不对易的行向量,并从所述系数集合中删除与该行向量对应的系数;
S1042,基于高斯消元法或施密特正交化对所述泡利校验矩阵进行变换,以消去所述泡利校验矩阵中与所述稳定子生成元线性相关的行向量,并相应更新所述系数集合。
可选地,在步骤S1041中,从所述泡利校验矩阵中删除每一个与所述稳定子生成元不对易的行向量,包括:
S10411,获取扭曲矩阵,所述扭曲矩阵包含分别位于左上方、右下方、右上方和左下方的子矩阵,其中位于左上方和右下方的所述子矩阵为零矩阵,位于右上方和左下方的所述子矩阵为单位矩阵;
S10412,针对所述泡利校验矩阵的每一行向量,计算该行向量乘以所述扭曲矩阵再乘以所述稳定子生成元的转置向量的模2运算结果;
S10413,在所述运算结果不为0时,确定所述泡利校验矩阵中对应于该运算结果的行向量与所述稳定子生成元不对易,并从所述泡利校验矩阵中删除该行向量。
在步骤S10411中,可以定义扭曲矩阵:
扭曲矩阵为2n*2n矩阵,可分成四个n*n矩阵。其中左上和右下为零矩阵,左下和右上为单位矩阵,获取扭曲矩阵后,可以进入执行步骤S10412,在步骤S10412中,如果稳定子生成元与/>的校验矩阵分别是/>和/>,那么它们对易当且仅当/>,注意这里的矩阵运算是模2运算。因此,可以计算泡利校验矩阵的行向量乘以扭曲矩阵再乘以稳定子生成元的转置向量的模2运算结果,以用于判断其行向量所表示的泡利项是否与稳定子生成元对易。
当然,可以将泡利校验矩阵整体以及多个稳定子生成元组成的矩阵参与该计算过程,根据结果来判断相应的行向量与稳定子生成元是否对易,以提高计算效率。
运算结果计算完成后,进入执行步骤S10413,若运算结果不为0,则表示行向量与稳定子生成元不对易,或者说行向量对应的泡利项与稳定子生成元不对易,进而将该行向量从泡利矩阵中删除,删除所有不对易的行向量后,泡利校验矩阵中仅保留满足对易关系的行向量。
在步骤S1041中,删除不对易的行向量后,确定系数集合中对应于被删除的行向量的系数,进而将这些系数也从系数集合中删除。当然,也可以采用其它方法来删除与稳定子生成元不对易的行向量,本公开对此不做具体限制。
步骤S1041执行后,可以进入执行步骤S1042。在步骤S1042中,高斯消元法(Gaussian elimination)通过对泡利校验矩阵进行初等行变换,将泡利校验矩阵转换为简化行阶梯形式,在变换过程中,可以合并同类项,消去泡利校验矩阵中与稳定子生成元互相线性相关的行向量。相应地,对系数集合中的系数进行更新,以保持原本与行向量的对应关系。
施密特正交化(Schmidt orthogonalization)是求欧式空间正交基的一种方法,通过施密特正交化对泡利校验矩阵进行初等行变换,将泡利校验矩阵的行向量按照特定的方式转换为另一组相互正交的向量,在变换过程中,可以消去泡利校验矩阵中与稳定子生成元互相线性相关的行向量,即对于当前得到的所有稳定子生成元张成的子空间,若泡利校验矩阵中存在行向量位于该子空间,则将该行向量消去。相应地,对系数集合中的系数进行更新,以保持原本与行向量的对应关系。
可选地,若基于施密特正交化对所述泡利校验矩阵进行变换,所述基于施密特正交化对所述泡利校验矩阵进行变换,以消去所述泡利校验矩阵中与所述稳定子生成元线性相关的行向量,并相应更新所述系数集合,包括:
基于如下公式对所述泡利校验矩阵进行变换以及对所述系数集合进行更新,以消去所述泡利校验矩阵中与所述稳定子生成元线性相关的行向量:
其中,,表示已得到的稳定子生成元;/> ,表示泡利校验矩阵中的行向量对应的泡利项; ,/>,/>和/>分别表示和/>中第r个泡利矩阵;/>,为基于泡利校验矩阵中的行向量对应的泡利项/>得到稳定子生成元/> 的系数,/>为/>的系数。
通过上述方式就可以实现对于泡利校验矩阵的变换,并同时对系数进行更新,需要说明的是,更新的系数包含对应于的原系数/>、选择时的正负性l、以及相乘时可能带来的系数,例如/>,会生成一个系数i。
高斯消元法和施密特正交化变换前后的向量组等价,在其它可能的实施方式中,也可以采取类似的等价变换方式,对此本公开不做具体限制。
在步骤S105中,判断稳定子生成元数量与目标量子体系的量子比特数量n的大小关系,若稳定子生成元数量小于n,则还无法根据得到的所有稳定子生成元确定基态能量,此时可以返回步骤S102,进入下一次迭代过程,重新执行步骤S102及后续相关步骤。
在步骤S106中,随着相关步骤的多次迭代执行,稳定子生成元的数量逐渐增加,当稳定子生成元的数量达到量子比特数量n时,就可以根据得到的所有n个稳定子生成元计算目标量子体系的基态能量。
可选地,在步骤S106中,基于所有的所述稳定子生成元计算所述目标量子体系的基态能量,包括:
基于如下公式计算所述目标量子体系的基态能量:
其中,E为所述基态能量,是所述目标哈密顿量中仅由恒等算符构成的项的系数,/>为第k个稳定子生成元被选中时的实时系数。
具体来讲,可以在每次得到稳定子生成元时,记录稳定子生成元对应的系数,当得到所有n个稳定子生成元后,计算所有系数的绝对值之和,然后再用目标哈密顿量中仅由恒等算符构成的项的系数减去该绝对值之和,即可得到基态能量。由于得到的稳定子对应的稳定子态很接近真实基态,该基态能量也接近真实基态能量,准确度较高。
通过上述技术方案,选出泡利校验矩阵和系数集合后,在每次迭代过程中,从系数集合中选出绝对值最大的目标系数,从所述泡利校验矩阵中选出对应所述目标系数的目标行向量,并在所述目标系数为正数时,将所述目标行向量取反后作为稳定子生成元,在所述目标系数为负数时,直接将所述目标行向量作为稳定子生成元,之后对泡利校验矩阵和系数集合进行更新,以便于下次迭代过程寻找稳定子生成元。该过程即直接从哈密顿量出发去寻找稳定子生成元,可以完全避免变分电路中的贫瘠高原困境,并在很大程度上缓解其局部最小问题。并且由于利用了泡利算符的量子编码来进行运算,算法较为高效。此外,上述技术方案可以应用到大型体系中去。在此基础上,将稳定子态作为初态对变分电路进行预处理,有望大幅缩短变分电路的深度,改善变分算法的性能,从而扩大变分算法的应用范围。
简单分析一下这一算法的复杂度。如果初始时泡利校验矩阵对应的泡利项集合和系数集合的序数构成的集合的大小为/>,则上述技术方案在字节模型下的复杂度为/>,较为高效。
图2是根据一示例性实施例示出的一种基于稳定子的基态能量计算装置的框图,如图2所示,该装置200包括:
获取模块210,用于获取目标量子体系的目标哈密顿量的泡利校验矩阵和系数集合,所述泡利校验矩阵的行向量用于表征所述目标哈密顿量的泡利项;
选出模块220,用于从所述系数集合中选出绝对值最大的目标系数,并从所述泡利校验矩阵中选出对应所述目标系数的目标行向量;
稳定子生成元模块230,用于在所述目标系数为正数时,将所述目标行向量取反后作为稳定子生成元,在所述目标系数为负数时,直接将所述目标行向量作为稳定子生成元;
更新模块240,用于更新所述泡利校验矩阵,以使得更新后的所述泡利校验矩阵中的行向量均与所述稳定子生成元满足对易关系且互相线性无关,并相应更新所述系数集合;
返回执行模块250,用于在得到的所述稳定子生成元数量小于所述目标量子体系的量子比特数量时,返回执行所述从所述系数集合中选出绝对值最大的目标系数,并从所述泡利校验矩阵中选出对应所述目标系数的目标行向量的步骤;
基态能量计算模块260,用于在得到的所述稳定子生成元数量等于所述目标量子体系的量子比特数量时,基于所有的所述稳定子生成元计算所述目标量子体系的基态能量。
可选地,所述更新模块240还用于:
从所述泡利校验矩阵中删除每一个与所述稳定子生成元不对易的行向量,并从所述系数集合中删除与该行向量对应的系数;
基于高斯消元法或施密特正交化对所述泡利校验矩阵进行变换,以消去所述泡利校验矩阵中与所述稳定子生成元线性相关的行向量,并相应更新所述系数集合。
可选地,所述获取模块210还用于:
获取目标量子体系的目标哈密顿量的泡利项集合;
针对所述泡利项集合中每个泡利项,确定所述泡利项中的算符,基于如下关系获取对应所述算符的表示向量:
I=[0|0],X=[0|1],Y=[1|1],Z=[1|0];
其中,I为恒等算符,X为泡利算符,Y为/>泡利算符,Z为/>泡利算符;
针对所述每个泡利项中的所述算符对应的所述表示向量,将所述表示向量的左侧元素按照对应的所述算符于所述泡利项中的顺序拼接,得到第一行向量,将每个所述表示向量的右侧元素按照所述顺序拼接,得到第二行向量,再将所述第一行向量拼接于所述第二行向量左侧,得到校验行向量;
基于所述校验行向量得到泡利校验矩阵。
可选地,所述更新模块240还用于:
获取扭曲矩阵,所述扭曲矩阵包含分别位于左上方、右下方、右上方和左下方的子矩阵,其中位于左上方和右下方的所述子矩阵为零矩阵,位于右上方和左下方的所述子矩阵为单位矩阵;
针对所述泡利校验矩阵的每一行向量,计算该行向量乘以所述扭曲矩阵再乘以所述稳定子生成元的转置向量的模2运算结果;
在所述运算结果不为0时,确定所述泡利校验矩阵中对应于该运算结果的行向量与所述稳定子生成元不对易,并从所述泡利校验矩阵中删除该行向量。
可选地,所述目标哈密顿量为:
其中,H为目标哈密顿量,为泡利项,/>和/>为系数,/>为泡利项中的算符,I为恒等算符,X为/>泡利算符,Y为/>泡利算符,Z为/>泡利算符。/>
可选地,所述基态能量计算模块260还用于:
基于如下公式计算所述目标量子体系的基态能量:
其中,E为所述基态能量,是所述目标哈密顿量中仅由恒等算符构成的项的系数,/>为第k个稳定子生成元被选中时的实时系数。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图3是根据一示例性实施例示出的一种电子设备的框图。如图3所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(I/O)接口704,以及通信组件705中的一者或多者。
其中,处理器701用于控制该电子设备700的整体操作,以完成上述的基于稳定子的基态能量计算方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件705可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的基于稳定子的基态能量计算方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的基于稳定子的基态能量计算方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的基于稳定子的基态能量计算方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。