我们可以使用量子并行性一次计算许多函数吗?


9

众所周知,通过利用量子并行性,我们可以同时为许多不同值计算函数。但是,需要一些巧妙的操作来提取每个值的信息,即使用Deutsch算法。f(x)x

考虑相反的情况:我们可以使用量子并行性为单个值x_0同时计算许多函数(例如f(x),g(x),)吗?x0


要评估f(x0)g(x0)您需要为每个操作制作一份x_0的副本,x0这通常是无克隆定理无法实现的。另一方面,如果您只是准备一个两倍x_0的状态,则x0只需恢复经典并行性。

@HenriMenke不完美的克隆怎么样?
donnydm '18

@HenriMenke:您对“克隆”的概念似乎非常广泛,以至于给您有效解决问题的能力带来了一些障碍。
Niel de Beaudrap,

Answers:


5

确切的答案取决于所需的确切叠加类型。金字塔和尼尔的答案都给你类似的东西

At=1n|ft(x)|Ft

在这里,我跟随Niel标记了不同的函数,等,其中为要叠加的函数总数。我也使用表示功能作为存储程序的一些描述。在就是什么号码需要在那里进行归一化的状态。f1f2nFtftA

请注意,这不仅是的叠加。它与存储的程序纠缠在一起。如果要查找存储的程序,则只需混合。这意味着存储的程序可能构成“垃圾”,从而防止了您可能依赖的干扰影响。否则可能不会。这取决于在您的计算中将如何使用此叠加。ft(x)ft(x)

如果要清除垃圾,事情会变得更加棘手。例如,假设你想要的是一个单一的有效果U

U:|x|0NAt=1n|ft(x)

对于所有可能的输入(我假设是在计算基础上编写的位字符串)。注意,在函数输出比输入更长的情况下,我还在输入端包含了一些空白的qubit。x

由此,我们可以很快找到函数必须满足的条件:由于输入状态形成正交集,因此输出也必须形成正交集。这将严重限制可以通过这种方式组合的功能的种类。


谢谢,我认为这样可以加快泰勒展开计算的速度。无论如何,可以访问/测量存储的程序以获得一些信息,还是仅仅是一种工具?
donnydm '18

存储的程序将被写入一个qubit的寄存器中,因此可以肯定地对其进行操作。
James Wootton '18

5

您要在不同计算分支中求值的函数必须是可计算的,才能以某种方式指定(例如,一系列经典逻辑门)。而且,您希望计算的函数的集合本身应该是可计算的:对于给定的,您必须能够计算关于如何在其参数上计算的规范。实际上:您必须具有一种将功能描述为存储程序的方法。(对于“ 在输入上计算函数中的一个/全部函数,甚至在我们考虑进行量子计算之前,这些都是必要的。f,g, {f1,f2,}tftftf1,f2,x0”。)

一旦有了将函数指定为存储程序的方法,就可以基本完成:程序本质上是另一种输入,您可以叠加准备,例如通过计算对固定输入或输入叠加进行求值从每个分支的规格中获取功能。

从中获得竞争优势是另一回事,并且必须在函数中包含一些特定的结构,您可以利用这些结构,但是如果您有足够的信息来简单地进行“叠加评估”,就很容易做到。问题是明智的。ft


3

是的(取决于“一次计算多个函数”的含义)

描述给出功能的电路 fUf 和电路给 gUg,有几种方法可以做到这一点:

  1. 从中的qubit寄存器开始 |00x,准备状态 α|01+β|10在前两个寄存器上。这可以通过应用酉进行1对第一个寄存器把该寄存器的状态α|0+β|1 在申请CNOT之前, IX。然后申请CUf 从第一个寄存器到第三个寄存器 CUg 从第二到第三。

    1.1。这使得第三个寄存器现在处于状态(αUf+βUg)|x,当初始操作(直到 IX前两个寄存器上的)取反。但是,由于实施任意受控-运算(以及不必要地使用额外的量子位)的一般困难,可能更容易通过拨号the来直接实现此操作。αUf+βUg。请注意,这都没有实现f 也不 g,但功能不同 f+g

    1.2。不反转前两个寄存器的初始操作会使第三个寄存器处于纠缠状态fg,将在其他答案中进行讨论。

  2. 从国家开始 |xx 并申请 Uf 到第一个寄存器并 Ug到第二。这是最接近经典并行性的方法,在经典并行性中,两个函数都独立应用于相同状态的副本。除了需要两倍数量的qubit之外,这里的问题是,由于没有克隆,因此要复制|x,它要么必须是已知的,要么是经典状态(即在计算基础上不涉及叠加)。也可以使用近似克隆

  3. 从状态开始 |0x,以及经典寄存器。应用a 1将第一个寄存器叠加α|0+β|1。现在,测量该寄存器(将结果放入经典寄存器中)并应用经典运算IF RESULT = 0 U_f ELSE U_g。尽管这似乎不如上述任何一种操作强大,但从某种意义上讲,这等效于量子通道E(ρ)=|α|2UfρUf+|β|2UgρUg。此类方法可用于制作随机unit,可用于例如玻色子采样随机基准测试


1由

(αββα)


这很有趣,部分原因是不需要存储程序。1号CNOT是否必要?
donnydm

2

是的,可以。诀窍是定义(并实现)新功能fall(y,x) 评估为 f(x) 如果 y=0, 至 g(x) 如果 y=1等等。然后准备代表 y 以所需的叠加和设置 xx0

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.