{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 在 Paddle Quantum 中模拟含噪量子电路\n",
"\n",
" Copyright (c) 2021 Institute for Quantum Computing, Baidu Inc. All Rights Reserved. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 噪声简介\n",
"\n",
"在理想模型中,我们通常假设量子电路是在一个**封闭系统**中执行的。然而在真实的量子设备中,系统会通过和环境的相互作用产生**非相干噪声(incoherent noise)**。在近期的量子设备上,噪声的影响是难以忽略的。因此,如何设计在噪声影响下依然鲁棒(robust)的量子算法对于量子计算的实用化来说是至关重要的。利用 Paddle Quantum 中的噪声模块,我们现在可以在设计并模拟量子算法的同时研究噪声对其的影响,从而进一步的探索对应的错误缓释(error mitigation)方案。\n",
"\n",
"## Paddle Quantum 中的噪声建模\n",
"\n",
"### 噪声模型与量子信道\n",
"\n",
"对于一个封闭的量子系统,其演化总是幺正(unitary)的。数学上,我们通常用酉变换的语言来描述一个参数化量子电路 $U(\\vec{\\theta})$ 的作用, \n",
"\n",
"$$\n",
"\\rho \\longrightarrow U(\\vec{\\theta}) \\rho U^\\dagger(\\vec{\\theta}),\n",
"\\tag{1}\n",
"$$\n",
"\n",
"其中 $\\rho$ 表示初始量子态, $\\vec{\\theta}$ 表示电路的参数向量。那么最简单的一类噪声模型,是我们在控制量子系统执行具体逻辑门的时候参数的噪声化,\n",
"\n",
"$$\n",
"\\rho \\longrightarrow U(\\vec{\\theta}+\\vec{\\epsilon}) \\rho U^\\dagger(\\vec{\\theta}+\\vec{\\epsilon}),\n",
"\\tag{2}\n",
"$$\n",
"\n",
"其中 $\\vec{\\epsilon}$ 可以是从高斯分布中采样出的白噪声。这样的噪声被称为**相干噪声(coherent noise)**,通常是由于硬件系统没有校准或者量子控制层面的误差。在某些特定情况下,相干噪声会比非相干噪声更具有破坏性 [1]。此外,值得注意的是相干噪声的建模也是用酉变换的语言 $U(\\vec{\\epsilon})$ 来描述的。\n",
"\n",
"相比于相干噪声,人们更为关注的问题是**开放系统**中的产生的非相干噪声,这样一个系统的演化往往是非幺正(non-unitary)的。这种情况下,我们需要通过一个更广义的映射来描述系统的演化,即 $\\rho \\longrightarrow \\mathcal{E}(\\rho)$,这种映射也被称之为一个**量子信道(quantum channel)**。为了方便讨论,我们这里采用 *operator-sum representation* [2] 将一个量子信道表示为\n",
"\n",
"$$\n",
"\\mathcal{E}(\\rho) = \\sum_{k=0}^{m-1} E_k \\rho E_k^{\\dagger},\n",
"\\tag{3}\n",
"$$\n",
"\n",
"其中 $\\{E_k\\}$ 被称为 *Kraus* 算符,同时还满足完备性条件 $\\sum_k E_k^\\dagger E_k = I$。注意到,量子信道数学上是 completely positive 和 trace-preserving 的。\n",
"\n",
"\n",
"利用这种表示方法,我们可以直观的理解非相干噪声是如何影响量子态的:对于一个一开始处于纯态 $\\rho = |\\psi\\rangle\\langle \\psi|$ 的量子系统,经过一个噪声量子信道(例如 $m = 2$ )时,我们将得到一个混态 $\\mathcal{E}(\\rho) = E_0 \\rho E_0^\\dagger + E_1 \\rho E_1^\\dagger$。以简单的单个量子比特上的比特反转(bit flip)噪声为例,其表达形式为\n",
"\n",
"$$\n",
"\\mathcal{E}_{BF}(\\rho) = (1 - p) I \\rho I+ p X \\rho X,\n",
"\\tag{4}\n",
"$$\n",
"\n",
"其中 $X,I$ 是泡利矩阵。 对应的 *Kruas* 算符为:\n",
"\n",
"$$\n",
"E_0 = \\sqrt{1-p}\n",
"\\begin{bmatrix}\n",
"1 &0 \\\\\n",
"0& 1 \n",
"\\end{bmatrix},\n",
"E_1 = \\sqrt{p}\n",
"\\begin{bmatrix}\n",
"0& 1 \\\\\n",
"1&0\n",
"\\end{bmatrix}.\n",
"\\tag{5}\n",
"$$\n",
"\n",
"该信道的物理含义可以理解为存在 $p$ 的概率将 $|0\\rangle$ 态反转到 $|1\\rangle$ 态上,反之亦然。在 Paddle Quantum 中,可以通过 `UAnsatz.bit_flip(p, which_qubit)` 来添加该信道,其中 `p` 代表噪声大小。\n",
"\n",
"**注释:** 对于一个量子信道,其 *Kraus* 算符表示未必是唯一的 [3]。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Paddle Quantum 中添加信道的方式\n",
"\n",
"接下来我们以比特反转信道为例,展示如何用 Paddle Quantum 中的噪声模块来实现对噪声的模拟。首先,将一个量子比特初始化为 $|0\\rangle$ 态。"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"ExecuteTime": {
"end_time": "2021-04-08T05:16:08.247239Z",
"start_time": "2021-04-08T05:16:08.036136Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"