量子数据加载器的制作方法

文档序号:33178277发布日期:2023-02-04 04:15阅读:53来源:国知局
量子数据加载器的制作方法

1.本公开一般涉及量子算法和量子数据加载的领域,并且更具体地,涉及构建用于将经典数据加载到量子态中的量子电路,该量子电路减少电路的计算资源,例如,量子位的数目、量子电路的深度和电路中的门的类型。


背景技术:

2.许多量子机器学习和优化算法将经典数据加载到量子态中,以便使用量子规程用于分类、聚类或求解线性系统等任务。这使得这些算法不是近期(near-term)的,因为此类加载器(也称为量子随机存取存储器(qram))的提案,在量子位的数目和量子电路的深度两者方面都是大型和复杂的电路。例如,传统的qram电路的深度为o(n),其中n是表示经典数据点的矢量的维度。


技术实现要素:
附图说明
3.本公开的实施例具有其他优点和特征,这些优点和特征将在结合附图中的示例时从以下详细描述和所附权利要求中更容易地看出,在附图中:
4.图1a是示出根据实施例的用于使用单个参数化二量子位门(称为“bs”)将经典数据加载到量子态中的量子电路的图示。
5.图1b是示出根据不同的实施例的用于使用单个参数化二量子位门及其受控版本(称为“c-bs”)将经典数据加载到量子态中的量子电路的图示。
6.图2是示出根据实施例的将量子数据加载器应用于估计两个数据点之间的距离(或等同于内积)的一种方式的图示。
7.图3是示出根据另一个实施例的将量子数据加载器应用于估计两个数据点之间的距离(或等同于内积)的一种方式的图示。
8.图4a和图4b是示出根据一些实施例的使用超导量子位的量子数据加载器的可能硬件实现的图示。
9.图5a和图5b是示出根据一些实施例的使用线性光学器件的量子数据加载器的可能硬件实现的图示。
10.图6是展示根据实施例的能够从机器可读介质中读取指令,并在包括量子处理器的一个或多个处理器中执行它们的示例计算系统的部件的框图。
11.附图仅出于展示目的描绘了各种实施例。本领域技术人员将容易从下面的讨论中认识到,在不背离本文中描述的原理的情况下,可以采用本文中展示的结构和方法的备选实施例,例如,通过改变bs门的具体情况。
具体实施方式
12.附图和以下描述仅以展示的方式涉及优选实施例。应该注意的是,从下面的讨论中,本文公开的结构和方法的备选实施例将容易被认为是可行的备选方案,其可以在不背离所要求的原理的情况下采用。
13.这里我们描述了一种用于在量子计算机上加载经典数据的新电路构造,其可以减少量子位的数目和量子电路的深度。
14.第1部分:用于将经典数据加载到量子态中的方法
15.在一个方面,经典数据点由n维矢量(x1,x2,

,xn)表示,其中xi是实数,并且矢量的欧几里得范数是1。为了清楚地介绍该特定方面,我们将假设n是2的幂,但我们的方法可以扩展到一般情况。
16.从经典数据点(x1,x2,

,xn),我们将描述电路的具体实现,其可以有效地创建编码该经典数据的量子态,即创建状态
[0017][0018]
其中ei是i的一元表示。也可以构建相同系列的其他等效电路。
[0019]
第一步是从经典的数据点(x1,x2,

,xn)经典地计算出角度集合(θ1,θ2,


n-1
)。在一个方面,角度按以下方式计算:
[0020]
第一,我们计算中间数列(series)(r1,r2,

,r
n-1
),这将有助于我们按以下方式计算。我们首先定义最后的n/2值(r
n/2
,

,r
n-1
)。为此,我们定义在区间[1,n/2]中取值的指数j,并将值定义为
[0021][0022]
注意,对于j=1,我们得到r
n/2
的定义,对于j=2,我们得到r
n/2+1
的定义,一直到j=n/2,其中我们得到r
n-1
的定义。
[0023]
对于前n/2-1个值,即(r1,r2,

,r
n/2-1
)的值,我们再次定义在区间[1,n/2]中取值的指数j,并将该值定义为
[0024][0025]
我们现在可以按以下方式定义该角度集合(θ1,θ2,


n-1
)。我们首先定义最后的n/2个值(θ
n/2
,


n-1
)。为此,我们定义在区间[1,n/2]中取值的指数j,并将值定义为
[0026]
如果x
2j
为正,则以及(4)
[0027]
如果如果x
2j
为负,则
[0028]
对于前n/2-1个值,即(θ1,θ2,


n/2-1
)的值,我们再次定义在区间[1,n/2]中取值的指数j,并将值定义为
[0029][0030]
定义角度值的类似方式也是可能的,并且属于与我们的方式相同的方式。
[0031]
我们现在可以定义两种不同的量子电路,以用于将经典数据点(x1,x2,

,xn)加载到量子态中。我们将使用一种类型的参数化二量子位门,我们称其为bs(θ),并具有以下描述:
[0032]
bs(θ)=[[1,0,0,0],[0,cos(θ),sin(θ),0],[0,-sin(θ),cos(θ),0],[0,0,0,1]]
ꢀꢀ
(7)
[0033]
注意,人们可以使用其他类似的门,这些门是通过交换上述矩阵的行和列,或者通过在矩阵位置(4,4)处引入相位元素e
ip
来代替“1”,或者通过改变两个元素sin(θ)和-sin(θ),例如i*sin(θ)和i*sin(θ)来得出的。所有这些门实际上是等效的,并且我们的方法可以使用它们中的任一个。这里是备选门的一些具体示例,然而该列表并不详尽:
[0034]
bs1(θ)=[[1,0,0,0],[0,cos(θ),-i*sin(θ),0],[0,-i*sin(θ),cos(θ),0],[0,0,0,1]]
ꢀꢀ
(8)
[0035]
bs2(θ)=[[1,0,0,0],[0,cos(θ),sin(θ),0],[0,sin(θ),-cos(θ),0],[0,0,0,1]]
ꢀꢀ
(9)
[0036][0037][0038]
我们还将在电路中使用x门,其可以定义为x=[[0,1],[1,0]]。
[0039]
在一些情况下,我们还将使用门bs(θ)的控制版本,我们称之为c-bs(θ)。与其他控制门类似,该门被定义为:
[0040][0041]
换句话说,这是三量子位门,其中如果第一量子位(称为控制量子位)处于状态|0》,那么单位矩阵(id)被应用于第二量子位和第三量子位(目标量子位),并且如果第一量子位是|1》,那么门bs(θ)被应用于第二量子位和第三量子位。
[0042]
用于构建电路的示例方法如下,我们将其称为“并行”加载器。我们从所有量子位初始化为0状态开始。在第一步,我们在第一量子位上应用x门。然后,通过使用我们之前构建的角度θ按层添加bs门来构建电路。第一层具有1个bs门,第二层具有2个bs门,第三层具有4个bs门,直到第logn层具有n/2个门。bs门的总数目是n-1,与我们之前计算的角度θ的数目完全相同。门加入到的量子位遵循树结构(例如二叉树结构)。在第一层中,我们在角度为θ1的量子位(0,n/2)之间具有一个bs门,在第二层中,我们在角度为θ2的(0,n/4)和角度为θ3的(n/2,3n/4)之间具有两个bs门,在第三层中,在角度为θ4的量子位(0,n/8)、角度为θ5的(n/4,3n/8)、角度为θ6的(n/2,5n/8)、角度为θ7的(3n/4,7n/8)之间具有四个bs门,其他层以此类推。
[0043]
图1a提供了我们的用于加载8维数据点(x1,x2,...,x8)的方法的一个具体实现。在图1a中,t是时间步,q0-q7是量子位,x是x门,并且竖直线指示bs门应用于哪些量子位。类似
符号也用于图1b至图3。在图1a中,x门应用于第一层中的量子位q0,并且后续层根据二叉树模式应用bs门,其中树的根节点是q0。图1a中从左到右和从上到下的门bs的参数为角度(θ1,θ2,...,θ7),其可以从我们在上面的描述中计算,或类似地计算。用于量子电路的量子位的数目、电路的深度以及二量子位门和三量子位门的数目对于不同维度并在一般情况下给出:
[0044]
对于维度8:量子位=8;深度=4;二量子位门的数目=7;3量子位门=0。
[0045]
维度1024:量子位=1024;深度=11;二量子位门=1023;3量子位门=0。
[0046]
维度n:量子位=n;深度=log(n)+1;2量子位门=n-1;3量子位门=0。
[0047]
由于电路的深度可能对应于电路的运行时间或时间复杂度,因此矢量可以在~o(log(n))中转换为量子态。
[0048]
以下是对用于并行加载器的示例量子电路的描述:形成量子电路,以用于将表示经典数据的n维矢量编码为用于n个量子位的量子态。该量子电路包括n个量子位、被应用于量子位中的一个量子位的x门、以及多个后续层。多个后续层根据二叉树模式将bs门应用于量子位,其中每个bs门是单个参数化2量子位门,并且后续层的数目不大于上限(log2(n))。在一些实施例中,该量子电路是包括附加层的更大的量子电路的一部分。
[0049]
用于构建电路的第二示例方法如下,我们将其表示为“第二”加载器。我们假设(x1,x2,

,xn)是这样的,n是4的幂,换句话说是2的幂。我们将使用各自大小为的两个量子位集合。我们从所有量子位初始化为0状态开始。我们首先在第一量子位和中间的量子位上应用x门。然后,我们在第一个量子位上应用来自前面构造的并行加载器与第一个角度。通过在第一个量子位上分层添加bs门,使用我们之前构建的第一个角度θ,构建电路。第一层具有1个bs门,第二层具有2个bs门,第三层具有4个bs门,直到具有个门的第层。然后,我们使用第一个量子位中的每一个作为控制量子位,以使用个量子位的第二组作为目标量子位,依次应用并行加载器的受控版本。为了应用受控版本的并行加载器,我们应用每个bs(θ)门的受控版本。
[0050]
针对第二加载器,bs门的总数目为并且c-bs门的总数目为针对门的总数目等于n-1(不包括x门),与之前计算的角度θ数目完全相同。门加入到的量子位遵循与并行加载器中相同的树结构。第一树应用于第一个量子位,并然后还有个更多的树结构,它们都按顺序应用于第二个量子位上,每次都是用来自第一个量子位的量子位中的一个量子位来控制。
[0051]
当n不是4的幂时,以及当我们具有不像之前那样大小相等,而是例如大小为t和n/t的两个量子位集合(注意,乘积仍然等于n)时,上述构造也可以发挥作用。
[0052]
图1b提供了我们的用于加载16维数据点(x1,x2,...,x
16
)的方法的一个示例实现。
[0053]
图1b中从左到右和从上到下的门bs和c-bs的参数为角度(θ1,θ2,...,θ
15
),其可以从我们在上面的描述中计算,或类似地计算。注意,“@”指示针对每个c-bs门的控制量子位。
[0054]
图1b中电路的深度可以通过注意到许多门被应用在不同的量子位上而得到改善(例如在4和8次上的门,或5和7次上的门,等等),并因此可以重新布置,使得电路的总深度

[0055]
在一般情况下,用于量子电路的量子位的数目、电路的深度以及二量子位门和三量子位门的数目在下面给出:
[0056]
维度n:维度n:2量子位门和3量子位门的总数目:n-1。
[0057]
由于电路的深度可对应于电路的运行时间或时间复杂度,因此只使用个量子位就可以在中将矢量转换为量子态。
[0058]
下面是对用于第二加载器的示例量子电路的描述:形成量子电路,以用于将表示经典数据的n维矢量编码为量子态。量子电路包括第一组个量子位、第二组个量子位,第一层(其包括应用于第一组中的量子位的第一x门,应用于第二组中的量子位的第二x门),第一多个后续层,以及第二多个后续层。第一多个后续层根据二叉树模式将bs门应用于第一组量子位,其中每个bs门是单个参数化2量子位门。第二多个后续层将受控bs门(c-bs门)应用于第一组和第二组中的量子位,其中每个c-bs门将bs门应用于第二组中的量子位,并由第一组中的量子位控制,并且电路中的层数不超过上限在一些实施例中,量子电路是包括附加层的更大量子电路的一部分。
[0059]
第2部分:用于将经典数据加载到量子态中的方法的应用
[0060]
我们示出了如何使用第1部分中描述的量子数据加载器以便执行多个基本规程,这些规程在机器学习和优化中是有用的,包括距离估计、内积估计、线性代数、分类、聚类、神经网络以及更多方面中的应用。这些只是可能应用中的一些,并且更多的应用可以基于我们在这里描述的方法来确定。为了方便起见,下面的描述使用了并行加载器。其他量子数据加载器实施例,诸如第二加载器,也可以用于执行这些规程。
[0061]
1.距离估计
[0062]
第一实施例
[0063]
在一个方面,我们具有作为输入的两个n维矢量:(x1,x2,

,xn),其中xi是实数,以及(y1,y2,...,yn),其中yi是实数,并且这些矢量的欧几里得范数分别是和
[0064]
人们可以定义数据点之间的不同类型的距离,并且这里,在一个方面,我们按以下方式定义这两个数据点之间的距离:
[0065][0066]
图2提供了我们的用于估计两个8维数据点x=(x1,x2,...,x8)和y=(y1,y2,...,y8)之间的距离的一个具体实现。在该实现中,左侧上的第一门bs(在t=1处)具有参数
[0067]
图2中的电路(与q0-q7有关)的上半部分中的门bs的参数对应于矢量(x1,x2,

,xn)的量子数据加载器的参数。图2中的电路(与q8-q15有关)的下半部分中的bs门对应于矢量(y1,y2,...,yn)的量子数据加载器的参数。图2中电路最右部分(t=5处)的最后一组bs门具有θ=π/4。最后一组bs门可以在单个时间步期间并行执行。
[0068]
图2中描述的电路的结果是以下的量子态
[0069][0070]
因此,在量子位的前半部分中观察到所有0的概率正好是d2(x,y)/4。
[0071]
下面给出了不同维度和一般情况下,用于量子电路的量子位的数目、电路的深度以及二量子位门和三量子位门的数目。
[0072]
对于维度8:量子位=16;深度=6;二量子位门的数目=23;3量子位门=0。
[0073]
维度1024:量子位=2048;深度=13;二量子位门=3071;3量子位门=0。
[0074]
维度n:量子位=2n;深度=log(n)+3;2量子位门=3n-1;3量子位门=0。
[0075]
由于电路的深度可对应于电路的运行时间或时间复杂度,因此两个矢量之间的距离可以在~o(log(n))中确定。
[0076]
以下是根据该第一实施例对量子电路的描述:形成量子电路,以用于将表示经典数据的第一n维矢量编码为n个量子位的第一量子态,将表示经典数据的第二n维矢量编码为n个量子位的第二量子态,并确定第一n维矢量与第二n维矢量之间的距离。量子电路包括2n个量子位、第一层(其包括应用于量子位中的一个的x门)、第一组后续层,以及附加层。第一组后续层根据二叉树模式将bs门应用于量子位,其中每个bs门是单个参数化2量子位门。附加层在第一组之后,并且其将bs门并行地应用于成对的量子位,其中一对中的第一量子位与第一量子态相关联,并且一对中的第二量子位与第二量子态相关联。该电路中的层数不超过上限(log2(n)+3)。在一些实施例中,该量子电路是包括更多层的更大量子电路的一部分。
[0077]
第二实施例
[0078]
在一个方面,我们具有作为输入的两个n维参数:(x1,x2,

,xn),其中每个xi是实数,以及(y1,y2,...,yn),其中每个yi是实数,并且这些矢量的欧几里得范数分别是和
[0079]
人们可以将两个矢量之间的内积定义为人们可以将两个矢量之间的内积定义为其中《x,y》是归一化矢量之间的内积。
[0080]
图3提供了我们的用于估计两个8维数据点x=(x1,x2,...,x8)和y=(y1,y2,...,y8)之间的距离的方法的一个具体实现。在该实现中,我们具有:电路的前半部分对应于归一化矢量x的并行加载器,如图1a,并且电路的后半部分对应于矢量y的加载器的复共轭。换句话说,该电路通过颠倒y的加载器的门的次序以及共轭每个门来创建。
[0081]
门bs(θ)的共轭被表示为bs
+
(θ),并且等于
[0082]
bs
+
(θ)=[[1,0,0,0],[0,cos(θ),-sin(θ),0],[0,sin(θ),cos(θ),0],[0,0,0,1]]
ꢀꢀ
(15)
[0083]
图3中描述的电路的结果是以下的量子态
[0084][0085]
其中|e1⊥
》是与|e1》正交的任何状态。
[0086]
因此,测量状态|e1》的概率给了我们两个归一化矢量之间内积的平方,并且使用关于它们的范数的信息,我们可以输出内积(x,y)的估计器。
[0087]
人们也可以将上述结构改为通过考虑矢量x=(||x||,x1,x2,...,xn)和y=(||y||,y1,y2,...,yn)直接估计距离的构造,并且现在测量结果的概率与d2(x,y)成比例。
[0088]
下面给出了不同维度和一般情况下,用于量子电路的量子位的数目、电路的深度以及二量子位和三量子位门的数目:
[0089]
对于维度8:量子位=8;深度=7;二量子位门的数目=14;3量子位门=0。
[0090]
维度1024:量子位=1024;深度=21;二量子位门=2046;3量子位门=0。
[0091]
维度n:量子位=n;深度=2log(n)+1;2量子位门=2n-2;3量子位门=0。
[0092]
因此,该电路的时间复杂度可能是~o(2log(n))。虽然与第一实施例相比时间复杂度增加了一倍,但量子位的数目减少了一半。
[0093]
以下是根据该第二实施例的量子电路的描述:形成量子电路,以用于将表示经典数据的第一n维矢量编码为n个量子位的第一量子态,将表示经典数据的第二n维矢量编码为n个量子位的第二量子态,并确定第一n维矢量和第二n维矢量之间的距离。量子电路包括n个量子位、第一层(其包括应用于量子位中的一个的x门)、第一组后续层,以及第二组后续层。第一组后续层根据二叉树模式将bs门应用于量子位,其中每个bs门是单个参数化2量子位门。第二组后续层根据二叉树模式的反转将共轭bs门应用于相同的量子位,其中每个bs门是单个参数化2量子位门。层数不超过上限(2log2(n)+1)。在一些实施例中,该量子电路是包括附加层的更大量子电路的一部分。
[0094]
2.内积估计
[0095]
两个数据点的距离和它们的内积由数学公式相关:
[0096][0097]
并因此,内积(除了距离之外)可以被估计。例如,对于两个8维数据点,可以用图2或图3中的电路来确定内积。
[0098]
3.矩阵-矩阵乘法
[0099]
人们可以使用前面的内积估计量子方法来提供线性代数中的应用,即矩阵-矩阵乘法,其中给定两个矩阵a和b,人们需要计算c=ab。在一个方面,该方法可以以混合经典-量子方式体现,其中对于矩阵ai的每行和矩阵bj的每列,人们可以调用用于内积估计的量子方法来计算矩阵c的每个元素为c
ij
=a
ibj

[0100]
通过经由上述的距离估计方法执行矩阵乘法,可以用~o(n2log(n))的时间复杂度执行操作。与时间复杂度为~o(n3)的传统矩阵乘法算法相比,这是显著的改进。
[0101]
4.分类
[0102]
我们上面介绍的距离估计方法可以容易地用于提供分类的应用。我们在这里描述该应用的许多可能的实施例中的一个。
[0103]
在一个方面,人们可以使用已知的最近的中心点算法,其中数据点的分类通过计算数据点与所有中心点的距离并选择具有最小距离的中心点来执行。人们可以使用上述的距离估计方法来提供混合经典-量子分类算法,其中关于图2或图3描述的量子方法用于对数据点进行分类。
[0104]
5.聚类
[0105]
我们上面介绍的距离估计方法可以容易地用于提供聚类的应用。我们在这里描述许多可能的应用中的一个。
[0106]
在一个方面,人们可以使用基于众所周知的k均值算法的混合经典-量子算法。在那里,上面关于图2或图3描述的量子距离估计方法既可用于将数据点分配给中心点(如分类的情况),也可用于更新中心点,其中使用了矩阵-矩阵乘法。
[0107]
6.神经网络训练和评估
[0108]
我们上面介绍的内积估计方法可以用于提供神经网络中的应用。我们在这里描述该应用的许多可能的实施例中的一个。
[0109]
在一个方面,人们可以使用基于众所周知的前馈和反向传播算法的混合经典-量子算法。在那里,上面关于图2和图3描述的量子内积估计方法既可用于在评估期间对数据点和权重的矩阵进行乘法,也可在其中再次使用矩阵-矩阵乘法的反向传播算法(其可以是梯度下降算法)期间使用。
[0110]
我们在此公开的方法的备选实施例将容易被视为可行的备选方案,其可以在不背离所公开的原理的情况下采用。
[0111]
第3部分:量子数据加载器的硬件实现
[0112]
我们示出了量子数据加载器如何可用不同类型的当前量子硬件来实现,包括用超导量子位或光子学。这些只是可能的硬件实现中的一些,并且更多的硬件实现可以基于我们在这里描述的相同方法或针对不同的量子位技术轻松构建,包括针对捕获的离子或原子。
[0113]
1.用超导量子位实现
[0114]
我们称之为bs(θ)的系列内的门可以用于耦合两个超导量子位,方式是对于任何参数θ都可以直接应用以下门:
[0115][0116]
因此,如第1部分中描述的量子数据加载器可以使用这些门来实现,尽管关于超导量子机的作为2d网格进行连接的当前连接,可能需要新的连接。
[0117]
我们对量子数据加载器的硬件建议可能需要以树结构(并且不是网格)连接,并且有能力应用我们上面定义的bs(θ)门系列的超导量子位。
[0118]
在2d平面上有许多不同的备选方案用于间隔量子位,以便具有树结构连接,并且在图4a中,我们给出了指示性架构,用于维度为32的矢量的量子数据加载器,其在维度9x5的网格内使用35个量子位(与加载器所需的量子位对应的32个量子位,以及重复一些量子
位的3个辅助量子位,因此我们可以在网格中容纳加载器)。图4b展示了32个维度如何被映射到网格的量子位上。许多备选实施例是可能的,都遵循我们的嵌入式树结构连接的方法。
[0119]
在图4a和图4b中,“o”对应于超导量子位,并且水平(—)或竖直(|)连接对应于在一对量子位之间执行bs(θ)门的能力。
[0120]
2.用线性光学器件实施
[0121]
我们称之为bs(θ)的系列内的门也可以通过实现可重新配置的分束器(也被称为可调谐分束器或可调谐马赫-赞德干涉仪),在线性光学器件方案上实现。
[0122]
在图5a中,根据实施例,可重新配置的分束器被实现为部分反射镜。
[0123]
在图5b中,我们将此种可重新配置的分束器表示为具有两个输入和两个输出的门,其系列执行bs(θ)的操作。可重新配置的分束器具有参数θ(未展示),其对应于反射率与透射率的比率(例如,它将耦合光分成被反射的cos(θ)和被透射的sin(θ))。如第1部分所述的量子数据加载器,现在可以使用单光子源、可重新配置的分束器和光子探测器来实施。
[0124]
在一些实施例中,量子数据加载器可以在集成光子芯片中实现。
[0125]
为了具有树结构连接,有许多不同的架构备选方案,并且在图5a和图5b中,我们给出了光子线性光学器件方案的指示性架构,其可以用作量子数据加载器。许多备选实施例是可能的,其遵循我们的树结构连接的方法。
[0126]
图6是展示了根据一些实施例的能够从机器可读介质读取指令并在包括量子处理器的一个或多个处理器(或控制器)中执行该指令的示例计算系统的部件的框图。具体来说,图6示出了计算机系统600的示意图。计算机系统600可用于执行指令624(例如,软件),以用于使计算系统执行本文中描述的方法(或过程)中的任何一个或多个,诸如方法100。在一些实施例中,计算系统作为独立装置或连接到其他机器的连接(例如,联网)装置操作。在联网部署中,计算系统可以在服务器-客户端网络环境中以服务器机器或客户端机器的资格操作,或者在对等(或分布式)网络环境中作为对等机器操作。注意,图6及其描述对示例装置进行描述。具有量子处理器的其他计算系统可以以不同的方式操作,并且具有更多、更少和/或不同的部件。
[0127]
示例计算机系统600包括一个或多个处理单元(例如,处理器601和602)。传统处理器602例如是中央处理单元(cpu)、图形处理单元(gpu)、数字信号处理器(dsp)、控制器、状态机、一个或多个专用集成电路(asic)或这些的任何组合。
[0128]
量子处理器601可以是基于量子效应执行处理的一个或多个物理装置、以此种方式行动的一个或多个装置,或可以合理地被解释为表现出量子处理行为的任何其他装置。量子处理器601利用量子力学的规律以便执行计算。量子处理器601通常使用所谓的量子位,或量子位(quantum bits),而不是经典计算机中使用的位。经典位总是具有0或1的值。粗略地说,量子位具有存在于0和1的叠加或线性组合中的非零概率。因为量子处理器601在量子位上操作,所以量子位存在于0和1的叠加中的能力允许某些计算任务的性能大大增强。例如,shor的算法描述了量子处理器如何可被用来有效地分解大整数,这对密码学有显著的应用和影响。grover的搜索算法描述了量子处理器如何可被用来有效地搜索大的信息集,诸如列表或数据库。
[0129]
量子处理器601能够配置和执行一个或多个量子电路626。量子电路是量子计算的模型,其中计算是量子门的序列,这些量子门是一个或多个量子位上的可逆变换。
[0130]
计算机系统600还包括主存储器604。该计算机系统可以包括存储单元616。处理器601和602、存储器604和存储单元616经由一些通信介质608进行通信。例如,传统的处理器602、主存储器604和存储单元616可以通过总线进行通信,而处理器602和601通过单独的专用通信路径彼此进行通信。
[0131]
此外,计算机系统600可以包括静态存储器606和显示驱动器610(例如,以驱动等离子显示面板(pdp)、液晶显示器(lcd)或能够向用户显示ui 105的投影仪)。计算机系统600还可以包括字母数字输入装置612(例如,键盘)、光标控制装置614(例如,鼠标、轨迹球、操纵杆、运动传感器或其他指向性仪器)、信号生成装置618(例如,扬声器)和网络接口装置620,它们也被配置为经由通信介质608进行通信。
[0132]
存储单元616包括机器可读介质622,其上存储有体现本文中描述的方法或功能中的任何一个或多个的指令624。指令624也可以在计算机系统600执行其期间完全或至少部分地驻留在主存储器604内或处理器601内(例如,在处理器的高速缓存存储器内),主存储器604和处理器601也可以构成机器可读介质。指令624可以部分地由量子电路626使用上述方法执行。指令624可以经由网络接口装置620通过网络626传输或接收。
[0133]
虽然机器可读介质622在示例实施例中示出为单个介质,但术语“机器可读介质”应该被理解为包括能够存储指令624的单个介质或多个介质(例如,集中式或分布式数据库,或相关联的高速缓存和服务器)。术语“机器可读介质”也应被理解为包括能够存储指令624供机器执行并使机器执行本文中公开的方法中的任何一个或多个的任何介质。术语“机器可读介质”包括但不限于呈固态存储器、光学介质和磁性介质的形式的数据储存器。
[0134]
尽管详细描述包含许多具体细节,但这些不应该被理解为限制本发明的范围,而只是展示不同的示例。应该理解的是,本公开的范围包括上面未详细讨论的其他实施例。在不背离所附权利要求中定义的精神和范围的情况下,可以对本文中公开的方法和设备的布置、操作和细节进行对于本领域技术人员来说显而易见的各种其他的修改、改变和变化。因此,本发明的范围应该由所附权利要求及其法律上的等同形式确定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1