仅使用Toffoli门实现CCCNOT门


10

CCCNOT门是四位可逆门,当且仅当前三位都处于状态时,才翻转其第四位。1

如何使用Toffoli门实现CCCNOT门?假设工作空间中的位以一个特定的值(0或1)开头,前提是您将它​​们返回到该值。


使用Toffoli门,还是Toffoli和CNOT是公平的游戏?
user1271772

仅允许Toffoli门。
chuster

1
这个问题的哪一部分是量子?似乎您想将经典可逆门(CCCNOT)分解为较小的经典可逆门(CCNOT)。
user1271772

1
这个问题本身与量子计算无关,但是门对量子电路很重要。
chuster

Answers:


8

我猜您正在寻找的是以下电路。在此,b1,b2,b3,b4{0,1},并且是加法模2

在此处输入图片说明

此处,第五个量子位用作辅助辅助量子位。它始于|0并在两端|0当电路被应用。

让我详细说明该电路如何工作。这个想法是首先检查前两个量子位是否处于状态|1。可以使用单个Toffoli门来完成,并将结果存储在辅助qubit中。现在,只要量子位3和辅助量子位在|中,问题就会减少到翻转量子位41 。这也可以通过使用托菲利门的一种应用来实现,即上述电路中的中间应用。最后,最后一个Toffoli门用于取消计算存储在辅助qubit中的临时结果,从而使该qubit的状态返回|。0 3|1|0 电路应用后。


在评论部分中,出现了一个问题,即是否有可能仅使用Toffoli门而不使用辅助量子位来实现这种电路。正如我将在此处所示,可以否定地回答这个问题。

我们要实现作用于四个量子位的CCCNOT。我们可以定义以下矩阵(Pauli- X的矩阵表示):

X=[0110]
此外,我们用I N表示N维恒等矩阵。现在,我们观察到作用于四个量子位的C C C N O T门的矩阵表示由以下16 × 16矩阵给出: C C CINCCCNOT16×16
CCCNOT=[I1400X]
因此,我们可确定其行列式:
det(CCCNOT)=1
现在考虑Toffoli门的矩阵表示,作用于的前三个量子位4 -qubit系统。其矩阵表示被写为(其中,我们使用矩阵的Kronecker积):
ToffoliI2=[I600X]I2=[I1200XI2]=[I120000I20I20]
计算其行列式收率:
det(ToffoliI2)=1
当然,Toffoli门也可以作用于不同的量子位。假设我们让Toffoli门作用于第一个,第二个和第四个量子位,其中第四个量子位是目标量子位。然后,我们通过交换与仅在第三个和第四个量子位中不同的状态相对应的列(即|0001来从上面显示的矩阵中获得新的矩阵表示0001 |0010|0101|0110等,这里要注意的重要一点是,列互换的数量是偶数,因此该决定因素保持不变。因为我们可以将qubit的每个置换写为just的连续置换序列2量子位(即,S4是通过在转置生成的S4),我们发现,对于所有托佛利门,施加到控制和目标量子位的任意组合,其矩阵表示具有行列式1

det(AB)=det(A)det(B)AB1CCCNOT4

CCCNOT5

CCCNOTI2=[I1400X]I2=[I280000I20I20]
det(CCCNOTI2)=1
CCCNOT5115


1
用来推导电路的信号源或方法会很有用!
glS

1
我没有任何资料可以解释如何全面设计这种电路。我在学习量子计算时使用的资源是Nielsen和Chuang所著的书,其讲义可在此处找到:homepages.cwi.nl/~rdewolf/qcnotes.pdf,但这些资源并不专门针对设计量子电路。
arriopolis '18年

2
我确实尝试详细说明了电路的工作原理。希望这有助于设计与此类似的电路!:)
arriopolis '18年

没有助剂是否有可能?
user1271772

1
+1CCCNOT41CCCNOT+1
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.