你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
量子关系图约定
有时,在线路图中,量子算法比在等效的书面矩阵表示形式中更容易理解。 本文介绍如何读取量子线路图及其约定。
有关详细信息,请参阅 如何可视化量子线路图。
读取量子线路图
在量子线路中,时间按从左到右的顺序流动。 量子门按时间顺序排列,最左侧的门是应用于量子比特的第一个门。
以以下量子线路图为例:
- 量子比特寄存器:量子比特寄存器显示为水平线,每一行表示量子比特。 上行是标记为 0 的量子比特寄存器,第二行是标记为 1 的量子位寄存器,依此表示。
- 量子门:量子运算由 量子门表示。 术语“量子门”类似于经典逻辑门。 作用于一个或多个量子比特寄存器的门用一个框表示。 在此示例中,符号表示 Hadamard 操作。
- 受控门:受控门对两个或多个量子比特执行操作。 在此示例中,符号表示 CNOT 门。 黑色圆表示控制量子比特,圆圈内的十字架表示 target 量子比特。
- 度量操作:计量符号表示度量操作。 测量操作采用量子比特寄存器作为输入和输出经典信息。
应用量子门
由于时间从左向右流动,因此首先应用最左侧的门,因此以下量子线路的操作是单一矩阵 $CBA$。
注意
矩阵乘法遵守相反的约定,即最先应用最右侧的矩阵。 不过,在量子线路图中,最先应用的是最左侧的门。 这种差异有时可能会导致混淆,因此有必要记下线性代数表示法和量子关系图之间的这一明显差异。
量子线路的输入和输出
在量子线路图中,进入量子门的线路表示输入到量子门的量子比特,退出量子门的线路表示从量子门输出的量子比特。
量子门的输入数等于量子门的输出数。 这是因为量子运算是统一的,因此是可逆的。 如果量子门的输出多于输入,它就不可逆,因此不是统一的,这是矛盾。
因此,对于线路图中绘制的任何框,进入该框的线数和离开该框的线数必须完全相等。
多量子比特操作
多量子比特线路图遵守与单量子比特线路图类似的约定。 例如,可以将双量子比特单位运算 $B$ 定义为 $(H S\otimes X),$因此等效的量子线路如下:
根据使用线路的场景,我们还可将 $B$ 看作是操作一个双量子比特寄存器,而不是操作两个单量子比特寄存器。
或许这类抽象线路图最有用的性质是,可通过它们大致描述复杂的量子算法,而不必细致编制到描绘出基础的量子门。 这意味着你可直观地查看大型量子算法的数据流,无需理解有关算法中每个子例程如何工作的所有细节。
受控门
量子控制门是两个量子比特门,如果控制量子比特处于特定状态,则向量子比特应用单量子比特门 target 。
例如,考虑量子控制门,表示 $\Lambda(G)$,其中单个量子比特的值控制 $G$ 运算的应用。 可以通过查看产品状态输入的以下示例来理解受控门 $\Lambda(G$ ):
$$\Lambda(G) (\alpha\ket{{0} + \beta\ket{1}) \ket{\psi}=\alpha\ket{{0}\ket{\psi} + \beta\ket{{1} G\ket{\psi}$$
也就是说,受控门将 $G$ 应用于包含 $\psi$ 的寄存器(当且仅当控制量子位取值 $1$ 时)。 一般情况下,此类受控操作按以下符号在线路图中描述:
在这里,黑色圆圈表示门受控的量子位,垂直线表示当控制量子比特采用值 $1$ 时应用的酉操作。
对于 G X$ 和 =G$$Z= 的特殊情况$,以下表示法用于描述入口的受控版本(请注意,受控 X 门是 CNOT 门):
Q# 提供了方法来自动生成操作的受控版本,这让程序员不必再手动编码这些操作。 下面是它的一个示例:
operation PrepareSuperposition(qubit : Qubit) : Unit
is Ctl { // Auto-generate the controlled specialization of the operation
H(qubit);
}
经典控制的门
量子门也可以在测量后应用,其中度量结果充当经典控制位。
以下符号表示经典控制的门,其中 $G$ 在经典控制位上应用条件为值 $1$:
测量运算符
测量操作采用量子位寄存器、度量值,并将结果输出为经典信息。
测量操作由计量符号表示,它始终将输入看做是一个量子比特寄存器(表示为实线),将输出看做是经典信息(表示为双线)。 具体而言,度量操作的符号如下所示:
在中 Q#, Measure
运算符实现度量运算。
示例:酉变换
考虑单元转换 $\text{CNOT}_{01}(H\otimes 1)$。 这种门序列对量子计算来说至关重要,因为它会创建一个最大纠缠的双量子比特态:
$\text{CNOT}_{01}(H\otimes 1)\ket{00}=\frac{1}{\sqrt{2}} (\ket{{00} + \ket{11})$
在量子算法和量子纠错中,普遍存在这种复杂程度或更复杂的操作。
显示准备这种最大纠缠的量子态的线路图为:
Hadamard 门后面的符号表示 CNOT 门,其中黑色圆表示控制量子比特,圆内的十字架表示 target 量子比特。 此量子线路作用于两个量子比特(或等效为作用于两个寄存器,每个寄存器由一个量子比特组成)。
示例:Teleportation 线路图
量子传送是演示线路组件的最佳量子算法之一。
量子传送是一种协议,允许量子状态从一个量子比特传输到另一个量子位,同时在发送方和接收方之间共享纠缠状态,以及它们之间的经典通信。
出于学习目的,发送方称为 Alice,接收方称为 Bob,要传送的量子位称为消息量子比特。 Alice 和 Bob 各保留一个量子比特,Alice 有一个额外的量子比特,即消息量子比特。
以下线路图演示了传送协议:
我们来细分传送协议的步骤:
- 量子比特寄存器 q0 是消息量子比特,量子比特寄存器 q1 是 Alice 的量子比特,量子比特寄存器 q2 是 Bob 的量子比特。 消息量子比特处于未知状态,Alice 和 Bob 的量子比特处于 $\ket{0}$ 状态。
- Hadamard 门应用于 Alice 的量子比特。 由于量子比特处于 $\ket{0}$ 状态,因此生成的状态为 $\frac{1}{\sqrt{{2}}(\ket{{0} + \ket{1})$ 。
- CNOT 门应用于 Alice 和 Bob 的量子位。 Alice 的量子比特是控制量子比特,Bob 的量子比特是 target 量子比特。 结果状态为 $\frac{{1}{\sqrt{2}}(\ket{00} + \ket{{11})$。 Alice 和 Bob 现在共享纠缠的状态。
- CNOT 门应用于消息量子比特和 Alice 的量子比特。 由于 Alice 的量子比特也与 Bob 的量子比特纠缠,因此生成的状态是三量子位纠缠状态。
- Hadamard 门应用于消息量子比特。
- Alice 测量 她的两个量子位,并将测量结果告知 Bob,这不会反映在线路中。 度量结果是两个经典位,可取值 00、01、10 或 11。
- 两个经典控制的 Pauli 门 X 和 Z 将 应用于 Bob 的量子比特,具体取决于结果位为值 $1$。 生成的状态是原始消息量子比特状态。