我试图使用量子计算为个状态生成Greenberger-Horne-Zeilinger(GHZ)状态,从(N次)
提出的解决方案是首先在第一个量子位上应用Hadamard变换,然后从所有其他第一个量子位开始CNOT门的循环。
如果是纠缠对的一部分,我无法理解如何执行CNOT(),就像在Hadamard变换之后在此处形成的Bell状态一样。
我知道如何为此编写代码,但是从代数角度讲,为什么该方法正确以及如何完成?谢谢。
我试图使用量子计算为个状态生成Greenberger-Horne-Zeilinger(GHZ)状态,从(N次)
提出的解决方案是首先在第一个量子位上应用Hadamard变换,然后从所有其他第一个量子位开始CNOT门的循环。
如果是纠缠对的一部分,我无法理解如何执行CNOT(),就像在Hadamard变换之后在此处形成的Bell状态一样。
我知道如何为此编写代码,但是从代数角度讲,为什么该方法正确以及如何完成?谢谢。
Answers:
如果 是纠缠对的一部分,我无法理解如何执行CNOT(),就像在Hadamard变换之后在此处形成的Bell状态一样。
关键是要注意在应用相关的一个或多个量子门后,计算基态(或就此而言,其他任何完整的基态集)发生了什么。状态是纠缠还是可分离都无所谓。此方法始终有效。
让我们考虑量子比特的贝尔状态(两个量子比特和):
由计算基础状态和(可以表示为和的相等线性叠加形成)和。我们不必担心其他两个计算基础状态:和因为它们不是Bell状态叠加。CNOT门基本上会翻转(即两个映射之一还是)的量子位的状态的情况下,量子比特处于状态,否则根本什么都不做。
因此,基本上CNOT将保持计算基础状态不变。但是,它将把计算基础状态为。从CNOT对和,您现在可以推断出CNOT对叠加状态:
编辑:
您在注释中提到要让纠缠状态的两个量子位之一充当控件(并且NOT操作将应用于不同的量子位,例如,具体取决于控件)。
在这种情况下,您也可以按照上述类似的方式进行。
记下 -qubit组合状态:
假设是您的控制量子位。
再次,我们将简单地基于计算基础状态(对于3量子位系统)检查CNOT的动作,即和。在计算基础状态下注意,量子位的状态为,而量子位为。由于量子位处于状态,因此不会翻转量子位的状态。但是,请注意,在计算基础状态,量子位处于状态,而量子位处于状态。由于量子位处于状态,因此量子位的状态将翻转为。
因此,您最终得到以下状态:
这是您的量子位的 Greenberger–Horne–Zeilinger状态!