4.4 测量

import numpy as np
np.set_printoptions(4, suppress=True)
vec0 = np.array([1, 0])
vec1 = np.array([0, 1])
I = np.eye(2)
X = np.array([[0, 1], [1, 0]])
H = 1/np.sqrt(2) * np.array([[1, 1], [1, -1]])
P0 = np.outer(vec0, vec0)
P1 = np.outer(vec1, vec1)

练习 4.32

练习 4.32

\(\rho\) 是描述双量子系统的密度矩阵。假设在计算基中执行对第二个量子比特的测量,令 \(P_0 = |0\rangle\langle0|\)\(P_1 = |1\rangle\langle1|\) 分别是第二个量子比特上到状态 \(|0\rangle\)\(|1\rangle\) 的投影。令 \(\rho'\) 是测量后,由一个不了解测量结果的观测者分配给系统的密度矩阵。证明

\[ \rho' = P_0 \rho P_0 + P_1 \rho P_1 \tag{4.40} \]

再证明第一量子比特的约化密度矩阵不受测量的影响,即 \(\mathrm{tr}_2 (\rho) = \mathrm{tr}_2 (\rho')\)

警告

记号重新定义

首先我们沿用题目所给的记号 \(\rho, \rho' \in \mathbb{C}^4\)。我们认为 \(P_0, P_1 \in \mathbb{C}^2\) 是单量子比特算符。因此,实际的算符作用是在 \(\mathbb{C}^4\) 的双量子比特空间下完成。因此,待证等式应当是

\[ \rho' = (I \otimes P_0) \rho (I \otimes P_0) + (I \otimes P_1) \rho (I \otimes P_1) \]

这个等式看起来比较丑陋,但我想应该更合适一些。

测量定义回顾

我们需要先对基于投影算符的测量作回顾 (这本书也会提到基于 POVM 的测量,但我们希望把问题弄得简单一些)。对于 \(\mathbb{C}^2\) 下的量子比特 \(|\psi\rangle\),测量得到态 \(|m\rangle\) 态的过程,使用算符作用的方式可以写为式 (2.104) 形式

\[ \frac{P_m}{\sqrt{p_m}} |\psi\rangle \]

其中,\(P_m = |m\rangle\langle m|\) 是投影算符,\(p_m = \langle \psi | P_m | \psi \rangle\) 是测量得到态 \(|m\rangle\) 的概率。

作为测量的结果的态的密度算符为

\[ \frac{P_m}{\sqrt{p_m}} |\psi\rangle \langle\psi| \frac{P_m}{\sqrt{p_m}} = \frac{1}{p_m} P_m |\psi\rangle \langle\psi| P_m \]

单量子比特测量后的密度矩阵

但是现在假使我们不知道测量的结果 (即不清楚到底投影到了 \(|0\rangle\) 还是 \(|1\rangle\))。但我们从 \(|\psi\rangle\) 的结构,应当能了解投影到 \(|0\rangle\)\(|1\rangle\) 的概率分别为 \(p_0\)\(p_1\)。那么此时,我们就依概率将两个密度算符加起来:

\[ \sum_{m \in \{0, 1\}} p_m \times \frac{1}{p_m} P_m |\psi\rangle \langle\psi| P_m = \sum_{m \in \{0, 1\}} P_m |\psi\rangle \langle\psi| P_m = P_0 |\psi\rangle \langle\psi| P_0 + P_1 |\psi\rangle \langle\psi| P_1 \]

这就是单个粒子下,在我们不知道测量结果时,测量后体系的密度矩阵了。

我们考察一个实际的例子。若 \(|\psi\rangle\) 在计算基下的向量用下述程序表示为变量 v (通过随机数生成),那么其密度矩阵 \(|\psi\rangle \langle\psi|\) 则可以用 rho_v

v = np.random.randn(2) + np.random.randn(2) * 1j
v /= np.linalg.norm(v)
v
rho_v = np.outer(v.conj(), v)
rho_v
array([[0.8616+0.j    , 0.2185-0.2675j],
       [0.2185+0.2675j, 0.1384+0.j    ]])

\(P_0 |\psi\rangle \langle\psi| P_0 + P_1 |\psi\rangle \langle\psi| P_1\) 作用下,只有对角元留了下来:

P0 @ rho_v @ P0 + P1 @ rho_v @ P1
array([[0.8616+0.j, 0.    +0.j],
       [0.    +0.j, 0.1384+0.j]])

双量子比特测量后的密度矩阵

双量子比特的情形是类似的。既然我们的测量对第一个量子比特没有作修改,那么对于比特 \(|\phi\psi\rangle = |\phi\rangle \otimes |\psi\rangle\) 测量得到态 \(|\phi m\rangle\) 可以用算符表示为

\[ \frac{I \otimes P_m}{\sqrt{p_m}} |\phi\psi\rangle \]

若我们不知道到底测量后得到了什么态,则这个状态的密度矩阵表示为

\[ \sum_{m \in \{0, 1\}} p_m \times \frac{1}{p_m} \frac{I \otimes P_m}{\sqrt{p_m}} |\phi\psi\rangle \langle\phi\psi| \frac{I \otimes P_m}{\sqrt{p_m}} = (I \otimes P_m) |\phi\psi\rangle \langle\phi\psi| (I \otimes P_m) \]

又,依据题目的记号,测量前的态 \(|\phi\psi\rangle\) 对应的密度矩阵是 \(\rho\),那么就意味着 \(\rho = |\phi\psi\rangle \langle\phi\psi|\);而上面的表达式是测量后的密度矩阵 \(\rho'\),那么

\[ \rho' = (I \otimes P_0) \rho (I \otimes P_0) + (I \otimes P_1) \rho (I \otimes P_1) \]

偏迹求取

随后,我们要求取 \(\rho'\)\(\rho\) 的偏迹。\(\rho\) 不能写为简单的两个 \(\mathbb{C}^2\) 算符的直积;但它总可以表示为这种直积的线性组合。即,必然存在一系列 \(\mathbb{C}^2\) 空间下的算符 \(\{ \sigma_k, \varsigma_k \}\),使得 \(\rho\) 可以写为下述形式:

\[ \rho = \sum_k \sigma_k \otimes \varsigma_k \]

那么,

\[\begin{split} \begin{align*} \rho' &= (I \otimes P_0) \left( \sum_k \sigma_k \otimes \varsigma_k \right) (I \otimes P_0) + (I \otimes P_1) \left( \sum_k \sigma_k \otimes \varsigma_k \right) (I \otimes P_1) \\ &= \sum_k I \sigma_k I \otimes P_0 \varsigma_k P_0 + \sum_k I \sigma_k I \otimes P_1 \varsigma_k P_1 \\ &= \sum_k \sigma_k \otimes (P_0 \varsigma_k P_0 + P_1 \varsigma_k P_1) \end{align*} \end{split}\]

我们对上式的其中一部分求迹:

\[ \mathrm{tr} \big( P_0 \varsigma_k P_0 + P_1 \varsigma_k P_1 \big) = \mathrm{tr} (\varsigma_k) \]

上式成立的原因可以看讨论单量子比特测量后密度矩阵的时候,我们说 \(P_0 \varsigma_k P_0 + P_1 \varsigma_k P_1\) 的作用是保留 \(\varsigma_k\) 的对角元,而将所有非对角元剔除。在这个操作下,迹没有发生变化。

因此,\(\rho'\) 的偏迹可以写为

\[\begin{split} \begin{align*} \mathrm{tr}_2 (\rho') &= \mathrm{tr}_2 \left( \sum_k \sigma_k \otimes (P_0 \varsigma_k P_0 + P_1 \varsigma_k P_1) \right) \\ &= \sum_k \sigma_k \mathrm{tr} (P_0 \varsigma_k P_0 + P_1 \varsigma_k P_1) \\ &= \sum_k \sigma_k \mathrm{tr} (\varsigma_k) = \mathrm{tr}_2 \left( \sum_k \sigma_k \otimes \varsigma_k \right) \\ &= \mathrm{tr}_2 (\rho) \end{align*} \end{split}\]

例子:Bell 态

对于其中一个 Bell 态,在计算基下的向量和其对应的密度矩阵是

\[\begin{split} |\psi\rangle = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 \\ 0 \\ 0 \\ 1 \end{bmatrix}, \quad \rho = |\psi\rangle\langle\psi| = \begin{bmatrix} 1/2 & 0 & 0 & 1/2 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 1/2 & 0 & 0 & 1/2 \end{bmatrix} \end{split}\]
vec_bell = np.array([1, 0, 0, 1]) / np.sqrt(2)
rho_bell = np.outer(vec_bell.conj(), vec_bell)
rho_bell
array([[0.5, 0. , 0. , 0.5],
       [0. , 0. , 0. , 0. ],
       [0. , 0. , 0. , 0. ],
       [0.5, 0. , 0. , 0.5]])

对第二个粒子测量后,若不知道测量结果,则该态的密度矩阵是

\[\begin{split} \begin{align*} \rho' &= (I \otimes P_0) \rho (I \otimes P_0) + (I \otimes P_1) \rho (I \otimes P_1) \\ &= \begin{bmatrix} 1/2 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1/2 \end{bmatrix} \end{align*} \end{split}\]
rho_measured = np.kron(I, P0) @ rho_bell @ np.kron(I, P0) + np.kron(I, P1) @ rho_bell @ np.kron(I, P1)
rho_measured
array([[0.5, 0. , 0. , 0. ],
       [0. , 0. , 0. , 0. ],
       [0. , 0. , 0. , 0. ],
       [0. , 0. , 0. , 0.5]])

偏迹的计算说明如下。实际上,双量子比特下的算符 \(A\) 应当是 \(\mathbb{C}^{2 \times 2 \times 2 \times 2}\) 空间下的张量;但为了书写与程序编写的方便,通常我们将其表示为 \(\mathbb{C}^{4 \times 4}\) 矩阵。实际上,它应当表述为

\[\begin{split} A = \begin{bmatrix} A_{0000} & A_{0001} & A_{0010} & A_{0011} \\ A_{0100} & A_{0101} & A_{0110} & A_{0111} \\ A_{1000} & A_{1001} & A_{1010} & A_{1011} \\ A_{1100} & A_{1101} & A_{1110} & A_{1111} \\ \end{bmatrix} \end{split}\]

总地来说,张量 \(A\) 的元素可以用 \(A_{\alpha_1 \beta_1 \alpha_2 \beta_2}\) 表示;\(\alpha\)\(\beta\) 分别与第一个和第二个量子比特有关,而写为矩阵时则合并角标 \(\alpha_1 \beta_1\)\(\alpha_2 \beta_2\) 得到 \(A_{(\alpha_1 \beta_1), (\alpha_2 \beta_2)}\)

现在我们的目标是求第二个量子比特的偏迹,那么做法是把与第二个量子比特有关的角标 \(\beta_1, \beta_2\) 作求和 (\(\delta_{\beta_1 \beta_2}\) 是 Kronecker Delta 函数):

\[ \mathrm{tr}_2 (A) = \sum_{\beta_1 \beta_2} \delta_{\beta_1 \beta_2} A_{\alpha_1 \beta_1 \alpha_2 \beta_2}。 \]

偏迹的求取在 Python 下不是难事;先将 \(4 \times 4\) 矩阵转换为 \(2 \times 2 \times 2 \times 2\) 张量,随后对 \(\beta_1, \beta_2\) 角标求迹即可。我们可以得到

\[\begin{split} \mathrm{tr}_2 (\rho') = \mathrm{tr}_2 (\rho) = \begin{bmatrix} 1/2 & 0 \\ 0 & 1/2 \end{bmatrix} \end{split}\]
rho_bell.reshape(2, 2, 2, 2).trace(axis1=1, axis2=3)
array([[0.5, 0. ],
       [0. , 0.5]])
rho_measured.reshape(2, 2, 2, 2).trace(axis1=1, axis2=3)
array([[0.5, 0. ],
       [0. , 0.5]])

练习 4.33 (在 Bell 基中的测量)

练习 4.33

我们对量子线路规定的测量模型限于计算基。然而,我们常在其它标准正交状态定义的基中执行测量。为执行这样的测量,只需要从我们希望在其中进行测量的基,酉变换到计算基,再进行测量。例如,证明图

ex-4.33.1

执行了在 Bell 态下的测量。更精确地,证明这个线路导致相应的 POVM 元是到四个 Bell 态的投影的测量,并求出相应的测量算符是什么。

直观的分类讨论

我们让初态是 Bell 态,代入上述线路图的测量部分前,可以知道该线路的作用是

\[\begin{split} \begin{alignat*}{20} & \mathrm{init} \quad && \mathrm{CNOT}_{x_1, x_2} \quad && H_1 \\ & (|00\rangle + |11\rangle) / \sqrt{2} \quad && (|00\rangle + |10\rangle) / \sqrt{2} \quad && |00\rangle \\ & (|00\rangle - |11\rangle) / \sqrt{2} \quad && (|00\rangle - |10\rangle) / \sqrt{2} \quad && |10\rangle \\ & (|01\rangle + |10\rangle) / \sqrt{2} \quad && (|01\rangle + |11\rangle) / \sqrt{2} \quad && |01\rangle \\ & (|01\rangle - |11\rangle) / \sqrt{2} \quad && (|01\rangle - |11\rangle) / \sqrt{2} \quad && |11\rangle \\ \end{alignat*} \end{split}\]

譬如我们测量得到了 \(|10\rangle\),那么我们就知道,代入 CNOT 与 H 门之前,两个量子比特的状态是 Bell 态 \((|00\rangle - |11\rangle) / \sqrt{2}\)。这就对原来的题目作了证明。

POVM 元的讨论

上述的讨论其实是很严格的。但题目可能认为,使用算符的语言也可以作证明,并且更为精确,因此要求对 POVM 作讨论。

为了讨论方便,我们定义 \(\mathrm{CNOT}, H_1, P_{mn} \in \mathbb{C}^{4 \times 4}\) 是双量子比特算符,其中 \(m, n \in \{0, 1\}\) 表示计算基角标,

\[\begin{split} \begin{align*} \mathrm{CNOT} &= P_0 \otimes I + P_1 \otimes X \\ H_1 &= I \otimes X \\ P_{mn} &= P_m \otimes P_n \end{align*} \end{split}\]

那么该线路所代表的测量算符相当于 \(M_{mn} = P_{mn} H_1 \mathrm{CNOT}\)。需要注意,既然它是测量算符,那么其作用于双量子比特态 \(|\Phi\rangle \in \mathbb{C}^2\) 后,得到的态应该要归一化:

\[ |\Phi\rangle \rightarrow |mn\rangle = \frac{M_{mn}}{p_{mn}} |\Phi\rangle = \frac{M_{mn} |\Phi\rangle}{\langle \Phi | M_{mn}^\dagger M_{mn} | \Phi \rangle} \]

注意上述测量算符 \(M_{mn}\) 与投影算符 \(P_{mn}\) 都作用于 \(|\Phi\rangle\) 得到了 \(|mn\rangle\),但由于测量得到的概率不同即 \(\langle \Phi | M_{mn}^\dagger M_{mn} | \Phi \rangle \neq \langle \Phi | P_{mn}^\dagger P_{mn} | \Phi \rangle\),因此还是有区别的。该算符的 POVM 是

\[ E_{mn} = M_{mn}^\dagger M_{mn} = \mathrm{CNOT} H_1 P_{mn} H_1 \mathrm{CNOT} \]

上式我们用到了 \(\mathrm{CNOT}, \mathrm{H}_1, P_{mn}\) 的自伴算符与其自身相同的性质、以及 \(P_{mn}\) 作为投影算符的幂等性。

我们具体分析 \((m, n) = (1, 0)\) 的情况。在计算基下,POVM 算符 \(E_{10}\) 的矩阵表示可以计算得

\[\begin{split} E_{10} = \begin{bmatrix} 1/2 & 0 & 0 & -1/2 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ -1/2 & 0 & 0 & 1/2 \\ \end{bmatrix} \end{split}\]
CNOT = np.kron(P0, I) + np.kron(P1, X)
H1 = np.kron(H, I)
P10 = np.kron(P1, P0)
E10 = CNOT @ H1 @ P10 @ H1 @ CNOT
E10
array([[ 0.5,  0. ,  0. , -0.5],
       [ 0. ,  0. ,  0. ,  0. ],
       [ 0. ,  0. ,  0. ,  0. ],
       [-0.5,  0. ,  0. ,  0.5]])

我们再考察对于 Bell 基的其中一个态以及其在计算基下的向量表示:

\[\begin{split} |\Phi\rangle = \frac{|00\rangle - |11\rangle}{\sqrt{2}} = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 \\ 0 \\ 0 \\ -1 \end{bmatrix} \end{split}\]

其密度矩阵,即其测量算符 (定义),即其 POVM (幂等性),事实上等价于 POVM 算符 \(E_{10}\)

\[\begin{split} \rho_{\Phi} = P_{\Phi} = P_{\Phi} P_{\Phi}^\dagger = E_{\Phi} = |\Phi\rangle\langle\Phi| = \begin{bmatrix} 1/2 & 0 & 0 & -1/2 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ -1/2 & 0 & 0 & 1/2 \\ \end{bmatrix} = E_{10} \end{split}\]
vec = np.array([1, 0, 0, -1]) / np.sqrt(2)
np.outer(vec.conj(), vec)
array([[ 0.5,  0. ,  0. , -0.5],
       [ 0. ,  0. ,  0. , -0. ],
       [ 0. ,  0. ,  0. , -0. ],
       [-0.5, -0. , -0. ,  0.5]])
np.linalg.det(CNOT @ H1 @ P10 @ H1 @ CNOT)
0.0

对于其它的情况,我们也一样能证明,该线路下的任何测量的 POVM 算符,总能对应到其中一个 Bell 态测量算符的 POVM。结论得证。

练习 4.34 (测量一个算符)

练习 4.34

设我们有一个具有特征值 \(\pm 1\) 的单量子比特上的算符 \(U\),于是 \(U\) 既是 Hermite 的又是酉的,故可以看作既是一个可观测量又是一个量子门。假设我们希望测量可观测量 \(U\),即我们希望获得指示两个特征值之一的测量结果,并将测量后的状态带到相应的特征向量。用一个量子线路如何实现?证明下面的线路实现了一个测量。

ex-4.34.1

我们分析双量子比特 \(|0\rangle \otimes |\psi_\mathrm{in}\rangle\) 进入线路到测量之前的变化过程:

\[\begin{split} \begin{align*} |0\rangle \otimes |\psi_\mathrm{in}\rangle &\xrightarrow{H \otimes I} \frac{1}{\sqrt{2}} \big( |0\rangle \otimes |\psi_\mathrm{in}\rangle + |1\rangle \otimes |\psi_\mathrm{in}\rangle \big) \\ &\xrightarrow{\text{ctrl-}U} \frac{1}{\sqrt{2}} \big( |0\rangle \otimes |\psi_\mathrm{in}\rangle + |1\rangle \otimes U |\psi_\mathrm{in}\rangle \big) \\ &\xrightarrow{H \otimes I} \frac{1}{2} \big( (|0\rangle + |1\rangle) \otimes |\psi_\mathrm{in}\rangle + (|0\rangle - |1\rangle) \otimes U |\psi_\mathrm{in}\rangle \big) \\ &= \frac{1}{2} \big( |0\rangle \otimes (I+U) |\psi_\mathrm{in}\rangle + |1\rangle \otimes (I-U) |\psi_\mathrm{in}\rangle \big) \end{align*} \end{split}\]

那么若测量第一个量子比特

  • 得到 \(|0\rangle\),那么 \(|\psi_\mathrm{out}\rangle\)不考虑归一化时,等于 \((I + U) |\psi_\mathrm{in}\rangle\)

  • 得到 \(|1\rangle\),那么 \(|\psi_\mathrm{out}\rangle\)不考虑归一化时,等于 \((I - U) |\psi_\mathrm{in}\rangle\)


下面考察一个有意思的现象。我们令算符 \(U\) 的两个本征态是 \(|a\rangle\)\(|b\rangle\),根据题意,令它们分别对应的本征值为 \(\lambda_a = 1, \lambda_b = -1\);那么对于任意 \(|\psi_\mathrm{in}\rangle\),总可以写为这两个线性无关本征态的线性叠加 (为了讨论方便,我们额外对 \(|\psi_\mathrm{in}\rangle\) 作要求 \(\alpha, \beta \neq 0\) 以避免零波函数输出):

\[ |\psi_\mathrm{in}\rangle = \alpha |a\rangle + \beta |b\rangle \]

因此,

\[\begin{split} \begin{align*} (I+U) |\psi_\mathrm{in}\rangle &= |\psi_\mathrm{in}\rangle + U |\psi_\mathrm{in}\rangle = \big( \alpha |a\rangle + \beta |b\rangle \big) + \big( \alpha U |a\rangle + \beta U |b\rangle \big) \\ &= \alpha (1 + \lambda_a) |a\rangle + \beta (1 + \lambda_b) |b\rangle = 2 \alpha |a\rangle \Rightarrow |a\rangle \\ (I-U) |\psi_\mathrm{in}\rangle &= \alpha (1 - \lambda_a) |a\rangle + \beta (1 + \lambda_b) |b\rangle = 2 \beta |b\rangle \Rightarrow |b\rangle \end{align*} \end{split}\]

这意味着,若测量第一个量子比特

  • 得到 \(|0\rangle\),那么 \(|\psi_\mathrm{out}\rangle = |a\rangle\)

  • 得到 \(|1\rangle\),那么 \(|\psi_\mathrm{out}\rangle = |b\rangle\)

这相当于对第二个线路的算符进行了“测量”。

练习 4.35 (与控制可交换的测量)

练习 4.35

推迟测量原理的一个结论是,当被测量量子比特是一个量子门的控制量子比特时,测量量子比特和量子门可以交换,即

ex-4.35.1

(在图中双线代表经典比特) 证明第一个等式。右边的等式只是为了方便,测量结果以经典方式控制量子门的符号来表示。

我们令输入到线路的双量子比特态为

\[ |\Psi\rangle = \sum_{kl} c_{kl} |k\rangle \otimes |l\rangle \]

其中,\(k, l \in \{0, 1\}\)。我们暂且不对测量过程之后的态进行归一化 (归一化前后的态代表相同的物理实在)。那么对于第一个线路,若对第一个量子比特测量得到态 \(|a\rangle \in \{|0\rangle, |1\rangle\}\)

\[\begin{split} \begin{align*} |\Psi\rangle &\xrightarrow{\text{ctrl-}U} \sum_{kl} c_{kl} \big( P_0 |k\rangle \otimes I |l\rangle + P_1 |k\rangle \otimes U |l\rangle \big) \\ &\xrightarrow{\text{measure qubit 1} \rightarrow |a\rangle} \sum_{kl} c_{kl} \big( P_a P_0 |k\rangle \otimes I |l\rangle + P_a P_1 |k\rangle \otimes U |l\rangle \big) \end{align*} \end{split}\]

对于第二个线路,则是

\[\begin{split} \begin{align*} |\Psi\rangle &\xrightarrow{\text{measure qubit 1} \rightarrow |a\rangle} \sum_{kl} c_{kl} P_a |k\rangle \otimes I |l\rangle \\ &\xrightarrow{\text{ctrl-}U} \sum_{kl} c_{kl} \big( P_0 P_a |k\rangle \otimes I |l\rangle + P_1 P_a |k\rangle \otimes U |l\rangle \big) \\ \end{align*} \end{split}\]

注意到 \(P_a\) 是计算基下的投影算符,即 \(P_a \in \{ P_0, P_1 \}\)。由于 \(P_0, P_1\) 之间可对易即 \(P_0 P_1 = P_1 P_0\),因此上两式中的 \(P_a\)\(P_0, P_1\) 可对易,上述两个线路的结果其实是等价的。