为了实现某种量子算法,我需要从一组基本门中构造一个多量子位(在本例中为三量子位)受控Z门,如下图所示。 。
我可以使用的门是
- 保利城门 以及它们的所有力量(即所有Pauli旋转直至相位系数),
- (关于 投影仪),
- (哈达玛),
- (单量子位受控X或CNOT),
- (单量子位受控Z),以及
- (交换)。
我该如何从这些门构建这个三比特控制的Z?我已经阅读了几篇有关电路分解的论文,但没有一篇能给我一个清晰简洁的答案。
为了实现某种量子算法,我需要从一组基本门中构造一个多量子位(在本例中为三量子位)受控Z门,如下图所示。 。
我可以使用的门是
我该如何从这些门构建这个三比特控制的Z?我已经阅读了几篇有关电路分解的论文,但没有一篇能给我一个清晰简洁的答案。
Answers:
(编辑:改进为14 CNOT。)
可以用14个CNOT,加上15个单量子位Z旋转和无辅助量子位来完成。
对应的电路是
在哪里 门是旋转
派生:
使用https://arxiv.org/abs/quant-ph/0303063 1中描述的过程,可以根据CNOT和一比特对角门来分解任何对角门-因此尤其是CCCZ门。可以按照经典的优化程序自行优化CNOT。
该参考文献提供了一个电路,该电路使用16个CNOT用于任意对角4量子位门(图4)。
如果可以将任意对量子位耦合到14个量子位,则可以改善这一点。对于具有周期性(开放)边界条件的最近邻居,可以使用16(18)个CNOT来完成。相应的电路可以在https://epub.uni-regensburg.de/1511/ 1(图5.2、5.4和5.5)中找到,并且可以例如使用构建短Gray序列的方法获得。
一量子位门的数量始终为15。
备注:虽然原则上可能会存在一个更简单的电路(上述电路已在考虑到更受限的电路架构的情况下进行了优化),但它应该接近最佳状态-电路需要创建形式的所有状态 对于任何非平凡的子集 ,其中有15个为4量子位。
还要注意,这种结构绝不是最佳的。
1注意:我是作者
您可以实施 -qubit控制 通过这个答案中给出的电路。只需更换 通过 。但是,这需要CCNOT(Toffoli)门,并且对于如何使用基本门实现CCNOT,您有一些选择。
如果允许使用测量和经典前馈,则门数可以减少到25:
(如果需要满足门设置约束,可以用Y的平方根替换Hadamard门。)
如果您允许我执行Controled-S门和Controlled-sqrt(X)门并执行X基测量,那么我可以将其降低到总共10门:
我在这里发布了CCCZ的另一个分解,以防万一它对尝试编译CCCZ的其他人有用。它需要的总门数较少,并且仅需要1个辅助qubit而不是2个,但是比“显而易见”的答案多五个5个2 qubit的门,因此对于在硬件上实现可能实际上更糟。
GMS5 门是这样的:
与 和所有 ,这意味着它涉及10个2量子比特的门。然后必须将它们编译到问题中给定的门集中,因此仅当您尝试节省辅助量子位的数量或不介意拥有更多2量子位门时,才应使用此分解。减小电路深度。
根据指定的门设置,可以节省一些费用。例如,在典型的ccnot构造中,如果您替换 与门 ,则不需要构成两个控制量子位之间最后几个门的相位校正。该结构遵循问题中指定的门集,由21个门组成,其中10个为2量子位(您不需要下面电路中的最后一个门)。
要明确(针对一些评论):通常我们看一下Toffoli,并尝试使用 门。如果两个控件都,则目标量子位上的门序列为 。现在,因为,则序列简化为 ,并且必须在两个控制量子位上添加一个补偿受控S门。相反,如果我们使用, 然后 ,并且没有任何令人讨厌的阶段进入,它为您节省了两个量子比特的门!
另外,请注意,两个Toffoli门只是Toffoli,因为它们的目标是0状态。通常,您将需要一个额外的两个量子比特的门。
在现有文献中,我没有发现有效的结构,尽管本文声称仅使用11个2量子位门,但是一旦将其转换为问题的受限门集,我还没有完成完整的门计数。
尽管我的另一种答案是最明显的“教科书”方式(使用Nielsen&Chaung的CCCZ分解为CCNOT,然后再进行另一本教科书分解以编译CCNOT),但更具创造性的方式可能使我们能够以更少的门完成这项工作。
步骤1:
用以下小工具替换Nielsen&Chuang电路中的所有CNOT:
第2步:
现在我们有了一堆CCZ而不是CCNOT,它们可以像这样分解(本文提供):
第三步:
注意 ,所以其中一些Hadamard彼此抵消,我们得到的折扣甚至更多:)