你最好奇的量子计算(九):介绍量子逻辑门 …
admin
2023-06-26 02:41:01
0

作者:Andy Matuschak 和 Michael Nielsen

编译:Florence Wong – AICUG

本文系AICUG翻译原创,如需转载请联系(微信号:834436689)以获得授权

本系列其他文章,请参看此链接:

我们已经看到了我们的第一个量子门,即非(NOT)或X门。当然,X似乎并没有超越传统的NOT门所能做的所有事情。在本节中,我介绍一个明显涉及量子效应的门,即Hadamard门。

与X门一样,我们将首先说明Hadamard门如何在计算基础状态下起作用。用H表示门,这是它的作用:




当然,∣0和∣1不是唯一的量子态。Hadamard门如何作用于更一般的量子态?

知道它像量子NOT门一样,线性起作用,这不会让您感到惊讶。特别是,Hadamard门将α∣0 + β∣1叠加到相应的输出叠加上:




真是一团糟。通过将∣0项以及∣1项组合在一起,可以减少混乱:




更好,但仍然不漂亮!幸运的是,我们基本上不会处理这种复杂的表达式。我在这里这样做的唯一原因是要明确。不去处理这样的表达式,我们将主要在电路和矩阵表示中使用H门(请参见下文)。这些使我们可以专注于抽象的一个更明朗的水准,而不是“瞎弄”关系系数。

确实,有关量子计算的许多工作,都是关于尝试开发,从抽象的低层次向更高的,概念的,层次发展的方法。到现在为止,我们的大部分工作都处于非常低的水平,似乎更多地是在线性代数中进行练习,而不是讨论新的计算模型。也许这很奇怪。毕竟,如果您要向某人讲解经典计算机,那么您将不会从AND和NOT门之类的“杂草”开始。您将从设计良好的高级编程语言开始,然后在不同的抽象层之间来回跳动。现代计算机不仅涉及逻辑闸,还至少涉及优美的高级想法:例如,懒惰的求值,高阶函数或谐音等等。

我希望我可以从量子计算机的高级抽象开始。但是,我们仍处于量子计算的早期,并且在大多数情况下,人类还没有发现这种高级抽象。人们仍在抓紧脚步,试图寻找好的想法。

这是一个令人兴奋的情况:这意味着几乎所有重大突破都在前面。从某种意义上说,我们对量子计算仍然了解甚少。这听起来可能令人惊讶:毕竟,关于该主题有很多很棒的教科书。但是,您可能在1940年代后期。就ENIAC计算机,已经写了一本很棒的大教科书。毕竟,这是一个非常复杂的系统。那本教科书本来看起来令人生畏,但它并不是计算的硬道理。在很大程度上,我们今天理解量子计算的方式类似于ENIAC,着眼于量子位和逻辑门以及线性代数的基本原理,并想知道更高层次的理解是什么。这种情况可以类似理解为,在那些导致诸如Lisp,Haskell,Prolog和Smalltalk之类语言产生的突破之前的编程语言设计。这使其成为了一个非凡的创造机会,这是未来几十个世纪的挑战。

说到基本要点,让我们回到Hadamard门。这是Hadamard门的电路表示。看起来就像电路图中的X门,只是我们将门标签更改为H:




就像X门一样,H具有矩阵表示形式:




要查看此矩阵表示的正确性,让我们检查矩阵在∣0和|∣1状态下的作用。在这里,我们检查∣0状态:




也就是说,该矩阵的作用与∣0状态下的Hadamard门相同。现在让我们检查∣1状态:




因此,矩阵在∣0和∣1状态下的行为与Hadamard门相同。通过矩阵乘法的线性,可以得出矩阵在所有输入状态下的行为与Hadamard相同,因此他们是相同的运算。

是什么使Hadamard门作为量子门很有趣?我们可以用它做什么?

我们没有足够的背景来为这些问题提供准确的答案。但是有一个类比可以提供洞察力。

想象一下,您在过去的数千年中一直生活在北非,并出于某种原因决定要进入伊比利亚半岛。如果您还没有船只,或其他可靠的方法来穿越大片水域,则需要一路穿越非洲,经过阿拉伯半岛,然后再穿越整个欧洲,再回到伊比利亚半岛:




照片来源:NASA地球观测站RetoStckli(2004年)。

但是,假设您发明了一种新设备,即船,它扩大了您可以穿越的位置范围。然后,您可以采取更直接的路线前往伊比利亚半岛,从而大大节省了时间:




Hadamard和类似门的作用是扩大计算机可能执行的操作范围。这种扩展使计算机可以采用快捷方式,因为计算机以传统的传统计算机无法实现的方式“移动”。而且,我们希望这可以使我们更快地解决一些计算问题。

另一个有用的类比是下棋。想象一下您在下棋,并且规则有所改变,这有利于您的“车”扩大行动范围。这种额外的灵活性,可以使您更快地实现将对方“将死”,因为您可以更快地到达新位置。

类似的事情,将会发生在Hadamard门。通过将我们可访问的状态范围(或更准确地说,我们可生成的动态操作范围)扩展到传统计算机上无法达到的范围,可以在我们的计算中采用捷径。

在后续的文章中,我们将看到示例。

为了更熟悉Hadamard门,让我们分析一个简单的电路:




这条电路是做什么的?

在进行计算之前,值得暂停一秒钟以尝试猜测结果。猜测的重点不是正确无误,而是挑战自己,去开始产生启发式思维模型,来思考量子电路中正在发生的事情。最初,这些思维模式可能不会很好,但是没关系–如果您继续这样做,它们会变得更好。

您可以使用以下一种启发式方法来思考此电路:您可以将H视为将∣0和∣1状态混合在一起的一种方式。因此,如果将H两次应用于|0,也许它将彻底混合∣0和|1。根据这种启发式方法,您认为会导致哪种状态?您相信结果吗?为什么或者为什么不?您能想到其他能帮助您猜测答案地启发方式吗?

好吧,让我们计算一下实际发生的情况。将第一个Hadamard应用于∣0之后,我们得到




然后,我们应用第二个Hadamard门。这将上面的∣0项带到



,同时把∣1项带入



,因此输出将为:




如果您看一下上面的表达式,您会发现∣1项相互抵消,所以您只剩下了∣0项。收集它们后,我们剩下的∣0状态与开始时一样:




以类似的方式,在通过第一个Hadamard门运行∣1状态之后,我们得到:




然后我们将第二个Hadamard门应用于公式,得到:




这次是∣0项抵消了,而∣1项得到了加强。当我们收集这些项时,我们看到输出只是∣1状态,与开始时一样。因此,∣0和∣1状态在该量子电路中均保持不变,并且电路的净效应与量子线完全相同:




还有另一种查看方式,我将在不详细扩展介绍的情况下勾勒出该方式。需要注意的是,如果我们向电路输入任意量子态∣ψ,则输出必须为HH∣ψ,即,将两个H矩阵应用于∣ψ的结果。但是,如果仅计算矩阵乘积HH,则它是2×2的恒等矩阵,HH = I。因此,电路的输出必须与输入相同,HH∣ψ = I∣ψ = ∣ψ,正如一个量子线。

当然,此结果违反了我们的直觉猜测,即两个Hadamards将彻底混合∣0和∣1。仔细研究我们的直觉出了什么问题,这很有趣,例如,仔细检查H在∣0作用两次的计算。您会看到,在第二个门之后,∣1项彼此完全抵消,而∣0项相互增强。

这似乎是无害的,几乎就像是数学事故。尽管如此,我还是引起您的注意,因为这种取消或增强在许多量子计算机算法中至关重要。在不赘述的情况下,许多此类算法的大致工作方式是,首先使用Hadamard门,去扩展,诸如



(或多量子位的类似物)的量子状态,即多个计算基础状态的叠加。在算法的最后,他们使用巧妙的抵消和强化模式,将事物重新带回一个(或可能是几个,在多量子位的情况下)计算基础状态,其中包含所需的答案。这是一个有点含糊的描述,也许是很诱人的描述,但是要指出的是,我们上面看到的抵消-强化实际上在许多量子计算中至关重要。

现在,我将进行一些与Hadamard门相关的简单练习。与反复“重复”的问题不同,以下练习的重点并不是帮助记忆,因此您不会重复看到这些练习。相反,他们在这里,是因为(您应该选择对他们进行处理)他们将帮助您更好地理解本文的内容。但是,他们只是顺便地有帮助记忆。请注意,即使您没有完成练习,也值得至少通读他们。

练习:

验证HH = I,其中I是2×2的单位矩阵,




练习:

假设通过以下方式定义矩阵J而不是H:




最初,J似乎会沿着类似于H的方式,制造一个有趣的量子门。例如:






他们都是良好的归一化量子态。但是,如果我们将J应用于量子状态



,将

会发生什么?为什么这会使J不适合用作量子门?


练习:考虑量子电路:




解释为什么此电路的输出是XH∣ψ,而不是HX∣ψ,因为您可能天真地假设,如果按门在电路中出现的顺序写下这些门。这是要注意的一个常见难题–其发生是因为量子门在电路表示中从左到右组成,而矩阵乘法从右到左组成。

相关内容