量子门据说是单一的和可逆的。但是,经典的门可能是不可逆的,就像逻辑与门和逻辑或门一样。那么,如何使用量子门为不可逆的经典AND和OR门建模呢?
量子门据说是单一的和可逆的。但是,经典的门可能是不可逆的,就像逻辑与门和逻辑或门一样。那么,如何使用量子门为不可逆的经典AND和OR门建模呢?
Answers:
假设我们有一个函数,它将n位映射到m位(其中m < n)。
我们当然可以设计一个经典电路来执行此操作。我们称它为。它接受n位作为输入。假设它将X作为输入,并输出f (X )。
现在,我们想使用量子电路做同样的事情。我们称它为,它以|为输入。X ⟩输出| f (X )⟩。现在请记住,由于量子力学是线性的,因此输入的量子位当然可以与所有n位字符串叠加。因此,输入可以是在一些状态Σ X ∈ { 0 ,1 } Ñ α X | X ⟩。由线性输出将是Σ X ∈ { 0 ,。
量子力学的发展是统一的。而且因为它是单一的,所以是可逆的。这基本上意味着,如果你申请一个量子门上的输入状态| X ⟩并得到一个输出状态ü | X ⟩,您可以随时申请逆门ü †找回状态| X ⟩。
请注意,在上图中,请注意,每一步的输入线数(即6条)与输出线数完全相同。这是因为操作的统一性。与此相比,像经典的操作逻辑与其中给出了一个单比特输出0。不能重构初始比特0和1从输出,因为即使0 ∧ 0和1 ∧ 0会映射到相同的输出0。但是,请考虑经典的NOT门。如果输入为0,则输出1,而如果输入为它输出 0。由于此映射是一对一的,因此可以轻松地将其实现为可逆单一门,即Pauli-X门。但是,要实现经典的“或”门或经典的“或”门,我们需要多加考虑。
考虑一下CSWAP门。这是显示该方案的示意图:
在SWAP门中,取决于控制位,我们另外两个可能会或可能不会被交换。注意,有三条输入线和三条输出线。因此,可以将其建模为单一量子门。现在,如果:如果x = 0,则输出为0,而如果x = 1,则输出y。
如果您发现,如果,我们输出ˉ X ∧ Ÿ而如果X = 1,我们是输出X ∧ ÿ。因此,我们可以成功地产生输出X ∧ Ÿ这是我们想要的,虽然我们结束了一些“垃圾”输出ˉ X ∧ Ÿ和X。一个有趣的事实是CSWAP门的反面是CSWAP门本身(检查!)。
就这样!请记住,所有经典门都可以使用“ 与非”门构建,“ 与非”门当然可以构建为“与”门和“非”门。我们使用可逆量子门对经典的非门和经典的与门进行了有效建模。为了安全起见,我们还可以将qauntum CNOT门添加到我们的列表中,因为使用CNOT可以复制位。
因此,基本信息是使用量子CSWAP,CNOT和NOT门,我们可以复制任何经典门。顺便说一句,有一个巧妙的技巧可以消除使用量子门时产生的“垃圾”位,但这是另一回事了。
PS:除去“垃圾”位非常重要,否则它们会导致计算错误!
参考文献和图片来源:加州大学伯克利分校在edX上提供的量子力学和量子计算MOOC。