Answers:
是的,该算法在叠加量子kata中有几种实现方式(任务14和15):
WState_PowerOfTwo_Reference
WState_Arbitrary_Reference
WState_Arbitrary_Postselect
这是该kata我最喜欢的任务,因为它允许许多不同的方法。
产生W态的概念上最简单的方法在某种程度上类似于经典的油藏采样,因为它涉及一系列最终产生统一效果的局部操作。
基本上,您依次查看每个量子位,然后考虑“在全0s状态下还剩下多少幅度,以及我想转换成刚好是这个量子位是开状态?”。事实证明,您需要的旋转系列是我称为“奇数门”的矩阵,其矩阵如下:
使用这些门,您可以通过一系列越来越受控制的操作获得W状态:
该电路效率低下。它的成本为,其中是量子位的数量,是所需的绝对精度(因为在纠错的情况下,优势门不是本机的,必须是近似值)。
通过从“转移掉剩下的东西”策略到“转移掉正在前进的东西”策略,我们可以提高效率。这在末尾添加了修正扫描,但每个操作仅需要单个控件。这将成本降低到:
仍然可以做得更好,但是开始变得复杂。基本上,您可以使用单个的Grover部分步骤来获得等于幅度,但是它们将被编码为二进制寄存器(我们希望设置一个具有单个位的单寄存器)。要解决此问题,需要一个二进制到一进制的转换电路。“线性T复杂度的量子电路中的电子光谱编码”中介绍了执行此操作所需的工具。以下是相关数字。
部分灌浆步骤:
如何执行索引操作(嗯……最接近的数字有一个累加器,在这种情况下不太合适):
使用这种更复杂的方法可以将成本从到。
您可以递归定义序列。从概念上讲,您想要做的是:
创建初始状态
在qubit 1上,应用
受控制的qubit 1,在qubits 2到上应用“ make ” (即,如果qubit 1处于状态,则执行此操作,否则不执行任何操作)
在qubit 1上应用位翻转门。
如所表达的,该算法并非仅由一个和两个量子比特的门组成,但是可以肯定地通过标准通用性构造将其分解。
另外,这可能不是您能想到的最有效的算法。例如,如果,则可以仅使用层交换门的平方根来产生所需的内容- 以单个量子位上的开头。使用第二个量子位进行根交换,并且(直到需要照顾的阶段为止)。在这两个旁边放置一个辅助子,并在W-对之间进行根交换,您将获得,重复并获得,依此类推。我相信这基本上就是他们在这里所做的实验。您应该能够将此算法整合到第一个算法中,以使其更加高效(ø (日志Ñ ) ),可以使用任意大小,但是我一直不停地细心研究细节。