diff --git a/.gitignore b/.gitignore index 58461f25420fa09ee4a525651a0c54efa1b11af7..aac22fa6b166e1932639301844b31fc2ab81b044 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -.ipynb_checkpoints \ No newline at end of file +.ipynb_checkpoints +.vscode \ No newline at end of file diff --git a/lecture15.ipynb b/lecture15.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..bceceacd4fd52ee94791cbbd7ec79e2898ac63a2 --- /dev/null +++ b/lecture15.ipynb @@ -0,0 +1,466 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 量子线路的误差\n", + "\n", + "量子门永远都不可能是「完美」的,因为酉矩阵是连续的,我们只能使用连续变量来表示,可是现实中的计算总是有限精度的,这意味着误差是一定存在的。\n", + "\n", + "例如我们想要实现一个 $m$ 个门组成的量子线路,使用之前提到的通用量子门,记作 $U = U_m U_{m-1} \\cdots U_1$,但是因为某些未知的原因,我们实现的门序列是 $V = V_m V_{m-1} \\cdots V_1$,那么问题来了,它的表现有多差呢?这种「不完美」是否会毁掉我们的计算呢?\n", + "\n", + "首先让我们明确并定义**误差**的概念:\n", + "$$\n", + "E(U, V) \\equiv \\max_{|\\psi\\rangle} \\left\\Vert (U - V) |\\psi\\rangle \\right\\Vert\n", + "$$\n", + "其中范数使用欧几里得范数:\n", + "$$\n", + "\\left \\Vert |a\\rangle \\right \\Vert \\equiv \\sqrt{\\langle a | a \\rangle}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "接下来我们讨论这种**误差**的物理含义,我们将证明下面的定理。\n", + "\n", + "**定理:**\n", + "$$\n", + "\\left| P_U - P_V \\right| \\leq 2 E(U, V)\n", + "$$\n", + "其中 $P_U \\equiv \\langle \\psi | U^\\dagger M U | \\psi \\rangle$,$P_V \\equiv \\langle \\psi | V^\\dagger M V | \\psi \\rangle$ 分别代表某个测量POVM给出结果 $M$ 的概率。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Proof:**\n", + "\n", + "首先我们引入一个记号 $|\\Delta\\rangle \\equiv (U-V) |\\psi\\rangle$ ,这是一个未单位化的向量。\n", + "\n", + "首先看不等式的左端\n", + "$$\n", + "\\begin{align*}\n", + "|P_U - P_V| & = \\left| \\langle \\psi | U^\\dagger M U | \\psi\\rangle - \\langle \\psi | V^\\dagger M V | \\psi \\rangle \\right| \\\\\n", + "& = \\left| \\langle \\psi | U^\\dagger M (U-V) | \\psi\\rangle + \\langle \\psi | U^\\dagger M V | \\psi\\rangle + \\langle \\psi | (U - V)^\\dagger M V | \\psi \\rangle - \\langle \\psi | U^\\dagger M V | \\psi \\rangle \\right| \\\\\n", + "& = \\left| \\langle \\psi | U^\\dagger M | \\Delta \\rangle + \\langle \\Delta | M V | \\psi \\rangle \\right| \\\\\n", + "& \\leq \\left| \\langle \\psi | U^\\dagger M | \\Delta \\rangle \\right| + \\left|\\langle \\Delta | M V | \\psi \\rangle \\right|\n", + "\\end{align*}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$M$ 是POVM中的一项,所以 $M$ 是正定矩阵,其特征值大于等于 $0$,由于完备性关系 $\\sum_i M_i = I$,所以 $M$ 的特征值小于等于 $1$,那么有:\n", + "$$\n", + "\\begin{align*}\n", + "& \\left| \\langle \\psi | U^\\dagger M | \\Delta \\rangle \\right| \\\\\n", + "= & \\left| \\langle \\psi_U | M | \\Delta \\rangle \\right| \\\\\n", + "\\leq & \\left \\Vert |\\psi_U\\rangle \\right \\Vert \\cdot \\left\\Vert M|\\Delta \\rangle \\right\\Vert \\\\\n", + "\\leq & \\left\\Vert |\\Delta\\rangle \\right\\Vert\n", + "\\end{align*}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "因此,我们就得到了结论\n", + "$$\n", + "\\left| P_U - P_V \\right| \\leq 2 \\left\\Vert |\\Delta\\rangle \\right\\Vert \\leq 2 E(U, V)\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "对于多个门,我们有下面的不等式:\n", + "$$\n", + "E(U, V) = E(U_m U_{m-1} \\cdots U_1, V_m, V_{m-1} \\cdots V_1) \\leq \\sum_{i=1}^m E(U_i, V_i)\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这里只证明两个门的情况(多于两个门可以用数学归纳法证明)。\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "& \\max_{|\\psi\\rangle} \\left\\Vert (U_1U_2 - V_1V_2) |\\psi\\rangle \\right\\Vert \\\\\n", + "= & \\max_{|\\psi\\rangle} \\left\\Vert (U_1U_2 - U_1V_2 + U_1V_2 - V_1V_2) |\\psi\\rangle \\right\\Vert \\\\\n", + "= & \\max_{|\\psi\\rangle} \\left\\Vert U_1(U_2 - V_2) |\\psi\\rangle + (U_1 - V_1)V_2 |\\psi\\rangle \\right\\Vert \\\\\n", + "\\leq & \\max_{|\\psi\\rangle} \\left(\\left\\Vert U_1(U_2 - V_2) |\\psi\\rangle \\right\\Vert + \\left\\Vert (U_1 - V_1)V_2 |\\psi\\rangle \\right\\Vert \\right) \\\\\n", + "\\leq & \\max_{|\\psi\\rangle} \\left\\Vert U_1(U_2 - V_2) |\\psi\\rangle \\right\\Vert + \\max_{|\\psi\\rangle}\\left\\Vert (U_1 - V_1)V_2 |\\psi\\rangle \\right\\Vert \\\\\n", + "= & \\max_{|\\psi\\rangle} \\left\\Vert (U_2 - V_2) |\\psi\\rangle \\right\\Vert + \\max_{|\\psi\\rangle}\\left\\Vert (U_1 - V_1) |\\psi\\rangle \\right\\Vert \\\\\n", + "= & E(U_1, V_1) + E(U_2, V_2)\n", + "\\end{align*}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "该定理表明,误差是线性叠加的,所以如果我们希望最终的测量结果误差不超过 $\\delta$,即 $|P_U - P_V|\\leq \\delta$,线路有 $m$ 个门,那么我们只需要控制每个门的误差\n", + "$$\n", + "E(U_i, V_i) \\leq \\frac{\\delta}{2m}\n", + "$$\n", + "\n", + "这表明,如果我们的量子线路越长,门的数目越多,单个门的保真度就要越高。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 二量子门的标准分解\n", + "\n", + "一般的,任意二量子比特门都可以表示为「标准形式」(Kraus and Cirac 2001):\n", + "$$\n", + "U = A_L\\otimes B_L e^{i(\\alpha_{xx}XX + \\alpha_{yy}YY + \\alpha_{zz}ZZ)} A_R\\otimes B_R\n", + "$$\n", + "其中 $A_L, A_R$ 和 $B_L, B_R$ 都是单量子比特门,$\\alpha\\in \\mathbb{R}$。\n", + "\n", + "下面将通过几个引理,一步步的证明这个结论。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 纠缠\n", + "\n", + "首先介绍一个概念:纠缠熵。对于一个二量子比特纯态 $|\\psi\\rangle$,其纠缠熵定义如下:\n", + "$$\n", + "E(|\\psi\\rangle) \\equiv - tr \\left ( \\rho_A \\log_2 \\rho_A \\right ) = - tr \\left ( \\rho_B \\log_2 \\rho_B \\right )\n", + "$$\n", + "其中\n", + "$$\n", + "\\begin{align*}\n", + "\\rho & = |\\psi \\rangle \\langle \\psi | \\\\\n", + "\\rho_A & = tr_B \\rho \\\\\n", + "\\rho_B & = tr_A \\rho\n", + "\\end{align*}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们知道,对于二量子比特纯态 $|\\psi\\rangle$,存在Schmidt分解:\n", + "$$\n", + "|\\psi\\rangle = \\sum_i \\sqrt{p_i} |i^A\\rangle |i^B\\rangle \n", + "$$\n", + "则可以计算A和B的密度矩阵:\n", + "$$\n", + "\\begin{align*}\n", + "\\rho_A & = \\sum_i p_i |i^A \\rangle \\langle i^A | \\\\\n", + "\\rho_B & = \\sum_i p_i |i^B \\rangle \\langle i^B |\n", + "\\end{align*}\n", + "$$\n", + "因此其纠缠熵为\n", + "$$\n", + "E(|\\psi\\rangle) = -tr \\left ( \\sum_i p_i \\log_2 p_i |i^A \\rangle \\langle i^A | \\right ) = - p_1 \\log_2 p_1 - p_2 \\log_2 p_2\n", + "$$\n", + "其中 $p_1, p_2$ 为 $\\rho_A, \\rho_B$ 的两个特征向量。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Concurrence\n", + "\n", + "为了方便计算,我们引入concurrence:\n", + "$$\n", + "C \\equiv \\left | \\sum_i \\alpha_i^2 \\right |\n", + "$$\n", + "其中 $\\alpha_i$ 是 $|\\psi\\rangle$ 在magic基下的振幅,magic基是由Bell基变换而来的:\n", + "$$\n", + "\\begin{align*}\n", + "m_{00} & \\equiv \\frac{|00\\rangle + |11\\rangle}{\\sqrt{2}} \\\\\n", + "m_{01} & \\equiv i \\frac{|00\\rangle - |11\\rangle}{\\sqrt{2}} \\\\\n", + "m_{10} & \\equiv i \\frac{|01\\rangle + |10\\rangle}{\\sqrt{2}} \\\\\n", + "m_{11} & \\equiv \\frac{|01\\rangle - |10\\rangle}{\\sqrt{2}}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "> 注意,$C$ 的定义中是 $\\alpha_i^2$ 而不是 $|\\alpha|^2$。\n", + "\n", + "通过计算可以证明下面这个定理(留作习题):\n", + "$$\n", + "E(|\\psi\\rangle) = H\\left ( \\frac{1 + \\sqrt{1 - C^2}}{2} \\right )\n", + "$$\n", + "其中\n", + "$$\n", + "H(x) \\equiv -x \\log_2 x - (1-x) \\log_2 (1-x)\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Lemma 1\n", + "\n", + "- 如果 $E(|\\psi\\rangle) = 0$,即 $C = 0$,那么 $|\\psi\\rangle = |a\\rangle|b\\rangle$ 是可分态;\n", + "- 如果 $E(|\\psi\\rangle) = 1$,即 $C = 1$,那么 $|\\psi\\rangle$ 是最大纠缠态,$\\rho_A = \\rho_B = I / 2$ 。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Lemma 2\n", + "\n", + "根据 Lemma 1,$|\\psi\\rangle$ 是最大纠缠态,当且仅当 $\\alpha_i$ 都是实数(忽略一个全局相位 $e^{i\\varphi}$)。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Lemma 3\n", + "\n", + "给定两个正交的态 $|\\psi\\rangle$ 和 $|\\psi^\\bot\\rangle$,如果这两个态在magic基下的表示都是实向量,那么 $\\frac{|\\psi\\rangle \\pm i |\\psi^\\bot\\rangle}{\\sqrt{2}}$ 是可分态。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Proof:**\n", + "\n", + "假设 $|\\psi\\rangle = \\sum_i a_i |m_i\\rangle$,$|\\psi^\\bot\\rangle = \\sum_i b_i |m_i\\rangle$,\n", + "其中 $a_i, b_i \\in \\mathbb{R}$,且 $\\sum_i a_i b_i = 0$,\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "C \\left ( \\frac{|\\psi\\rangle \\pm |\\psi^\\bot\\rangle}{\\sqrt{2}} \\right )\n", + "& = \\left | \\sum_i \\left(\\frac{a_i \\pm i b_i}{\\sqrt{2}}\\right)^2 \\right | \\\\\n", + "& = \\frac{1}{2} \\left | \\sum_i a_i ^2 - b_i^2 \\pm 2a_ib_i i \\right | \\\\\n", + "& = 0\n", + "\\end{align*}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "更进一步,我们记\n", + "$$\n", + "\\begin{align*}\n", + "|\\psi_+\\rangle & \\equiv \\frac{|\\psi\\rangle + i|\\psi^\\bot\\rangle}{\\sqrt{2}} = |A_+\\rangle|B_+\\rangle\\\\\n", + "|\\psi_-\\rangle & \\equiv \\frac{|\\psi\\rangle - i|\\psi^\\bot\\rangle}{\\sqrt{2}} = |A_-\\rangle|B_-\\rangle\n", + "\\end{align*}\n", + "$$\n", + "因为 $\\langle \\psi | \\psi^\\bot \\rangle = 0$,所以 $\\langle \\psi_+ | \\psi_- \\rangle = 0$,因此 $\\langle A_+ | A_- \\rangle \\cdot \\langle B_+ | B_- \\rangle = 0$,下面证明二者都为0.\n", + "\n", + "不妨设 $\\langle A_+| A_-\\rangle = 0$,我们可以用 $|A_+\\rangle|B_+\\rangle$ 和 $|A_-\\rangle|B_-\\rangle$ 来表示 $|\\psi\\rangle$ 和 $|\\psi^\\bot\\rangle$\n", + "$$\n", + "\\begin{align*}\n", + "|\\psi\\rangle & = \\frac{1}{\\sqrt{2}} \\left ( |A_+\\rangle |B_+\\rangle + |A_-\\rangle|B_-\\rangle\\right ) \\\\\n", + "|\\psi^\\bot\\rangle & = \\frac{-i}{\\sqrt{2}} \\left ( |A_+\\rangle |B_+\\rangle - |A_-\\rangle|B_-\\rangle\\right )\n", + "\\end{align*}\n", + "$$\n", + "\n", + "因为 $|\\psi\\rangle$ 是最大纠缠态,所以 $\\rho_B = I / 2$,故 $\\langle B_+ | B_-\\rangle = 0$ 。\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Lemma 4 \n", + "\n", + "对于任意酉矩阵 $U$,存在分解\n", + "$$\n", + "U = O_L D_\\phi O_R\n", + "$$\n", + "其中 $O_L, O_R$ 都是实正交矩阵,$D_\\phi$ 是对角矩阵,对角元都是模长为1的复数 $e^{i\\phi}$。\n", + "\n", + "> 该定理这里不予证明,参考论文 《Tucci, Robert R. 《An Introduction to Cartan’s KAK Decomposition for QC Programmers》. arXiv, 2005年7月18日. http://arxiv.org/abs/quant-ph/0507171. 》\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Proof\n", + "\n", + "下面给出定理的证明。\n", + "\n", + "首先定义 $M$ 矩阵:\n", + "$$\n", + "M \\equiv \\sum_k |m_k\\rangle \\langle k |\n", + "$$\n", + "\n", + "容易发现,对于实向量 $|\\psi_{real}\\rangle \\in \\mathbb{R}^4$ ,作用 $M$ 将得到一个最大纠缠态\n", + "$$\n", + "M |\\psi_{real}\\rangle = \\sum_k a_k |m_k\\rangle \\quad \\text{where } a_i \\in \\mathbb{R}\n", + "$$\n", + "\n", + "对于任意酉矩阵 $U \\in SU(4)$,令 $V \\equiv M^\\dagger U M$,根据 Lemma 4,$V = O_L D_\\phi O_R$,则\n", + "$$\n", + "U = MO_L D_\\phi O_R M^\\dagger\n", + "$$\n", + "\n", + "因为实正交矩阵 $O_L$ 的每一列 $|o_i\\rangle$ 都是实向量,所以\n", + "$$\n", + "M O_L = \\sum_k M |o_i \\rangle \\langle k | = \\sum_k |e_k \\rangle \\langle k |\n", + "$$\n", + "其中 $|e_k\\rangle$ 是最大纠缠态。\n", + "\n", + "根据Lemma 3,$|e_{00}\\rangle$ 和 $|e_{01}\\rangle$ 可以表示成\n", + "$$\n", + "\\begin{align*}\n", + "|e_{00}\\rangle & = \\frac{1}{\\sqrt{2}} \\left ( |A_+\\rangle |B_+\\rangle + |A_-\\rangle |B_-\\rangle \\right ) \\\\\n", + "|e_{01}\\rangle & = \\frac{-i}{\\sqrt{2}} \\left ( |A_+\\rangle |B_+\\rangle - |A_-\\rangle |B_-\\rangle \\right )\n", + "\\end{align*}\n", + "$$\n", + "\n", + "因为 $|e_{10}\\rangle, |e_{11}\\rangle$ 和 $|e_{00}\\rangle, |e_{01}\\rangle$ 正交,所以一定可以被 $|A_+\\rangle |B_-\\rangle, |A_-\\rangle|B_+\\rangle$ 线性表示,又因为是最大纠缠态,所以 $\\rho_A = \\rho_B = I /2$,通过计算可以表示为\n", + "$$\n", + "\\begin{align*}\n", + "|e_{10}\\rangle & = \\frac{e^{i\\lambda_3}}{\\sqrt{2}} \\left ( e^{-i\\delta} |A_+\\rangle |B_-\\rangle + e^{i\\delta} |A_-\\rangle |B_+\\rangle\\right ) \\\\\n", + "|e_{11}\\rangle & = \\frac{e^{i\\lambda_4}}{\\sqrt{2}} \\left ( e^{-i\\delta} |A_+\\rangle |B_-\\rangle - e^{i\\delta} |A_-\\rangle |B_+\\rangle\\right ) \\\\\n", + "\\end{align*}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "令 \n", + "$$\n", + "\\begin{align*}\n", + "A & \\equiv |0 \\rangle \\langle A_+ | + e^{i\\delta} |1 \\rangle \\langle A_- | \\\\\n", + "B & \\equiv |0 \\rangle \\langle B_+ | + e^{-i\\delta} |1 \\rangle \\langle B_- |\n", + "\\end{align*}\n", + "$$\n", + "\n", + "则\n", + "$$\n", + "\\begin{align*}\n", + "A\\otimes B & = |00 \\rangle \\langle A_+ B_+ | \\\\\n", + " & + e^{i\\delta} |01 \\rangle \\langle A_+ B_- | \\\\\n", + " & + e^{-i\\delta} |10 \\rangle \\langle A_- B_+ | \\\\\n", + " & + |11 \\rangle \\langle A_- B_- |\n", + "\\end{align*}\n", + "$$\n", + "\n", + "计算\n", + "$$\n", + "\\begin{align*}\n", + "M O_L & = \\sum_k |e_k \\rangle \\langle k | \\\\\n", + "& = \\frac{1}{\\sqrt{2}} \\left ( |A_+\\rangle |B_+\\rangle + |A_-\\rangle |B_-\\rangle\\right ) \\\\\n", + "& + \\frac{-i}{\\sqrt{2}} \\left ( |A_+\\rangle |B_+\\rangle - |A_-\\rangle |B_-\\rangle\\right ) \\\\\n", + "& + \\frac{e^{i\\lambda_3}}{\\sqrt{2}} \\left ( e^{-i\\delta} |A_+\\rangle |B_-\\rangle + e^{i\\delta} |A_-\\rangle |B_+\\rangle\\right ) \\\\\n", + "& + \\frac{e^{i\\lambda_4}}{\\sqrt{2}} \\left ( e^{-i\\delta} |A_+\\rangle |B_-\\rangle - e^{i\\delta} |A_-\\rangle |B_+\\rangle\\right ) \\\\\n", + "\\end{align*}\n", + "$$\n", + "\n", + "则\n", + "$$\n", + "\\begin{align*}\n", + "(A\\otimes B) M O_L & = \n", + "\\frac{|00\\rangle + |11\\rangle}{\\sqrt{2}} \\langle 00| \\\\\n", + "& + (-i) \\frac{|00\\rangle - |11\\rangle}{\\sqrt{2}} \\langle 01| \\\\\n", + "& + e^{i\\lambda_3} \\frac{|01\\rangle + |10\\rangle}{\\sqrt{2}} \\langle 10| \\\\\n", + "& + e^{i\\lambda_4} \\frac{|01\\rangle - |10\\rangle}{\\sqrt{2}} \\langle 11| \\\\\n", + "& = \\sum_k e^{\\phi_k} |m_k \\rangle \\langle k |\n", + "\\end{align*}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "同理,记\n", + "$$\n", + "\\begin{align*}\n", + "M O_L & = A_L^\\dagger \\otimes B_L^\\dagger \\sum_k e^{i\\phi_k} |m_k \\rangle \\langle k | \\\\\n", + "M O_R^\\dagger & = A_R^\\dagger \\otimes B_R^\\dagger \\sum_k e^{i\\phi'_k} |m_k \\rangle \\langle k |\n", + "\\end{align*}\n", + "$$\n", + "\n", + "则\n", + "$$\n", + "U = MO_L D_\\phi O_R M^\\dagger = A_L^\\dagger \\otimes B_L^\\dagger \\left(\\sum_k e^{i\\varphi_k} |m_k \\rangle \\langle m_k | \\right) A_R \\otimes B_R\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "因为 $|m_k\\rangle$ 是 $XX, YY, ZZ$ 的特征向量,如果忽略全局相位, $U \\in SU(4)$,则 $\\sum_k \\varphi_k = 0$,可以表示为\n", + "$$\n", + "\\sum_k e^{i \\varphi_k} |m_k \\rangle \\langle m_k | = e^{i a XX + b YY + c ZZ}\n", + "$$\n", + "其中 $a, b, c \\in \\mathbb{R}$,可以由 $\\varphi_k$ 解出来。\n", + "\n", + "至此,我们完成了定理的证明。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 习题\n", + "\n", + "## Exercise 1\n", + "\n", + "证明\n", + "$$\n", + "E\\left ( \\prod_{i=1}^n U_i, \\prod_{i=1}^n V_i \\right ) \\leq \\sum_{i=1}^n E(U_i, V_i)\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exercise 2\n", + "\n", + "证明\n", + "\n", + "$$\n", + "E(|\\psi\\rangle) = H\\left ( \\frac{1 + \\sqrt{1 - C^2}}{2}\\right )\n", + "$$" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.9.0 64-bit ('3.9.0')", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.9.0" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "0ed0b97269d4f102e0624f582249018cd3d8c77b83fc4d003b4aaace9dedf79d" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/lecture16.ipynb b/lecture16.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..8112d1f49afd93959cb9fb6a4084bb022c41fd3b --- /dev/null +++ b/lecture16.ipynb @@ -0,0 +1,146 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 通用量子门\n", + "\n", + "在之前的章节中,我们使用单量子比特门的集合。因为一些技术原因,在允许误差的量子计算中,我们想要仅仅使用Hadamard门和T门来代替单量子比特门的集合。\n", + "$$\n", + "H = {1\\over\\sqrt{2}} \\begin{bmatrix} \n", + "1 & 1\\\\\n", + "1 & -1\n", + "\\end{bmatrix} \\quad , \\quad\n", + "T = \\begin{bmatrix}\n", + "1 & 0 \\\\\n", + "0 & e^{i\\pi / 4}\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "> 下面介绍的方法也可以拓展到其他可能的一对量子门。\n", + "\n", + "最终,我们可以使用 H、T和CNOT 来近似模拟任意量子线路,我们称这一组门的集合为通用量子门。\n", + "\n", + "首先,我们要说明如何使用H和T来近似任意单量子门。回忆之前的章节,任意单量子门都可以用一对旋转门来分解(拓展的Z-Y-Z分解):\n", + "$$\n", + "U = e^{i\\alpha} R_n(\\beta_1) R_m(\\gamma_1) R_n(\\beta_2) R_m(\\gamma_2) \\cdots\n", + "$$\n", + "需要的门的数目取决于 $\\vec{n}$ 和 $\\vec{m}$ 之间的夹角。\n", + "\n", + "任意 $2\\times 2$ 的矩阵都可以用 Pauli 基分解:\n", + "$$\n", + "A = a_0 I + a_x X + a_y Y + a_z Z\n", + "$$\n", + "不难写出\n", + "$$\n", + "R_n(\\theta_{unit}) \\propto THTH = \\cos{\\theta_{unit}\\over 2} I - i(\\vec{n}\\cdot \\vec{\\sigma}) \\sin{\\theta_{unit}\\over 2}\n", + "$$\n", + "这确定了 $\\vec{n} = (\\cos{\\pi\\over 8}, \\sin{\\pi\\over 8}, \\cos{\\pi\\over 8})$ (未单位化) 和 $\\theta_{unit}$ 。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "现在我们需要担心能否产生连续的旋转角度。显然如果使用 $(THTH)^k$ 可以产生 $R_n(k \\theta_{unit})$,所以问题是我们能否使用 $R_n(\\theta_{unit})$ 对任意连续值进行逼近?也就是说,对于 $\\forall \\beta \\in [0, 2\\pi)$,找到某个 $k\\in N$,使得下面的关系成立\n", + "$$\n", + "R_n(\\beta) \\approx R_n(k \\theta_{unit}) = R_n(\\theta_{unit})^k = (THTH)^k\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "证明的关键在于,如果 $\\theta_{unit}$ 不是 $2\\pi$ 的有理数倍($\\theta_{unit} / 2\\pi \\notin \\mathbb{Q}$),那么可以保证 $\\forall \\epsilon > 0$,$\\exists k \\in N$,使得\n", + "$$\n", + "E(R_n(\\beta), R_n(k\\theta_{unit})) < \\epsilon\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 圆上的稠密性\n", + "\n", + "### Fact 1\n", + "\n", + "如果 $\\alpha \\in [0, 1)$ 是无理数,那么点集 $n\\alpha \\mod 1$ 全部是不同的。\n", + "\n", + "**Proof:** \n", + "\n", + "假设存在两个点是相同的,即 $n \\alpha - m\\alpha = k$,其中 $k\\in \\mathbb{Z}$。那么我们可以将 $\\alpha$ 写成 $\\alpha = k / (n-m)$,这和 $\\alpha$ 是无理数矛盾。因此点集 $\\lbrace n\\alpha \\mod 1\\rbrace$ 中没有重复元素。\n", + "\n", + "### Fact 2\n", + "\n", + "对于 $\\epsilon > 0$,存在 $N\\in \\mathbb{N}$ 使得 $\\epsilon > 1/N$,现在把 $[0, 1]$ 区间分成 $N$ 份,每份区间长度为 $1/N$,根据抽屉原理(鸽笼原理),考虑 $\\alpha, 2\\alpha, \\ldots, N\\alpha, (N+1)\\alpha$ 模 $1$ 意义下,一定存在 $m\\alpha \\mod 1$ 和 $n\\alpha \\mod 1$ 落在同一个区间,即 $|m-n|\\alpha \\mod 1 < \\epsilon$ 。令 $r \\equiv |n-m|$,注意到 $r\\alpha \\mod 1$ 的倍数形成了单位环上等间距的点集,间距小于 $\\epsilon$ 。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "现在我们可以对角度进行任意逼近,下面说明旋转算子的误差满足:(证明留作习题)\n", + "$$\n", + "E(R_n(\\theta_1), R_n(\\theta_2)) \\leq \\left| e^{i\\theta_1} - e^{i\\theta_2} \\right| \\leq |\\theta_1 - \\theta_2|\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "同理,我们可以定义 $R_m(\\gamma)$\n", + "$$\n", + "R_m(\\gamma) \\equiv HR_n(\\gamma)H = HTHT\n", + "$$\n", + "\n", + "综上所述,我们可以构造\n", + "$$\n", + "E(U, R_n(k_1 \\theta_{unit}) R_m(k_2 \\theta_{unit}) R_n(k_3 \\theta_{unit}) R_m(k_4 \\theta_{unit}) \\cdots) < c\\epsilon\n", + "$$\n", + "其中 $c$ 代表旋转门的数目。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 习题\n", + "\n", + "## Exercise 1\n", + "\n", + "证明:\n", + "$$\n", + "E(R_n(\\theta_1), R_n(\\theta_2)) \\leq \\left| e^{i\\theta_1} - e^{i\\theta_2} \\right| \\leq |\\theta_1 - \\theta_2|\n", + "$$" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.9.0 64-bit ('3.9.0')", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.9.0" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "0ed0b97269d4f102e0624f582249018cd3d8c77b83fc4d003b4aaace9dedf79d" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/solutions/lecture15.ipynb b/solutions/lecture15.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..c088dab78387c53d171c57371a6db02d2c75d322 --- /dev/null +++ b/solutions/lecture15.ipynb @@ -0,0 +1,238 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Exercise 1\n", + "\n", + "证明\n", + "$$\n", + "E\\left ( \\prod_{i=1}^n U_i, \\prod_{i=1}^n V_i \\right ) \\leq \\sum_{i=1}^n E(U_i, V_i)\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Proof**\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "E\\left ( \\prod_{i=1}^n U_i, \\prod_{i=1}^n V_i \\right ) \n", + "& = E \\left ( U_1 \\prod_{i=2}^n U_i, V_1 \\prod_{i=2}^n V_i \\right ) \\\\\n", + "& \\leq E(U_1, V_1) + E\\left ( \\prod_{i=2}^n U_i, \\prod_{i=2}^n V_i \\right ) \\\\\n", + "& \\vdots \\\\\n", + "& \\leq \\sum_{i=1}^n E(U_i, V_i)\n", + "\\end{align*}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Exercise 2\n", + "\n", + "证明\n", + "\n", + "$$\n", + "E(|\\psi\\rangle) = H\\left ( \\frac{1 + \\sqrt{1 - C^2}}{2}\\right )\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Proof**\n", + "\n", + "设 $|\\psi\\rangle$ 的Schmidt分解为\n", + "$$|\\psi\\rangle = \\sum_k \\sqrt{p_k} |i^A_k\\rangle |i^B_k\\rangle$$\n", + "\n", + "则\n", + "$$\n", + "\\begin{align*}\n", + "\\rho_A & = \\sum_k p_k |i^A_k \\rangle \\langle i^A_k | \\\\\n", + "\\rho_B & = \\sum_k p_k |i^B_k \\rangle \\langle i^B_k |\n", + "\\end{align*}\n", + "$$\n", + "\n", + "因此纠缠熵计算结果为\n", + "$$\n", + "E = -p_1 \\log_2 p_1 - p_2 \\log_2 p_2\n", + "$$\n", + "其中 $p_1, p_2$ 是 $\\rho_A, \\rho_B$ 的两个特征值。\n", + "\n", + "对比等式右边\n", + "$$\n", + "\\begin{align*}\n", + "H\\left ( \\frac{1 + \\sqrt{1 - C^2}}{2}\\right )\n", + "& = - \\frac{1 + \\sqrt{1 - C^2}}{2} \\log_2 \\frac{1 + \\sqrt{1 - C^2}}{2} - \\frac{1 - \\sqrt{1 - C^2}}{2} \\log_2 \\frac{1 - \\sqrt{1 - C^2}}{2} \\\\\n", + "\\end{align*}\n", + "$$\n", + "只需要证明 $\\frac{1 \\pm \\sqrt{1 - C^2}}{2}$ 是$\\rho_A, \\rho_B$ 的两个特征值。\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们将 $|\\psi\\rangle$ 用Bell基表示:\n", + "$$\n", + "|\\psi\\rangle = \\sum_{xy} \\beta_{xy} |\\beta_{xy}\\rangle = \\sum_{xy} \\beta_{xy} \\frac{|0, x\\rangle + (-1)^y |1, \\bar{x}\\rangle}{\\sqrt{2}}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "计算密度矩阵\n", + "$$ \n", + "\\rho = \\sum_{x,y,a,b} \\frac{\\beta_{xy} \\beta_{ab}^\\star }{2} \n", + "\\left(\n", + "|0, x \\rangle \\langle 0, a | + \n", + "(-1)^b |0, x \\rangle \\langle 1, \\bar{a} | + \n", + "(-1)^y |1, \\bar{x} \\rangle \\langle 0, a | + \n", + "(-1)^{y+b} |1, \\bar{x} \\rangle \\langle 1, \\bar{a} | \n", + "\\right)\n", + "$$\n", + "\n", + "则\n", + "$$\n", + "\\rho_B = \\sum_{x,y,a,b} \\frac{\\beta_{xy} \\beta_{ab}^\\star }{2} \n", + "\\big( |x \\rangle \\langle a | + (-1)^{y+b} |\\bar{x} \\rangle \\langle \\bar{a} | \\big) \n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "考虑计算第一部分\n", + "\n", + "$$\n", + "\\begin{aligned}\n", + "P_1 & = \\sum_{x,y,a,b} \\frac{\\beta_{xy} \\beta_{ab}^\\star }{2} |x \\rangle \\langle a | \\\\ \n", + "& = \\sum_{x,a} |x \\rangle \\langle a | \\sum_y \\frac{\\beta_{xy}}{2} \\left ( \\beta_{aa}^\\star + \\beta_{a \\bar{a}}^\\star \\right ) \\\\ \n", + "& = \\sum_{x,a} |x \\rangle \\langle a | \\frac{\\beta_{xx} + \\beta_{x \\bar{x}}}{\\sqrt{2}} \\left(\\frac{\\beta_{aa} + \\beta_{a\\bar{a}}}{\\sqrt{2}} \\right)^* \\\\ \n", + "& = \\sum_{x,a} |x \\rangle \\langle a | A_x \\cdot A_a^\\star \\\\ \n", + "\\end{aligned}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "同理可以计算出来第二部分\n", + "$$\n", + "P_2 = \\sum_{x,a} |x \\rangle \\langle a | (-1)^{x+a} B_{\\bar{x}} \\cdot B_{\\bar{a}}^\\star\n", + "$$\n", + "\n", + "其中\n", + "$$\n", + "\\begin{aligned}\n", + "A_x & \\equiv \\frac{\\beta_{xx} + \\beta_{x, \\bar{x}}}{\\sqrt{2}} \\\\\n", + "B_x & \\equiv \\frac{\\beta_{xx} - \\beta_{x, \\bar{x}}}{\\sqrt{2}}\n", + "\\end{aligned}\n", + "$$\n", + "\n", + "因此\n", + "$$\n", + "\\begin{aligned} \n", + "\\rho_B & = \\sum_{x,a} |x \\rangle \\langle a | \\left( A_x \\cdot A_{a}^\\star + (-1)^{x+a} B_{\\bar{x}} \\cdot B_{\\bar{a}}^\\star \\right) \\\\ \n", + "& = \\begin{bmatrix} \n", + "A_0 A_0^\\star + B_1 B_1^\\star & A_0 A_1^\\star - B_1 B_0^\\star \\\\ \n", + "A_1 A_0^\\star - B_0 B_1^\\star & A_1 A_1^\\star + B_0 B_0^\\star \n", + "\\end{bmatrix} \\\\ \n", + "& = \\begin{bmatrix} A & B \\\\ C & D \\end{bmatrix} \n", + "\\end{aligned} \n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "计算 $\\rho_B$ 的行列式\n", + "$$\\begin{aligned} \n", + "\\det \\rho_B & = AD - BC \\\\ \n", + "& = |A_0 B_0|^2 + |A_1 B_1|^2 + 2 \\Re(A_0 B_0 A_1^\\star B_1^\\star) \\\\ \n", + "& = |A_0 B_0 + A_1 B_1|^2 \\\\ \n", + "& = \\frac{1}{4} |\\beta_{00}^2 - \\beta_{01}^2 - \\beta_{10}^2 + \\beta_{11}^2|^2 \n", + "\\end{aligned}$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "计算 $\\rho_B$ 的特征方程:\n", + "$$\n", + "\\begin{align*}\n", + "0 & = \\det (\\rho_B - \\lambda I) \\\\\n", + "& = (A - \\lambda)(D - \\lambda) - BC \\\\\n", + "& = \\lambda^2 - tr(\\rho_B) \\lambda + \\det \\rho_B\n", + "\\end{align*}\n", + "$$\n", + "\n", + "方程的解为\n", + "$$\n", + "\\lambda_{1,2} = \\frac{1 \\pm \\sqrt{1 - 4\\det \\rho_B}}{2}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "最后,我们把Bell基换成magic基就行了\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "|\\psi\\rangle \n", + "& = \\beta_{00} \\frac{|00\\rangle + |11\\rangle}{\\sqrt{2}} \\quad & = \\alpha_{00} \\frac{|00\\rangle + |11\\rangle}{\\sqrt{2}} \\\\\n", + "& + \\beta_{01} \\frac{|00\\rangle - |11\\rangle}{\\sqrt{2}} \\quad & + i\\alpha_{01} \\frac{|00\\rangle - |11\\rangle}{\\sqrt{2}} \\\\\n", + "& + \\beta_{10} \\frac{|01\\rangle + |10\\rangle}{\\sqrt{2}} \\quad & + i\\alpha_{10} \\frac{|01\\rangle + |10\\rangle}{\\sqrt{2}} \\\\\n", + "& + \\beta_{11} \\frac{|01\\rangle - |10\\rangle}{\\sqrt{2}} \\quad & + \\alpha_{11} \\frac{|01\\rangle - |10\\rangle}{\\sqrt{2}} \\\\\n", + "\\end{align*}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "因此\n", + "$$\n", + "\\det \\rho_B = \\frac{1}{4} \\left|\\sum_k \\alpha_k^2 \\right|^2 = \\frac{1}{4} C^2\n", + "$$\n", + "\n", + "证毕。" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.9.0 64-bit ('3.9.0')", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.9.0" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "0ed0b97269d4f102e0624f582249018cd3d8c77b83fc4d003b4aaace9dedf79d" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/solutions/lecture16.ipynb b/solutions/lecture16.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..ccbd65894cd9403fde5c0f7a514b3c13d5eea4de --- /dev/null +++ b/solutions/lecture16.ipynb @@ -0,0 +1,81 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Exercise 1\n", + "\n", + "证明:\n", + "$$\n", + "E(R_n(\\theta_1), R_n(\\theta_2)) \\leq \\left| e^{i\\theta_1} - e^{i\\theta_2} \\right| \\leq |\\theta_1 - \\theta_2|\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Proof:**\n", + "\n", + "我们知道对于任意旋转矩阵 $R_n(\\theta)$,一定可以写作\n", + "$$\n", + "R_n(\\theta) = |+\\rangle \\langle + | + e^{i\\theta} |-\\rangle \\langle -|\n", + "$$\n", + "其中 $|+\\rangle, |-\\rangle$ 分别表示两个特征向量,也是 $\\vec{n}$ 穿过Bloch球面上的两点。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "那么 \n", + "$$\n", + "\\begin{align*}\n", + "& \\left(R_n(\\theta_1) - R_n(\\theta_2)\\right) |\\psi\\rangle \\\\\n", + "= & (e^{i\\theta_1} - e^{i\\theta_2}) |-\\rangle \\langle -| (\\alpha|+\\rangle + \\beta |-\\rangle) \\\\\n", + "= & (e^{i\\theta_1} - e^{i\\theta_2}) \\beta |-\\rangle\n", + "\\end{align*}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "计算 $E$\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "& E(R_n(\\theta_1), R_n(\\theta_2)) \\\\\n", + "= & \\max_{|\\psi\\rangle} \\left\\Vert \\left( R_n(\\theta_1) - R_n(\\theta_2) \\right) |\\psi\\rangle \\right\\Vert \\\\\n", + "= & \\max_{|\\psi\\rangle} \\left\\Vert \\beta (e^{i\\theta_1} - e^{i\\theta_2}) |-\\rangle \\right\\Vert \\\\\n", + "= & \\left| e^{i\\theta_1} - e^{i\\theta_2} \\right| \\\\\n", + "= & |e^{i\\theta_1}| \\cdot |1 - e^{\\theta_2 - \\theta_1}| \\\\\n", + "= & 2 \\sin{|\\theta_2 - \\theta_1| \\over 2} \\\\\n", + "\\leq & |\\theta_2 - \\theta_1|\n", + "\\end{align*}\n", + "$$" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.9.0 64-bit ('3.9.0')", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.9.0" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "0ed0b97269d4f102e0624f582249018cd3d8c77b83fc4d003b4aaace9dedf79d" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}